我正在尝试将 yocto 版本升级到scathgap。 在 Kirkstone 上一切正常,我们得到了一个可启动的映像。 在这样做的同时,我与 u-boot 作斗争。已经不得不使用2023.07.02,因为默认的2024.10已从Makefile中删除了RK3399。我可能会稍后解决这个问题,因为我们希望了解最近的变化。不管怎样。
尝试使用 2023.07.02 启动时,我得到以下调试输出。
U-Boot TPL 2023.07.02 (Oct 24 2024 - 14:13:42)
ofnode_read_prop: assigned-clock-rates: <not found>
bind node aliases
Device 'aliases' has no compatible string
bind node mmc@fe320000
- attempt to match compatible string 'rockchip,rk3399-dw-mshc'
- attempt to match compatible string 'rockchip,rk3288-dw-mshc'
No match for node 'mmc@fe320000'
bind node mmc@fe330000
- attempt to match compatible string 'rockchip,rk3399-sdhci-5.1'
- attempt to match compatible string 'arasan,sdhci-5.1'
No match for node 'mmc@fe330000'
bind node serial@ff180000
- attempt to match compatible string 'rockchip,rk3399-uart'
- attempt to match compatible string 'snps,dw-apb-uart'
- found match at 'ns16550_serial': 'ns16550' matches 'snps,dw-apb-uart'
bind node serial@ff1a0000
- attempt to match compatible string 'rockchip,rk3399-uart'
- attempt to match compatible string 'snps,dw-apb-uart'
- found match at 'ns16550_serial': 'ns16550' matches 'snps,dw-apb-uart'
bind node power-management@ff310000
- attempt to match compatible string 'rockchip,rk3399-pmu'
- found match at 'rk3399_syscon': 'rockchip,rk3399-grf' matches 'rockchip,rk3399-pmu'
bind node syscon@ff320000
- attempt to match compatible string 'rockchip,rk3399-pmugrf'
- found match at 'rk3399_syscon': 'rockchip,rk3399-grf' matches 'rockchip,rk3399-pmugrf'
bind node pmu-clock-controller@ff750000
- attempt to match compatible string 'rockchip,rk3399-pmucru'
- found match at 'rockchip_rk3399_pmucru': 'rockchip,rk3399-pmucru' matches 'rockchip,rk3399-pmucru'
bind node clock-controller@ff760000
- attempt to match compatible string 'rockchip,rk3399-cru'
- found match at 'rockchip_rk3399_cru': 'rockchip,rk3399-cru' matches 'rockchip,rk3399-cru'
bind node syscon@ff770000
- attempt to match compatible string 'rockchip,rk3399-grf'
- found match at 'rk3399_syscon': 'rockchip,rk3399-grf' matches 'rockchip,rk3399-grf'
bind node phy@f780
- attempt to match compatible string 'rockchip,rk3399-emmc-phy'
No match for node 'phy@f780'
bind node vop@ff8f0000
- attempt to match compatible string 'rockchip,rk3399-vop-lit'
No match for node 'vop@ff8f0000'
bind node vop@ff900000
- attempt to match compatible string 'rockchip,rk3399-vop-big'
No match for node 'vop@ff900000'
bind node pinctrl
- attempt to match compatible string 'rockchip,rk3399-pinctrl'
No match for node 'pinctrl'
bind node chosen
Device 'chosen' has no compatible string
bind node syscon@ff620000
- attempt to match compatible string 'rockchip,rk3399-cic'
- found match at 'rk3399_syscon': 'rockchip,rk3399-grf' matches 'rockchip,rk3399-cic'
bind node dfi@ff630000
- attempt to match compatible string 'rockchip,rk3399-dfi'
No match for node 'dfi@ff630000'
bind node dmc
- attempt to match compatible string 'rockchip,rk3399-dmc'
- found match at 'rockchip_rk3399_dmc': 'rockchip,rk3399-dmc' matches 'rockchip,rk3399-dmc'
bind node syscon@ff330000
- attempt to match compatible string 'rockchip,rk3399-pmusgrf'
- found match at 'rk3399_syscon': 'rockchip,rk3399-grf' matches 'rockchip,rk3399-pmusgrf'
ofnode_read_u32_array: rockchip,sdram-params: ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: reg: ofnode_read_bool: little-endian: false
ofnode_read_bool: big-endian: false
ofnode_read_bool: native-endian: false
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: assigned-clock-rates: <not found>
Looking for clock-controller@ff760000
Looking for clock-controller@ff760000
- result for clock-controller@ff760000: clock-controller@ff760000 (ret=0)
- result for clock-controller@ff760000: clock-controller@ff760000 (ret=0)
我的一个理论是,正常的设备树以某种方式最终出现在 TPL 中,而不是精简(扁平)版本。 毕竟 defconfig 包含
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
。
我只是不太明白怎么做。也许我也完全错了。
找到了这个问题的解决方案。 RK3399 以及它在启动 TPL 时如何处理 LDDR4 有一些奇怪之处。
为了修复它,您必须设置
CONFIG_RAM_ROCKCHIP_LPDDR4=y
。
使用此变量是为了使用与通常不同的初始化计划。