[v2,2/2] arm64: dts: qcom: qcm6490-idp: add display and panel
Commit Message
Enable Display Subsystem with Novatek NT36672E Panel
on qcm6490 idp platform.
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
---
v2: Fixed review comments from Dmitry and Konrad
- moved pinctrl-names after pinctrl-0 property.
- removed gpu disablement change after validating gpu.
Rebased the patch
- rebased the patch to resolve conflicts.
---
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 92 ++++++++++++++++++++++++
1 file changed, 92 insertions(+)
Comments
On Tue, 13 Feb 2024 at 12:48, Ritesh Kumar <quic_riteshk@quicinc.com> wrote:
>
> Enable Display Subsystem with Novatek NT36672E Panel
> on qcm6490 idp platform.
>
> Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
>
> ---
> v2: Fixed review comments from Dmitry and Konrad
> - moved pinctrl-names after pinctrl-0 property.
> - removed gpu disablement change after validating gpu.
> Rebased the patch
> - rebased the patch to resolve conflicts.
> ---
> arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 92 ++++++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> index 502a5a383bde..0054b2a8d6c7 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> @@ -10,6 +10,7 @@
> #define PM7250B_SID1 9
>
> #include <dt-bindings/leds/common.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> #include "sc7280.dtsi"
> #include "pm7250b.dtsi"
> @@ -39,6 +40,25 @@
> stdout-path = "serial0:115200n8";
> };
>
> + lcd_disp_bias: lcd-disp-bias-regulator {
regualtor-lcd-disp-bias, please. This will allow grouping regulators together.
> + compatible = "regulator-fixed";
> + regulator-name = "lcd_disp_bias";
> + regulator-min-microvolt = <5500000>;
> + regulator-max-microvolt = <5500000>;
> + gpio = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + pinctrl-0 = <&lcd_disp_bias_en>;
> + pinctrl-names = "default";
> + };
> +
> + pm8350c_pwm_backlight: backlight {
This node isn't in the sort order.
> + compatible = "pwm-backlight";
> + pwms = <&pm8350c_pwm 3 65535>;
> + enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
> + pinctrl-0 = <&pmic_lcd_bl_en>;
> + pinctrl-names = "default";
> + };
> +
> reserved-memory {
> xbl_mem: xbl@80700000 {
> reg = <0x0 0x80700000 0x0 0x100000>;
> @@ -421,7 +441,79 @@
> };
> };
>
> +&mdss {
> + status = "okay";
> +};
> +
> +&mdss_dsi {
> + vdda-supply = <&vreg_l6b_1p2>;
> + status = "okay";
> +
> + panel@0 {
> + compatible = "novatek,nt36672e";
> + reg = <0>;
> +
> + reset-gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
> +
> + vddi-supply = <&vreg_l8c_1p62>;
> + avdd-supply = <&lcd_disp_bias>;
> + avee-supply = <&lcd_disp_bias>;
> +
> + backlight = <&pm8350c_pwm_backlight>;
> +
> + port {
> + panel0_in: endpoint {
> + remote-endpoint = <&mdss_dsi0_out>;
> + };
> + };
> + };
> +};
> +
> +&mdss_dsi0_out {
> + remote-endpoint = <&panel0_in>;
> + data-lanes = <0 1 2 3>;
> +};
> +
> +&mdss_dsi_phy {
> + vdds-supply = <&vreg_l10c_0p88>;
> + status = "okay";
> +};
> +
> +&pm7250b_gpios {
> + lcd_disp_bias_en: lcd-disp-bias-en-state {
> + pins = "gpio2";
> + function = "func1";
> + bias-disable;
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + input-disable;
> + output-enable;
> + power-source = <0>;
> + };
> +};
> +
> +&pm8350c_gpios {
> + pmic_lcd_bl_en: pmic-lcd-bl-en-state {
> + pins = "gpio7";
> + function = "normal";
> + bias-disable;
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + output-low;
> + power-source = <0>;
> + };
> +
> + pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
> + pins = "gpio8";
> + function = "func1";
> + bias-disable;
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + output-low;
> + power-source = <0>;
> + };
> +};
> +
> &pm8350c_pwm {
> + pinctrl-0 = <&pmic_lcd_bl_pwm>;
> + pinctrl-names = "default";
> status = "okay";
>
> multi-led {
> --
> 2.17.1
>
@@ -10,6 +10,7 @@
#define PM7250B_SID1 9
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7280.dtsi"
#include "pm7250b.dtsi"
@@ -39,6 +40,25 @@
stdout-path = "serial0:115200n8";
};
+ lcd_disp_bias: lcd-disp-bias-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "lcd_disp_bias";
+ regulator-min-microvolt = <5500000>;
+ regulator-max-microvolt = <5500000>;
+ gpio = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ pinctrl-0 = <&lcd_disp_bias_en>;
+ pinctrl-names = "default";
+ };
+
+ pm8350c_pwm_backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pm8350c_pwm 3 65535>;
+ enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&pmic_lcd_bl_en>;
+ pinctrl-names = "default";
+ };
+
reserved-memory {
xbl_mem: xbl@80700000 {
reg = <0x0 0x80700000 0x0 0x100000>;
@@ -421,7 +441,79 @@
};
};
+&mdss {
+ status = "okay";
+};
+
+&mdss_dsi {
+ vdda-supply = <&vreg_l6b_1p2>;
+ status = "okay";
+
+ panel@0 {
+ compatible = "novatek,nt36672e";
+ reg = <0>;
+
+ reset-gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
+
+ vddi-supply = <&vreg_l8c_1p62>;
+ avdd-supply = <&lcd_disp_bias>;
+ avee-supply = <&lcd_disp_bias>;
+
+ backlight = <&pm8350c_pwm_backlight>;
+
+ port {
+ panel0_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&panel0_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&mdss_dsi_phy {
+ vdds-supply = <&vreg_l10c_0p88>;
+ status = "okay";
+};
+
+&pm7250b_gpios {
+ lcd_disp_bias_en: lcd-disp-bias-en-state {
+ pins = "gpio2";
+ function = "func1";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ input-disable;
+ output-enable;
+ power-source = <0>;
+ };
+};
+
+&pm8350c_gpios {
+ pmic_lcd_bl_en: pmic-lcd-bl-en-state {
+ pins = "gpio7";
+ function = "normal";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ output-low;
+ power-source = <0>;
+ };
+
+ pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
+ pins = "gpio8";
+ function = "func1";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ output-low;
+ power-source = <0>;
+ };
+};
+
&pm8350c_pwm {
+ pinctrl-0 = <&pmic_lcd_bl_pwm>;
+ pinctrl-names = "default";
status = "okay";
multi-led {