From: YİĞİTCAN KAVAKLI <[email protected]> Enable the display subsystem (MDSS/MDP/DSI0), Kinetic KTD3136 backlight, and Novatek NT36672A SPI touchscreen on the Xiaomi Redmi Note 8 (ginkgo).
Hardware nodes added: - Fixed LCDB regulators (lcdb_lab and lcdb_ibb at +/- 5.5V) - MDSS and DSI0 with Tianma 1080x2340 FHD+ video panel - I2C1 backlight node at 0x36 with PMI632 GPIO 6 hardware enable - SPI2 touchscreen node at CS0 with GPIO 88 interrupt and panel follower reference - Touchscreen active pinctrl definition on GPIO 88 Signed-off-by: YİĞİTCAN KAVAKLI <[email protected]> --- .../boot/dts/qcom/sm6125-xiaomi-ginkgo-common.dtsi | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo-common.dtsi b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo-common.dtsi index 59042a5937535c4acda064fa0f865f4f5a52d01b..f4b9e2092a814e56cdc23218025cb4166dec110a 100644 --- a/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sm6125-xiaomi-ginkgo-common.dtsi @@ -26,11 +26,30 @@ / { chassis-type = "handset"; qcom,msm-id = <QCOM_ID_SM6125 0x10000>; + qcom,board-id = <34 0>, <34 1>, <34 2>, <34 3>, <34 4>, <0 0>; aliases { serial0 = &uart4; }; + lcdb_lab: regulator-lcdb-lab { + compatible = "regulator-fixed"; + regulator-name = "lcdb_lab"; + regulator-min-microvolt = <5500000>; + regulator-max-microvolt = <5500000>; + regulator-boot-on; + regulator-always-on; + }; + + lcdb_ibb: regulator-lcdb-ibb { + compatible = "regulator-fixed"; + regulator-name = "lcdb_ibb"; + regulator-min-microvolt = <5500000>; + regulator-max-microvolt = <5500000>; + regulator-boot-on; + regulator-always-on; + }; + chosen { #address-cells = <2>; #size-cells = <2>; @@ -356,6 +375,13 @@ irled@1 { &tlmm { gpio-reserved-ranges = <0 4>, <30 4>; + + ts_int_active: ts-int-active-state { + pins = "gpio88"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; }; &uart4 { @@ -369,3 +395,77 @@ &usb3 { &usb_dwc3_hs { remote-endpoint = <&pmi632_hs_in>; }; + +&mdss { + status = "okay"; +}; + +&mdss_mdp { + status = "okay"; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l7a>; + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l18a>; + status = "okay"; + + panel: panel@0 { + compatible = "tianma,fhd-video-ginkgo", "novatek,nt36672a"; + reg = <0>; + + reset-gpios = <&tlmm 90 GPIO_ACTIVE_LOW>; + vddio-supply = <&vreg_l9a>; + vddpos-supply = <&lcdb_lab>; + vddneg-supply = <&lcdb_ibb>; + backlight = <&backlight>; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel_in>; + data-lanes = <0 1 2 3>; +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&i2c1 { + clock-frequency = <400000>; + status = "okay"; + + backlight: backlight@36 { + compatible = "kinetic,ktd3136"; + reg = <0x36>; + enable-gpios = <&pmi632_gpios 6 GPIO_ACTIVE_HIGH>; + default-brightness = <2047>; + max-brightness = <2047>; + }; +}; + +&spi2 { + status = "okay"; + + touchscreen@0 { + compatible = "novatek,nt36672a-spi", "novatek,nt36672a-ts"; + reg = <0>; + spi-max-frequency = <4000000>; + interrupt-parent = <&tlmm>; + interrupts = <88 IRQ_TYPE_EDGE_RISING>; + pinctrl-0 = <&ts_int_active>; + pinctrl-names = "default"; + panel = <&panel>; + touchscreen-size-x = <1080>; + touchscreen-size-y = <2340>; + }; +}; -- 2.47.3
