diff mbox

[U-Boot,v1,3/3] rockchip: dts: evb_rk3288: Add mipi display support

Message ID 1493365603-9694-4-git-send-email-eric.gao@rock-chips.com
State Superseded
Delegated to: Simon Glass
Headers show

Commit Message

eric.gao@rock-chips.com April 28, 2017, 7:46 a.m. UTC
Add mipi dsi configuration for evb-rk3288 device tree.

Signed-off-by: Eric Gao <eric.gao@rock-chips.com>

---

Changes in v1:
-Add dts configuration.

 arch/arm/dts/rk3288-evb.dtsi | 88 ++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/dts/rk3288.dtsi     | 41 +++++++++++++++++++++
 2 files changed, 129 insertions(+)

Comments

Jacob Chen April 28, 2017, 8:05 a.m. UTC | #1
Hi eric,


2017-04-28 15:46 GMT+08:00 Eric Gao <eric.gao@rock-chips.com>:
> Add mipi dsi configuration for evb-rk3288 device tree.
>
> Signed-off-by: Eric Gao <eric.gao@rock-chips.com>
>
> ---
>
> Changes in v1:
> -Add dts configuration.
>
>  arch/arm/dts/rk3288-evb.dtsi | 88 ++++++++++++++++++++++++++++++++++++++++++++
>  arch/arm/dts/rk3288.dtsi     | 41 +++++++++++++++++++++
>  2 files changed, 129 insertions(+)
>
> diff --git a/arch/arm/dts/rk3288-evb.dtsi b/arch/arm/dts/rk3288-evb.dtsi
> index 4960f33..b37b570 100644
> --- a/arch/arm/dts/rk3288-evb.dtsi
> +++ b/arch/arm/dts/rk3288-evb.dtsi
> @@ -85,6 +85,16 @@
>                 regulator-always-on;
>                 vin-supply = <&vcc_5v>;
>         };
> +
> +       backlight: backlight {
> +               compatible = "pwm-backlight";
> +               status = "disabled";
> +       };
> +
> +       panel: panel {
> +               compatible = "simple-panel";
> +               status = "disabled";
> +       };

I think it should be renamed to mipi_panel.

>  };
>
>  &cpu0 {
> @@ -318,6 +328,10 @@
>         };
>  };
>
> +&pwm0 {
> +       status = "okay";
> +};
> +
>  &saradc {
>         vref-supply = <&vcc_18>;
>         status = "okay";
> @@ -396,6 +410,80 @@
>         status = "okay";
>  };
>
> +&backlight {
> +               power-supply = <&vcc_sys>;
> +               enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
> +               brightness-levels = <
> +                         0   1   2   3   4   5   6   7
> +                         8   9  10  11  12  13  14  15
> +                        16  17  18  19  20  21  22  23
> +                        24  25  26  27  28  29  30  31
> +                        32  33  34  35  36  37  38  39
> +                        40  41  42  43  44  45  46  47
> +                        48  49  50  51  52  53  54  55
> +                        56  57  58  59  60  61  62  63
> +                        64  65  66  67  68  69  70  71
> +                        72  73  74  75  76  77  78  79
> +                        80  81  82  83  84  85  86  87
> +                        88  89  90  91  92  93  94  95
> +                        96  97  98  99 100 101 102 103
> +                       104 105 106 107 108 109 110 111
> +                       112 113 114 115 116 117 118 119
> +                       120 121 122 123 124 125 126 127
> +                       128 129 130 131 132 133 134 135
> +                       136 137 138 139 140 141 142 143
> +                       144 145 146 147 148 149 150 151
> +                       152 153 154 155 156 157 158 159
> +                       160 161 162 163 164 165 166 167
> +                       168 169 170 171 172 173 174 175
> +                       176 177 178 179 180 181 182 183
> +                       184 185 186 187 188 189 190 191
> +                       192 193 194 195 196 197 198 199
> +                       200 201 202 203 204 205 206 207
> +                       208 209 210 211 212 213 214 215
> +                       216 217 218 219 220 221 222 223
> +                       224 225 226 227 228 229 230 231
> +                       232 233 234 235 236 237 238 239
> +                       240 241 242 243 244 245 246 247
> +                       248 249 250 251 252 253 254 255>;
> +               default-brightness-level = <50>;
> +               pwms = <&pwm0 0 25000 0>;
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&pwm0_pin>;
> +               pwm-delay-us = <10000>;
> +               status = "okay";
> +       };
> +

It should be added directly to the front node, like
https://github.com/rockchip-linux/kernel/blob/release-develop/arch/arm/boot/dts/rk3288-evb.dtsi#L50

> +&panel {
> +       power-supply = <&vcc_io>;
> +       backlight = <&backlight>;
> +       enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
> +       status = "okay";
> +};
> +
> +&mipi_dsi0 {
> +       status = "okay";
> +       rockchip,panel = <&panel>;
> +       display-timings {
> +               timing0 {
> +               bits-per-pixel = <24>;
> +               clock-frequency = <160000000>;
> +               hfront-porch = <120>;
> +               hsync-len = <20>;
> +               hback-porch = <21>;
> +               hactive = <1200>;
> +               vfront-porch = <21>;
> +               vsync-len = <3>;
> +               vback-porch = <18>;
> +               vactive = <1920>;
> +               hsync-active = <0>;
> +               vsync-active = <0>;
> +               de-active = <1>;
> +               pixelclk-active = <0>;
> +               };
> +       };
> +};
> +

Please don't enable it by default, it will cause errors in edp board.
Just leave it disabled.


>  &wdt {
>         status = "okay";
>  };
> diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi
> index bcf051a..64aa07d 100644
> --- a/arch/arm/dts/rk3288.dtsi
> +++ b/arch/arm/dts/rk3288.dtsi
> @@ -664,6 +664,7 @@
>         };
>
>         vopb: vop@ff930000 {
> +               u-boot,dm-pre-reloc;
>                 compatible = "rockchip,rk3288-vop";
>                 reg = <0xff930000 0x19c>;
>                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
> @@ -689,6 +690,11 @@
>                                 reg = <2>;
>                                 remote-endpoint = <&lvds_in_vopb>;
>                         };
> +                       vopb_out_mipi: endpoint@3 {
> +                               reg = <3>;
> +                               remote-endpoint = <&mipi_in_vopb>;
> +                       };
> +
>                 };
>         };
>
> @@ -729,6 +735,11 @@
>                                 reg = <2>;
>                                 remote-endpoint = <&lvds_in_vopl>;
>                         };
> +                       vopl_out_mipi: endpoint@3 {
> +                               reg = <3>;
> +                               remote-endpoint = <&mipi_in_vopl>;
> +                       };
> +
>                 };
>         };
>
> @@ -823,6 +834,36 @@
>                 };
>         };
>
> +       mipi_dsi0: mipi@ff960000 {
> +               compatible = "rockchip,rk3288_mipi_dsi";
> +               reg = <0xff960000 0x4000>;
> +               clocks = <&cru PCLK_MIPI_DSI0>;
> +               clock-names = "pclk_mipi";
> +               /*pinctrl-names = "default";
> +               pinctrl-0 = <&lcdc0_ctl>;*/
> +               rockchip,grf = <&grf>;
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +               status = "disabled";
> +               ports {
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       reg = <1>;
> +                       mipi_in: port {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               mipi_in_vopb: endpoint@0 {
> +                                       reg = <0>;
> +                                       remote-endpoint = <&vopb_out_mipi>;
> +                               };
> +                               mipi_in_vopl: endpoint@1 {
> +                                       reg = <1>;
> +                                       remote-endpoint = <&vopl_out_mipi>;
> +                               };
> +                       };
> +               };
> +       };
> +
>         hdmi_audio: hdmi_audio {
>                 compatible = "rockchip,rk3288-hdmi-audio";
>                 i2s-controller = <&i2s>;
> --
> 1.9.1
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
diff mbox

Patch

diff --git a/arch/arm/dts/rk3288-evb.dtsi b/arch/arm/dts/rk3288-evb.dtsi
index 4960f33..b37b570 100644
--- a/arch/arm/dts/rk3288-evb.dtsi
+++ b/arch/arm/dts/rk3288-evb.dtsi
@@ -85,6 +85,16 @@ 
 		regulator-always-on;
 		vin-supply = <&vcc_5v>;
 	};
+
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		status = "disabled";
+	};
+
+	panel: panel {
+		compatible = "simple-panel";
+		status = "disabled";
+	};
 };
 
 &cpu0 {
@@ -318,6 +328,10 @@ 
 	};
 };
 
+&pwm0 {
+	status = "okay";
+};
+
 &saradc {
 	vref-supply = <&vcc_18>;
 	status = "okay";
@@ -396,6 +410,80 @@ 
 	status = "okay";
 };
 
+&backlight {
+		power-supply = <&vcc_sys>;
+		enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
+		brightness-levels = <
+			  0   1   2   3   4   5   6   7
+			  8   9  10  11  12  13  14  15
+			 16  17  18  19  20  21  22  23
+			 24  25  26  27  28  29  30  31
+			 32  33  34  35  36  37  38  39
+			 40  41  42  43  44  45  46  47
+			 48  49  50  51  52  53  54  55
+			 56  57  58  59  60  61  62  63
+			 64  65  66  67  68  69  70  71
+			 72  73  74  75  76  77  78  79
+			 80  81  82  83  84  85  86  87
+			 88  89  90  91  92  93  94  95
+			 96  97  98  99 100 101 102 103
+			104 105 106 107 108 109 110 111
+			112 113 114 115 116 117 118 119
+			120 121 122 123 124 125 126 127
+			128 129 130 131 132 133 134 135
+			136 137 138 139 140 141 142 143
+			144 145 146 147 148 149 150 151
+			152 153 154 155 156 157 158 159
+			160 161 162 163 164 165 166 167
+			168 169 170 171 172 173 174 175
+			176 177 178 179 180 181 182 183
+			184 185 186 187 188 189 190 191
+			192 193 194 195 196 197 198 199
+			200 201 202 203 204 205 206 207
+			208 209 210 211 212 213 214 215
+			216 217 218 219 220 221 222 223
+			224 225 226 227 228 229 230 231
+			232 233 234 235 236 237 238 239
+			240 241 242 243 244 245 246 247
+			248 249 250 251 252 253 254 255>;
+		default-brightness-level = <50>;
+		pwms = <&pwm0 0 25000 0>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm0_pin>;
+		pwm-delay-us = <10000>;
+		status = "okay";
+	};
+
+&panel {
+	power-supply = <&vcc_io>;
+	backlight = <&backlight>;
+	enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+};
+
+&mipi_dsi0 {
+	status = "okay";
+	rockchip,panel = <&panel>;
+	display-timings {
+		timing0 {
+		bits-per-pixel = <24>;
+		clock-frequency = <160000000>;
+		hfront-porch = <120>;
+		hsync-len = <20>;
+		hback-porch = <21>;
+		hactive = <1200>;
+		vfront-porch = <21>;
+		vsync-len = <3>;
+		vback-porch = <18>;
+		vactive = <1920>;
+		hsync-active = <0>;
+		vsync-active = <0>;
+		de-active = <1>;
+		pixelclk-active = <0>;
+		};
+	};
+};
+
 &wdt {
 	status = "okay";
 };
diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi
index bcf051a..64aa07d 100644
--- a/arch/arm/dts/rk3288.dtsi
+++ b/arch/arm/dts/rk3288.dtsi
@@ -664,6 +664,7 @@ 
 	};
 
 	vopb: vop@ff930000 {
+		u-boot,dm-pre-reloc;
 		compatible = "rockchip,rk3288-vop";
 		reg = <0xff930000 0x19c>;
 		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
@@ -689,6 +690,11 @@ 
 				reg = <2>;
 				remote-endpoint = <&lvds_in_vopb>;
 			};
+			vopb_out_mipi: endpoint@3 {
+				reg = <3>;
+				remote-endpoint = <&mipi_in_vopb>;
+			};
+
 		};
 	};
 
@@ -729,6 +735,11 @@ 
 				reg = <2>;
 				remote-endpoint = <&lvds_in_vopl>;
 			};
+			vopl_out_mipi: endpoint@3 {
+				reg = <3>;
+				remote-endpoint = <&mipi_in_vopl>;
+			};
+
 		};
 	};
 
@@ -823,6 +834,36 @@ 
 		};
 	};
 
+	mipi_dsi0: mipi@ff960000 {
+		compatible = "rockchip,rk3288_mipi_dsi";
+		reg = <0xff960000 0x4000>;
+		clocks = <&cru PCLK_MIPI_DSI0>;
+		clock-names = "pclk_mipi";
+		/*pinctrl-names = "default";
+		pinctrl-0 = <&lcdc0_ctl>;*/
+		rockchip,grf = <&grf>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		status = "disabled";
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <1>;
+			mipi_in: port {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				mipi_in_vopb: endpoint@0 {
+					reg = <0>;
+					remote-endpoint = <&vopb_out_mipi>;
+				};
+				mipi_in_vopl: endpoint@1 {
+					reg = <1>;
+					remote-endpoint = <&vopl_out_mipi>;
+				};
+			};
+		};
+	};
+
 	hdmi_audio: hdmi_audio {
 		compatible = "rockchip,rk3288-hdmi-audio";
 		i2s-controller = <&i2s>;