[U-Boot] [PATCH v7 8/9] rockchip: dts: Add mipi dsi support for rk3399

Eric eric.gao at rock-chips.com
Tue May 2 10:09:22 UTC 2017


Dear Philipp:

     Thank you for your review.

(1)u-boot,dm-pre-reloc;

         Is there a reason for making this pre-reloc?

         I didn’t see the video drivers included in the SPL stage, when 
I briefly checked.

         Because we need to reserve enough ram space for frame buffer 
before relocation. So
         we need vop driver executed before relocation and  set the 
frame buffer size.

(2)/*power-domains = <&power RK3399_PD_VOPB>;*/
        It 's not used. I will delete it .

(3)status = "okay”;
         Ok , I  will change it to "disbaled"


On 2017年05月02日 16:37, Dr. Philipp Tomsich wrote:
> Reviewed-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com 
> <mailto:philipp.tomsich at theobroma-systems.com>>
>
> See below for requested changes.
>
>> On 02 May 2017, at 10:19, Eric Gao <eric.gao at rock-chips.com 
>> <mailto:eric.gao at rock-chips.com>> wrote:
>>
>> Add dts config for mipi display, include vop, mipi controller, panel, 
>> backlight
>> . And Enable rk808 for lcd_3v3 in another patch.
>>
>> Signed-off-by: Eric Gao <eric.gao at rock-chips.com 
>> <mailto:eric.gao at rock-chips.com>>
>> Reviewed-by: Simon Glass <sjg at chromium.org <mailto:sjg at chromium.org>>
>>
>> ---
>>
>> Changes in v7: None
>> Changes in v6:
>> -Move panel and backlight configuration to it's define node, and set it
>> disbabled defaultly.
>>
>> Changes in v5: None
>> Changes in v4: None
>> Changes in v3: None
>> Changes in v2:
>> -Add dts config for mipi display.
>>
>> arch/arm/dts/rk3399-evb.dts | 76 
>> +++++++++++++++++++++++++++++++++++++++++++++
>> arch/arm/dts/rk3399.dtsi    | 72 
>> ++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 148 insertions(+)
>>
>> diff --git a/arch/arm/dts/rk3399-evb.dts b/arch/arm/dts/rk3399-evb.dts
>> index 574eb1c..820c4a9 100644
>> --- a/arch/arm/dts/rk3399-evb.dts
>> +++ b/arch/arm/dts/rk3399-evb.dts
>> @@ -59,6 +59,58 @@
>> gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
>> };
>>
>> +backlight: backlight {
>> +compatible = "pwm-backlight";
>> +power-supply = <&vccsys>;
>> +enable-gpios = <&gpio1 13 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 = <200>;
>> +pwms = <&pwm0 0 25000 0>;
>> +pinctrl-names = "default";
>> +pinctrl-0 = <&pwm0_pin>;
>> +pwm-delay-us = <10000>;
>> +status = "disabled";
>> +};
>> +
>> +panel:panel {
>> +compatible = "simple-panel";
>> +power-supply = <&vcc33_lcd>;
>> +backlight = <&backlight>;
>> +/*enable-gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;*/
>> +status = "disabled";
>> +};
>> };
>>
>> &emmc_phy {
>> @@ -141,6 +193,7 @@
>> status = "okay";
>>
>> vcc12-supply = <&vcc3v3_sys>;
>> +
>> regulators {
>> vcc33_lcd: SWITCH_REG2 {
>> regulator-always-on;
>> @@ -151,6 +204,29 @@
>> };
>> };
>>
>> +&mipi_dsi {
>> +status = "disabled";
>> +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>;
>> +};
>> +};
>> +};
>> +
>> &pinctrl {
>> pmic {
>> pmic_int_l: pmic-int-l {
>> diff --git a/arch/arm/dts/rk3399.dtsi b/arch/arm/dts/rk3399.dtsi
>> index d94d780..9344a43 100644
>> --- a/arch/arm/dts/rk3399.dtsi
>> +++ b/arch/arm/dts/rk3399.dtsi
>> @@ -684,6 +684,78 @@
>> status = "disabled";
>> };
>>
>> +vopl: vop at ff8f0000 {
>> +u-boot,dm-pre-reloc;
>
> Is there a reason for making this pre-reloc?
> I didn’t see the video drivers included in the SPL stage, when I 
> briefly checked.
>
>> +compatible = "rockchip,rk3399-vop-lit";
>> +reg = <0x0 0xff8f0000 0x0 0x3efc>;
>> +interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
>> +clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
>> +clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
>> +resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>;
>> +reset-names = "axi", "ahb", "dclk";
>> +status = "okay”;
>
> Should this be “disabled” in the rk3399.dtsi and then be enabled by 
> the board-files?
>
>> +vopl_out: port {
>> +#address-cells = <1>;
>> +#size-cells = <0>;
>> +vopl_out_mipi: endpoint at 0 {
>> +reg = <3>;
>> +remote-endpoint = <&mipi_in_vopl>;
>> +};
>> +};
>> +};
>> +
>> +vopb: vop at ff900000 {
>> +u-boot,dm-pre-reloc;
>
> See above.
>
>> +compatible = "rockchip,rk3399-vop-big";
>> +reg = <0x0 0xff900000 0x0 0x3efc>;
>> +interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
>> +clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
>> +#clock-cells = <0>;
>> +clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
>> +resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>;
>> +reset-names = "axi", "ahb", "dclk";
>> +/*power-domains = <&power RK3399_PD_VOPB>;*/
>
> Why is this commented out?
>
> If this line is not present in the Linux DTS, please remove it entirely.
> If it is present in Linux (and doesn’t do any harm in U-Boot), please 
> enable (pulling in any dependent nodes it may require).
>
>> +status = "okay”;
>
> See above.
>
>> +vopb_out: port {
>> +#address-cells = <1>;
>> +#size-cells = <0>;
>> +vopb_out_mipi: endpoint at 0 {
>> +reg = <3>;
>> +remote-endpoint = <&mipi_in_vopb>;
>> +};
>> +};
>> +};
>> +
>> +mipi_dsi: mipi at ff960000 {
>> +compatible = "rockchip,rk3399_mipi_dsi";
>> +reg = <0x0 0xff960000 0x0 0x8000>;
>> +interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>;
>> +clocks = <&cru SCLK_MIPIDPHY_REF>, <&cru PCLK_MIPI_DSI0>,
>> +        <&cru SCLK_DPHY_TX0_CFG>;
>> +clock-names = "ref", "pclk", "phy_cfg";
>> +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 at 0 {
>> +reg = <0>;
>> +remote-endpoint = <&vopb_out_mipi>;
>> +};
>> +mipi_in_vopl: endpoint at 1 {
>> +reg = <1>;
>> +remote-endpoint = <&vopl_out_mipi>;
>> +};
>> +};
>> +};
>> +};
>> +
>> pinctrl: pinctrl {
>> u-boot,dm-pre-reloc;
>> compatible = "rockchip,rk3399-pinctrl";
>> -- 
>> 1.9.1
>>
>>
>



More information about the U-Boot mailing list