Both boards carry the same optional Startek KD070FHFID078 DSI panel, so
enable the vdosys0 DSI path and describe the panel, its PWM backlight
and its three GPIO-switched rails in the shared dtsi.

Signed-off-by: David Lechner <[email protected]>
---
 arch/arm/dts/mt8371-genio-common.dtsi | 137 ++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/arch/arm/dts/mt8371-genio-common.dtsi 
b/arch/arm/dts/mt8371-genio-common.dtsi
index b1ec5aba082..95391a0585c 100644
--- a/arch/arm/dts/mt8371-genio-common.dtsi
+++ b/arch/arm/dts/mt8371-genio-common.dtsi
@@ -55,6 +55,41 @@
                enable-active-high;
        };
 
+       backlight_lcd0: backlight-lcd0 {
+               compatible = "pwm-backlight";
+               pwms = <&disp_pwm0 0 500000>;
+               brightness-levels = <0 1023>;
+               num-interpolated-steps = <1023>;
+               default-brightness-level = <576>;
+       };
+
+       reg_dsi0_vdd: regulator-dsi0-vdd {
+               compatible = "regulator-fixed";
+               regulator-name = "dsi0-vdd";
+               pinctrl-names = "default";
+               pinctrl-0 = <&dsi0_vdd_pins>;
+               gpio = <&pio 87 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_dsi0_vddp: regulator-dsi0-vddp {
+               compatible = "regulator-fixed";
+               regulator-name = "dsi0-vddp";
+               pinctrl-names = "default";
+               pinctrl-0 = <&dsi0_vddp_pins>;
+               gpio = <&pio 24 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_dsi0_iovcc: regulator-dsi0-iovcc {
+               compatible = "regulator-fixed";
+               regulator-name = "dsi0-iovcc";
+               pinctrl-names = "default";
+               pinctrl-0 = <&dsi0_iovcc_pins>;
+               gpio = <&pio 58 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        firmware {
                optee {
                        compatible = "linaro,optee-tz";
@@ -115,6 +150,60 @@
        status = "okay";
 };
 
+&disp_ovl0_4l {
+       status = "okay";
+};
+
+&disp_pwm0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&disp_pwm0_pins>;
+       status = "okay";
+};
+
+&disp_rdma0 {
+       status = "okay";
+};
+
+&dsi0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       panel@0 {
+               compatible = "startek,kd070fhfid078", "himax,hx8279";
+               reg = <0>;
+               reset-gpios = <&pio 25 GPIO_ACTIVE_HIGH>;
+               enable-gpios = <&pio 13 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&panel0_pins>;
+               backlight = <&backlight_lcd0>;
+               vdd-supply = <&reg_dsi0_vdd>;
+               /*
+                * Not in himax,hx8279.yaml yet: these boards gate the panel's
+                * VDDP rail from its own GPIO instead of tying it to VDD.
+                */
+               vddp-supply = <&reg_dsi0_vddp>;
+               iovcc-supply = <&reg_dsi0_iovcc>;
+               status = "okay";
+
+               port {
+                       panel0_in: endpoint {
+                               remote-endpoint = <&dsi0_out>;
+                       };
+               };
+       };
+
+       port {
+               dsi0_out: endpoint {
+                       remote-endpoint = <&panel0_in>;
+               };
+       };
+};
+
+&mipi_tx_config0 {
+       status = "okay";
+};
+
 &mmc0 {
        bus-width = <8>;
        max-frequency = <200000000>;
@@ -153,6 +242,10 @@
        regulator-always-on;
 };
 
+&mutex0 {
+       status = "okay";
+};
+
 &nor_flash {
        pinctrl-names = "default";
        pinctrl-0 = <&nor_pins>;
@@ -169,6 +262,42 @@
 };
 
 &pio {
+       disp_pwm0_pins: disp-pwm0-pins {
+               pins {
+                       pinmux = <PINMUX_GPIO29__FUNC_DISP_PWM0>;
+                       output-high;
+               };
+       };
+
+       dsi0_iovcc_pins: dsi0-iovcc-pins {
+               pins {
+                       pinmux = <PINMUX_GPIO58__FUNC_GPIO58>;
+                       output-low;
+               };
+       };
+
+       dsi0_vdd_pins: dsi0-vdd-pins {
+               pins {
+                       pinmux = <PINMUX_GPIO87__FUNC_GPIO87>;
+                       output-low;
+               };
+       };
+
+       dsi0_vddp_pins: dsi0-vddp-pins {
+               pins {
+                       pinmux = <PINMUX_GPIO24__FUNC_GPIO24>;
+                       output-low;
+               };
+       };
+
+       panel0_pins: panel0-pins {
+               pins {
+                       pinmux = <PINMUX_GPIO13__FUNC_GPIO13>,
+                                <PINMUX_GPIO25__FUNC_GPIO25>;
+                       output-high;
+               };
+       };
+
        mmc0_default_pins: mmc0-default-pins {
                pins-clk {
                        pinmux = <PINMUX_GPIO162__FUNC_MSDC0_CLK>;
@@ -367,6 +496,14 @@
        };
 };
 
+&smi_disp_common {
+       status = "okay";
+};
+
+&smi_larb0 {
+       status = "okay";
+};
+
 &pmic {
        interrupts-extended = <&pio 194 IRQ_TYPE_LEVEL_HIGH>;
 };

-- 
2.53.0

Reply via email to