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


Reply via email to