diff --git a/recipes-kernel/linux/linux-yocto/bsp/qcom-armv8a/qcom-extra.cfg b/recipes-kernel/linux/linux-yocto/bsp/qcom-armv8a/qcom-extra.cfg index 10a8e8613..37d58494c 100644 --- a/recipes-kernel/linux/linux-yocto/bsp/qcom-armv8a/qcom-extra.cfg +++ b/recipes-kernel/linux/linux-yocto/bsp/qcom-armv8a/qcom-extra.cfg @@ -29,5 +29,5 @@ CONFIG_ATL1C=m CONFIG_CAN=m CONFIG_CAN_MCP251XFD=m -CONFIG_BACKLIGHT_PWM=m -CONFIG_DRM_PANEL_NOVATEK_NT36672E=m +CONFIG_BACKLIGHT_PWM=y +CONFIG_DRM_PANEL_NOVATEK_NT36672E=y diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-DENIED-arm64-dts-qcom-qcm6490-idp-disable-gpu.patch b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-DENIED-arm64-dts-qcom-qcm6490-idp-disable-gpu.patch new file mode 100644 index 000000000..7ce64719a --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-DENIED-arm64-dts-qcom-qcm6490-idp-disable-gpu.patch @@ -0,0 +1,32 @@ +From fe56e57b5ef4b50e75613e553e2f7609aa1ef1db Mon Sep 17 00:00:00 2001 +From: Vinod Polimera +Date: Fri, 10 May 2024 11:41:59 +0530 +Subject: [PATCH] DENIED: arm64: dts: qcom: qcm6490-idp: disable gpu + +Disable GPU to avoid adreno errors during display commit as there is +no plan to enable GPU rendering in near future on QCM6490 IDP board. + +Signed-off-by: Srihitha Tangudu +Upstream-Status: Denied [https://lore.kernel.org/all/99a9a562-9f6f-411c-be1c-0a28fc2524dd@quicinc.com/] +--- + arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +index 62cdee7a8156..4b898b441a0b 100644 +--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts ++++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +@@ -438,6 +438,10 @@ vreg_bob_3p296: bob { + }; + }; + ++&gpu { ++ status = "disabled"; ++}; ++ + &mdss { + status = "okay"; + }; +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-pm7250b-make-SID-configurabl.patch b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-pm7250b-make-SID-configurabl.patch new file mode 100644 index 000000000..5a252b6c6 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-pm7250b-make-SID-configurabl.patch @@ -0,0 +1,92 @@ +From ca745a15e3fff7a233bc80564188747d259c8976 Mon Sep 17 00:00:00 2001 +From: Luca Weiss +Date: Tue, 19 Sep 2023 14:45:57 +0200 +Subject: [PATCH 1/3] UPSTREAM: arm64: dts: qcom: pm7250b: make SID + configurable + +Like other Qualcomm PMICs the PM7250B can be used on different addresses +on the SPMI bus. Use similar defines like the PMK8350 to make this +possible but skip the ifndef based on maintainer feedback. + +Signed-off-by: Luca Weiss +Reviewed-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20230919-fp5-initial-v2-3-14bb7cedadf5@fairphone.com +Signed-off-by: Bjorn Andersson +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8e2d56f64572e0432c355093a7601bde29677490] +--- + arch/arm64/boot/dts/qcom/pm7250b.dtsi | 14 +++++++------- + arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 4 ++++ + 2 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi +index e8540c36bd99..df0afe82f250 100644 +--- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi ++++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi +@@ -39,16 +39,16 @@ trip2 { + }; + + &spmi_bus { +- pmic@2 { ++ pmic@PM7250B_SID { + compatible = "qcom,pm7250b", "qcom,spmi-pmic"; +- reg = <0x2 SPMI_USID>; ++ reg = ; + #address-cells = <1>; + #size-cells = <0>; + + pm7250b_temp: temp-alarm@2400 { + compatible = "qcom,spmi-temp-alarm"; + reg = <0x2400>; +- interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; ++ interrupts = ; + io-channels = <&pm7250b_adc ADC5_DIE_TEMP>; + io-channel-names = "thermal"; + #thermal-sensor-cells = <0>; +@@ -60,7 +60,7 @@ pm7250b_adc: adc@3100 { + #address-cells = <1>; + #size-cells = <0>; + #io-channel-cells = <1>; +- interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>; ++ interrupts = ; + + channel@0 { + reg = ; +@@ -141,7 +141,7 @@ channel@99 { + pm7250b_adc_tm: adc-tm@3500 { + compatible = "qcom,spmi-adc-tm5"; + reg = <0x3500>; +- interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>; ++ interrupts = ; + #thermal-sensor-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; +@@ -159,9 +159,9 @@ pm7250b_gpios: pinctrl@c000 { + }; + }; + +- pmic@3 { ++ pmic@PM7250B_SID1 { + compatible = "qcom,pm7250b", "qcom,spmi-pmic"; +- reg = <0x3 SPMI_USID>; ++ reg = ; + #address-cells = <1>; + #size-cells = <0>; + }; +diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +index 136e273d09a7..943d5a150b64 100644 +--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts ++++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +@@ -5,6 +5,10 @@ + + /dts-v1/; + ++/* PM7250B is configured to use SID2/3 */ ++#define PM7250B_SID 2 ++#define PM7250B_SID1 3 ++ + /* PMK8350 (in reality a PMK8003) is configured to use SID6 instead of 0 */ + #define PMK8350_SID 6 + +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-qcm6490-idp-add-display-and-.patch b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-qcm6490-idp-add-display-and-.patch new file mode 100644 index 000000000..91f7b8976 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0001-UPSTREAM-arm64-dts-qcom-qcm6490-idp-add-display-and-.patch @@ -0,0 +1,143 @@ +From 97e813b982bd7a1ea716e4846befe7e6b14e77f3 Mon Sep 17 00:00:00 2001 +From: Ritesh Kumar +Date: Thu, 15 Feb 2024 16:09:29 +0530 +Subject: [PATCH] UPSTREAM: 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 +Reviewed-by: Dmitry Baryshkov +Link: https://lore.kernel.org/r/20240215103929.19357-3-quic_riteshk@quicinc.com +Signed-off-by: Bjorn Andersson +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 629c635eafbaf18260c8083360745c71674640d2] +--- + 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 976923610958..62cdee7a8156 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 ++#include + #include + #include "sc7280.dtsi" + #include "pm7250b.dtsi" +@@ -32,10 +33,29 @@ aliases { + serial0 = &uart5; + }; + ++ 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"; ++ }; ++ + chosen { + stdout-path = "serial0:115200n8"; + }; + ++ lcd_disp_bias: regulator-lcd-disp-bias { ++ 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"; ++ }; ++ + reserved-memory { + xbl_mem: xbl@80700000 { + reg = <0x0 0x80700000 0x0 0x100000>; +@@ -418,7 +438,79 @@ vreg_bob_3p296: bob { + }; + }; + ++&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 = ; ++ 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 = ; ++ output-low; ++ power-source = <0>; ++ }; ++ ++ pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state { ++ pins = "gpio8"; ++ function = "func1"; ++ bias-disable; ++ qcom,drive-strength = ; ++ output-low; ++ power-source = <0>; ++ }; ++}; ++ + &pm8350c_pwm { ++ pinctrl-0 = <&pmic_lcd_bl_pwm>; ++ pinctrl-names = "default"; + status = "okay"; + + multi-led { +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0002-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Add-definition-f.patch b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0002-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Add-definition-f.patch new file mode 100644 index 000000000..ecaf817fe --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0002-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Add-definition-f.patch @@ -0,0 +1,67 @@ +From 2f80a8fb7ca208335eb6af65df03af37200866d1 Mon Sep 17 00:00:00 2001 +From: Hui Liu +Date: Fri, 26 Jan 2024 10:56:52 +0800 +Subject: [PATCH 2/3] UPSTREAM: arm64: dts: qcom: qcm6490-idp: Add definition + for three LEDs + +Add definition for three LEDs to make sure they can +be enabled base on QCOM LPG LED driver. + +Signed-off-by: Hui Liu +Reviewed-by: Dmitry Baryshkov +Link: https://lore.kernel.org/r/20240126-lpg-v6-1-f879cecbce69@quicinc.com +Signed-off-by: Bjorn Andersson +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8385383cc2c2f7039ecc57864043112cdc7026c7] +--- + arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 28 ++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +index 7d13945ce4a3..67c8215af285 100644 +--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts ++++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +@@ -5,6 +5,7 @@ + + /dts-v1/; + ++#include + #include + #include "sc7280.dtsi" + #include "pm7325.dtsi" +@@ -412,6 +413,33 @@ vreg_bob_3p296: bob { + }; + }; + ++&pm8350c_pwm { ++ status = "okay"; ++ ++ multi-led { ++ color = ; ++ function = LED_FUNCTION_STATUS; ++ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ led@1 { ++ reg = <1>; ++ color = ; ++ }; ++ ++ led@2 { ++ reg = <2>; ++ color = ; ++ }; ++ ++ led@3 { ++ reg = <3>; ++ color = ; ++ }; ++ }; ++}; ++ + &qupv3_id_0 { + status = "okay"; + }; +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0003-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Include-PM7250B.patch b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0003-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Include-PM7250B.patch new file mode 100644 index 000000000..8409d7393 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-board-dts/0003-UPSTREAM-arm64-dts-qcom-qcm6490-idp-Include-PM7250B.patch @@ -0,0 +1,38 @@ +From e6e1fb2661b989451293f4365b1d6ccb8cd74280 Mon Sep 17 00:00:00 2001 +From: Umang Chheda +Date: Thu, 25 Jan 2024 17:23:00 +0530 +Subject: [PATCH 3/3] UPSTREAM: arm64: dts: qcom: qcm6490-idp: Include PM7250B + +Include PM7250B PMIC for qcm6490-idp. + +Signed-off-by: Umang Chheda +Reviewed-by: Konrad Dybcio +Link: https://lore.kernel.org/r/20240125115300.3496783-1-quic_uchheda@quicinc.com +Signed-off-by: Bjorn Andersson +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d967cc9cf37ea2a6c7cdb9779113f10d2910bb4c] +--- + arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +index 67c8215af285..976923610958 100644 +--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts ++++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +@@ -5,9 +5,14 @@ + + /dts-v1/; + ++/* PM7250B is configured to use SID8/9 */ ++#define PM7250B_SID 8 ++#define PM7250B_SID1 9 ++ + #include + #include + #include "sc7280.dtsi" ++#include "pm7250b.dtsi" + #include "pm7325.dtsi" + #include "pm8350c.dtsi" + #include "pmk8350.dtsi" +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0001-UPSTREAM-dt-bindings-display-panel-Add-Novatek-NT366.patch b/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0001-UPSTREAM-dt-bindings-display-panel-Add-Novatek-NT366.patch new file mode 100644 index 000000000..2fc3f95ea --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0001-UPSTREAM-dt-bindings-display-panel-Add-Novatek-NT366.patch @@ -0,0 +1,94 @@ +From ce8e9425b8492ac17b5ea9f849f8b08b5383507f Mon Sep 17 00:00:00 2001 +From: Ritesh Kumar +Date: Mon, 8 Jan 2024 15:29:01 +0530 +Subject: [PATCH 1/3] UPSTREAM: dt-bindings: display: panel: Add Novatek + NT36672E LCD DSI + +Document Novatek NT36672E FHD+ LCD DSI panel. + +Signed-off-by: Ritesh Kumar +Reviewed-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20240108095902.22725-2-quic_riteshk@quicinc.com +Signed-off-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/20240108095902.22725-2-quic_riteshk@quicinc.com +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 30cc664f0962ed1e62d9009a34bf04b48e1a5a4a] +--- + .../display/panel/novatek,nt36672e.yaml | 66 +++++++++++++++++++ + 1 file changed, 66 insertions(+) + create mode 100644 Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml + +diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml +new file mode 100644 +index 000000000000..dc4672f3d01d +--- /dev/null ++++ b/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml +@@ -0,0 +1,66 @@ ++# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/display/panel/novatek,nt36672e.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Novatek NT36672E LCD DSI Panel ++ ++maintainers: ++ - Ritesh Kumar ++ ++allOf: ++ - $ref: panel-common.yaml# ++ ++properties: ++ compatible: ++ const: novatek,nt36672e ++ ++ reg: ++ maxItems: 1 ++ description: DSI virtual channel ++ ++ vddi-supply: true ++ avdd-supply: true ++ avee-supply: true ++ port: true ++ reset-gpios: true ++ backlight: true ++ ++required: ++ - compatible ++ - reg ++ - vddi-supply ++ - avdd-supply ++ - avee-supply ++ - reset-gpios ++ - port ++ ++additionalProperties: false ++ ++examples: ++ - | ++ #include ++ dsi { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ panel@0 { ++ compatible = "novatek,nt36672e"; ++ reg = <0>; ++ ++ reset-gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>; ++ ++ vddi-supply = <&vreg_l8c_1p8>; ++ avdd-supply = <&disp_avdd>; ++ avee-supply = <&disp_avee>; ++ ++ backlight = <&pwm_backlight>; ++ ++ port { ++ panel0_in: endpoint { ++ remote-endpoint = <&dsi0_out>; ++ }; ++ }; ++ }; ++ }; ++... +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0002-UPSTREAM-drm-panel-Add-support-for-Novatek-NT36672E-.patch b/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0002-UPSTREAM-drm-panel-Add-support-for-Novatek-NT36672E-.patch new file mode 100644 index 000000000..87f3cdb2b --- /dev/null +++ b/recipes-kernel/linux/linux-yocto/qcm6490-drivers/0002-UPSTREAM-drm-panel-Add-support-for-Novatek-NT36672E-.patch @@ -0,0 +1,707 @@ +From 549f07fc13e85ca147bacd3fd12c5d3480db40f3 Mon Sep 17 00:00:00 2001 +From: Ritesh Kumar +Date: Mon, 8 Jan 2024 15:29:02 +0530 +Subject: [PATCH 2/3] UPSTREAM: drm/panel: Add support for Novatek NT36672E + panel driver + +Add support for the 1080x2408 Novatek NT36672E video mode +DSI panel driver. + +Signed-off-by: Ritesh Kumar +Reviewed-by: Jessica Zhang +Link: https://lore.kernel.org/r/20240108095902.22725-3-quic_riteshk@quicinc.com +Signed-off-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/20240108095902.22725-3-quic_riteshk@quicinc.com +Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ea4f9975625af861c2795c557b8fab2b492ff749] +--- + drivers/gpu/drm/panel/Kconfig | 10 + + drivers/gpu/drm/panel/Makefile | 1 + + .../gpu/drm/panel/panel-novatek-nt36672e.c | 643 ++++++++++++++++++ + 3 files changed, 654 insertions(+) + create mode 100644 drivers/gpu/drm/panel/panel-novatek-nt36672e.c + +diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig +index 869e535faefa..ac5405ba41fc 100644 +--- a/drivers/gpu/drm/panel/Kconfig ++++ b/drivers/gpu/drm/panel/Kconfig +@@ -409,6 +409,16 @@ config DRM_PANEL_NOVATEK_NT36672A + around the Novatek NT36672A display controller, such as some + Tianma panels used in a few Xiaomi Poco F1 mobile phones. + ++config DRM_PANEL_NOVATEK_NT36672E ++ tristate "Novatek NT36672E DSI panel" ++ depends on OF ++ depends on DRM_MIPI_DSI ++ depends on BACKLIGHT_CLASS_DEVICE ++ help ++ Say Y here if you want to enable support for Novatek NT36672E DSI Video Mode ++ LCD panel module. The panel has a resolution of 1080x2408 and uses 24 bit ++ RGB per pixel. ++ + config DRM_PANEL_NOVATEK_NT39016 + tristate "Novatek NT39016 RGB/SPI panel" + depends on OF && SPI +diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile +index 433e93d57949..02270e57b00e 100644 +--- a/drivers/gpu/drm/panel/Makefile ++++ b/drivers/gpu/drm/panel/Makefile +@@ -38,6 +38,7 @@ obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35560) += panel-novatek-nt35560.o + obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35950) += panel-novatek-nt35950.o + obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36523) += panel-novatek-nt36523.o + obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672A) += panel-novatek-nt36672a.o ++obj-$(CONFIG_DRM_PANEL_NOVATEK_NT36672E) += panel-novatek-nt36672e.o + obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o + obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) += panel-mantix-mlaf057we51.o + obj-$(CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO) += panel-olimex-lcd-olinuxino.o +diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672e.c b/drivers/gpu/drm/panel/panel-novatek-nt36672e.c +new file mode 100644 +index 000000000000..d4e85c2fc899 +--- /dev/null ++++ b/drivers/gpu/drm/panel/panel-novatek-nt36672e.c +@@ -0,0 +1,643 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++// Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include