Hi Simon,

This is not the topic about disable the relocate feature in U-Boot proper.

My target is re-use kernel dtb in U-Boot and U-Boot can work properly even if
some of dts node in kernel is broken.
- U-Boot mark a set of driver as u-boot,dm-pre-reloc, suppose to able to get
into U-Boot shell with them. dram, syscon, serial, clock, pinctrl, emmc, and etc.
    In this case we can always make U-Boot works and get into shell.
- When relocate, I would like to read dtb from kernel and use it for U-Boot driver. In this case, we can get periph driver setting for different board from kernel dtb,
    what we need most are: power/pmic, display, charger, input key and etc.

The problem is, the dm architecture now always init all the driver from dtb after relocate, If anything missin in kernel dtb, the U-Boot hang there. What I met now in rockchip
kernel(same in different SoCs) is:
- no stdout in chosen, we use cmdline instead;
- debug uart node not enabled; we may use ttyFIQ driver instead of uart driver for it.
- no alias for emmc/sd, which is much in U-Boot;
- compaptible for syscon may different, kernel may use "syscon", "simple-mfd" only, but U-Boot need "rockchip,rk3228-grf" for GRF and "rockchip,rk3228-PMU" for PMU and etc. Of cause I can update kernel source, but as you can see we are not able to cover all the case
because kernel may have different use with U-Boot.

If we do not need to re-init all the driver after relocate, or re-use the driver data, then we can have a *robust U-Boot only depends on U-Boot dtb with dm-pre-reloc*, and we can have a *good compatibility U-Boot with kernel dtb support* for different board/periph. Then U-Boot focus on SoC support, kernel focus on all kinds of board/periph support, U-Boot need to sync periph driver from kernel, so that if kernel works then U-Boot also works, developers
do not need to develop one for kernel and one for U-Boot.

Could you help to make a demo patch about how to re-use the driver-data of pre-reloc to post-reloc?


Thanks,

- Kever

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to