[PATCH v2 12/12] rockchip: fix boot_devices constants

Johan Jonker jbx6244 at gmail.com
Thu Mar 3 20:00:18 CET 2022



On 3/3/22 15:37, Johan Jonker wrote:
> Hi Simon,
> 
> Thank you for your test report.
> As I don't always have the hardware, could the board maintainers help me
> identify u-boot specific property differences with Linux that need to be
> moved to a dtsi file.
> 
> Will send a new serie with fixes.
> 
> Johan
> 
> ===
> 
> After I sync rk3288.dtsi I get this warning.
> fdt64_t is generated by a script and is not something that I can update
> the regmap_init_mem_plat function for.
> Any advice here?


A possible solution with:

config ROCKCHIP_RK3288
	select PHYS_64BIT

Adding PHYS_64BIT leads to other warning like this:

drivers/video/rockchip/rk_vop.c: In function ‘rk_vop_probe’:
drivers/video/rockchip/rk_vop.c:449:15: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
  priv->regs = (struct rk3288_vop *)dev_read_addr(dev);

Conclusion: a direct rk3288.dtsi sync from Linux with 64bit gives too
much work to drivers or DT reg changes.

Will look at a partial upgrade without reg size change.

Johan

> 
> ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make chromebook_jerry_defconfig
> 
>    CC      spl/drivers/ram/rockchip/sdram_rk3288.o
> drivers/ram/rockchip/sdram_rk3288.c: In function ‘conv_of_plat’:
> drivers/ram/rockchip/sdram_rk3288.c:1032:41: warning: passing argument 2
> of ‘regmap_init_mem_plat’ from incompatible pointer type
> [-Wincompatible-pointer-types]
>   ret = regmap_init_mem_plat(dev, of_plat->reg,
>                                   ~~~~~~~^~~~~
> In file included from drivers/ram/rockchip/sdram_rk3288.c:18:
> include/regmap.h:391:58: note: expected ‘fdt_val_t *’ {aka ‘unsigned int
> *’} but argument is of type ‘fdt64_t *’ {aka ‘long long unsigned int *’}
>  int regmap_init_mem_plat(struct udevice *dev, fdt_val_t *reg, int count,
> 
> 
> On 3/3/22 04:37, Simon Glass wrote:
>> Hi Johan,
>>
>> On Mon, 28 Feb 2022 at 18:48, Johan Jonker <jbx6244 at gmail.com> wrote:
>>>
>>> The DT node name pattern in mmc-controller.yaml for mmc
>>> is "^mmc(@.*)?$". The Rockchip mmc nodes have been synced
>>> with Linux, so update the boot_devices constants as well.
>>>
>>> Signed-off-by: Johan Jonker <jbx6244 at gmail.com>
>>> Reviewed-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>  arch/arm/mach-rockchip/rk3188/rk3188.c | 4 ++--
>>>  arch/arm/mach-rockchip/rk322x/rk322x.c | 4 ++--
>>>  arch/arm/mach-rockchip/rk3288/rk3288.c | 4 ++--
>>>  arch/arm/mach-rockchip/rk3328/rk3328.c | 4 ++--
>>>  arch/arm/mach-rockchip/rk3368/rk3368.c | 4 ++--
>>>  5 files changed, 10 insertions(+), 10 deletions(-)
>>
> 
>> I tested this series on snow and it seems fine.
>>
>> I tried it on jerry and got:
>>
>> DRAM init failed: -19
> 
> 	noc: syscon at ffac0000 {
> 		compatible = "rockchip,rk3288-noc", "syscon";
> 		reg = <0x0 0xffac0000 0x0 0x2000>;
> 
> Forgot something. Does that help or is there more that needs to be fixed?
> 
> ==>		u-boot,dm-pre-reloc;
> 
> 	};
> 
> TODO: Must change/update dmc/noc reg size when I sync rk3288.dtsi.
> 
>>
>> It also seemed fine on bob although my display is not coming up, for
>> different reasons.
> 
> In SPL or full U-boot?
> 
> rk3288-veyron-chromebook.dtsi:
> 
> 	aliases {
> 		i2c20 = &i2c_tunnel;
> 		video0 = &vopl;
> 		video1 = &vopb;
> 	};
> 
> Is this video alias something U-boot specific?
> Fixing U-boot video is beyond my U-boot knowledge.
> 
>>
>> Regards
>>
>> Simon


More information about the U-Boot mailing list