2024-02-13 10:48:48

by Ritesh Kumar

[permalink] [raw]
Subject: [PATCH v2 0/2] add display and panel on qcm6490 idp

Build the Novatek NT36672E DSI Panel driver as module and enable
display subsystem on Qualcomm qcm6490 idp board.

---
This series depends on following series:
1. https://lore.kernel.org/all/[email protected]/
(arm64: dts: qcom: qcm6490-idp: Add support for PM7250B PMIC)
2. https://lore.kernel.org/all/[email protected]/
(Add support for Novatek NT36672E LCD DSI panel)
3. https://lore.kernel.org/all/[email protected]/t/#u
(drm/panel: novatek-nt36672e: Include <linux/of.h>)

v2: Fixed review comments from Dmitry and Konrad
- moved pinctrl-names after pinctrl-0 property.
- removed gpu disablement change after validating gpu.
- updated commit text.
Rebased the patch
- rebased the patch to resolve conflicts.
---

Ritesh Kumar (2):
arm64: defconfig: enable Novatek NT36672E DSI Panel driver
arm64: dts: qcom: qcm6490-idp: add display and panel

arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 92 ++++++++++++++++++++++++
arch/arm64/configs/defconfig | 1 +
2 files changed, 93 insertions(+)

--
2.17.1



2024-02-13 10:48:54

by Ritesh Kumar

[permalink] [raw]
Subject: [PATCH v2 1/2] arm64: defconfig: enable Novatek NT36672E DSI Panel driver

Build the Novatek NT36672E DSI Panel driver as module
because it is used on Qualcomm qcm6490 idp board.

Signed-off-by: Ritesh Kumar <[email protected]>

---
v2: Fixed review comment from Dmitry
- updated commit text.
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index f44b3abf3cef..9bd5bfe386fa 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -862,6 +862,7 @@ CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_EDP=m
CONFIG_DRM_PANEL_ILITEK_ILI9882T=m
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
+CONFIG_DRM_PANEL_NOVATEK_NT36672E=m
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
CONFIG_DRM_PANEL_SITRONIX_ST7703=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
--
2.17.1


2024-02-13 10:49:05

by Ritesh Kumar

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64: dts: qcom: qcm6490-idp: add display and panel

Enable Display Subsystem with Novatek NT36672E Panel
on qcm6490 idp platform.

Signed-off-by: Ritesh Kumar <[email protected]>

---
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 {
+ 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 {
--
2.17.1


2024-02-13 10:54:21

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: qcom: qcm6490-idp: add display and panel

On Tue, 13 Feb 2024 at 12:48, Ritesh Kumar <[email protected]> wrote:
>
> Enable Display Subsystem with Novatek NT36672E Panel
> on qcm6490 idp platform.
>
> Signed-off-by: Ritesh Kumar <[email protected]>
>
> ---
> 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
>


--
With best wishes
Dmitry

2024-02-13 10:54:47

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] arm64: defconfig: enable Novatek NT36672E DSI Panel driver

On Tue, 13 Feb 2024 at 12:48, Ritesh Kumar <[email protected]> wrote:
>
> Build the Novatek NT36672E DSI Panel driver as module
> because it is used on Qualcomm qcm6490 idp board.
>
> Signed-off-by: Ritesh Kumar <[email protected]>

Reviewed-by: Dmitry Baryshkov <[email protected]>

>
> ---
> v2: Fixed review comment from Dmitry
> - updated commit text.
> ---
> arch/arm64/configs/defconfig | 1 +
> 1 file changed, 1 insertion(+)


--
With best wishes
Dmitry