ARM64: dts: rk3399: gru: Let VOP Big first to select connector device
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-gru.dtsi
index f50bf9cb00bf05aa533861128d6f4bf142363950..8e06f84f78994da83132df027dfdcd9fac94128f 100644 (file)
                rockchip,i2s-controller = <&i2s0>;
                rockchip,audio-codec = <&codec>;
        };
+
+       backlight: backlight {
+               compatible = "gpio-backlight";
+               pinctrl-names = "default";
+               pinctrl-0 = <&bl_en>;
+               gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
+       };
+
+       edp_panel: edp-panel {
+               compatible = "samsung,lsn122dl01-c01", "panel-simple";
+               backlight = <&backlight>;
+               power-supply = <&pp3300_disp>;
+
+               ports {
+                       panel_in_edp: endpoint {
+                               remote-endpoint = <&edp_out_panel>;
+                       };
+               };
+       };
 };
 
 &cpu_l0 {
@@ -832,6 +851,19 @@ ap_i2c_audio: &i2c8 {
 
 &edp {
        status = "okay";
+
+       ports {
+               edp_out: port@1 {
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       edp_out_panel: endpoint@0 {
+                               reg = <0>;
+                               remote-endpoint = <&panel_in_edp>;
+                       };
+               };
+       };
 };
 
 &vopb {
@@ -852,6 +884,7 @@ ap_i2c_audio: &i2c8 {
 
 &display_subsystem {
        status = "okay";
+       ports = <&vopb_out>, <&vopl_out>;
 };
 
 &gpu {
@@ -859,6 +892,59 @@ ap_i2c_audio: &i2c8 {
        status = "okay";
 };
 
+/* HACKS: Poorly formatted on purpose so you know they're hacks */
+
+/* HACK THE PWM REGULATOR OUT
+ *
+ * We'll hack them all to pretend they are fixed regulators
+ * and at exactly .9V, which is where cpufreq wants them.
+ *
+ * We'll also set all PWMs to disabled so we know that the PWM
+ * framework won't touch them.
+ *
+ * This relies on PWM clock being a critical clock.
+ */
+&ppvar_bigcpu {
+       compatible = "regulator-fixed";
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+};
+
+&ppvar_centerlogic {
+       compatible = "regulator-fixed";
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+};
+
+&ppvar_litcpu {
+       compatible = "regulator-fixed";
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+};
+
+&ppvar_gpu {
+       compatible = "regulator-fixed";
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+};
+
+&pwm0 {
+       status = "disabled";
+};
+
+&pwm1 {
+       status = "disabled";
+};
+
+&pwm2 {
+
+       status = "disabled";
+};
+
+&pwm3 {
+       status = "disabled";
+};
+
 /* PINCTRL: always below everything else */
 
 &pinctrl {
@@ -977,6 +1063,12 @@ ap_i2c_audio: &i2c8 {
                        rockchip,pins = <3 12 RK_FUNC_GPIO &pcfg_output_high>;
                };
        };
+
+       backlight-enable {
+               bl_en: bl-en {
+                       rockchip,pins = <1 17 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };
 
 /* DON'T PUT ANYTHING BELOW HERE.  PUT IT ABOVE PINCTRL */