rk3328 efuse return just 0
Jonas Karlman
jonas at kwiboo.se
Fri Jun 9 01:05:58 CEST 2023
Hi Marek,
On 2023-06-08 15:06, Belisko Marek wrote:
> Hi,
>
> I'm using tip of actual master and with this small patches:
> --- a/configs/rock-pi-e-rk3328_defconfig
> +++ b/configs/rock-pi-e-rk3328_defconfig
> @@ -73,6 +73,8 @@ CONFIG_FASTBOOT_BUF_ADDR=0x800800
> CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
> CONFIG_ROCKCHIP_GPIO=y
> CONFIG_SYS_I2C_ROCKCHIP=y
> +CONFIG_MISC=y
> +CONFIG_ROCKCHIP_EFUSE=y
> CONFIG_MMC_DW=y
> CONFIG_MMC_DW_ROCKCHIP=y
> CONFIG_ETH_DESIGNWARE=y
>
> --- a/configs/rock-pi-e-rk3328_defconfig
> +++ b/configs/rock-pi-e-rk3328_defconfig
> @@@ -45,8 -34,6 +45,7 @@@ CONFIG_SPL_I2C=
> CONFIG_SPL_POWER=y
> CONFIG_SPL_ATF=y
> CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
> +CONFIG_TPL_SYS_MALLOC_SIMPLE=y
> - CONFIG_TPL_DRIVERS_MISC=y
> CONFIG_CMD_BOOTZ=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_MMC=y
>
> as for the following issue:
> /home/marek/data/projects/u-boot/drivers/misc/rockchip-efuse.c:273:(.text.rockchip_efuse_of_to_plat+0x1c):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `dev_read_addr_ptr'
>
> I'm trying to enable proper ethaddr handling (as in this case cpuid# is
> used for ethaddr generation).
>
> With those enabled options I'm still getting an cpuid# variable set to all
> '0'. Is there some other fix necessary maybe?
I was able to reproduce this issue on my Rock Pi E using plain mainline
arm-trusted-firmware. To use efuse on RK3328 the efuse block needs to be
initialized, u-boot does not do this.
Two options to work around this can be:
1. Use vendor bl31 blob from [1]
2. Patch mainline atf with a patch from [2]
[1] https://github.com/rockchip-linux/rkbin/blob/master/bin/rk33/rk322xh_bl31_v1.49.elf
[2] https://github.com/armbian/build/blob/main/patch/atf/atf-rockchip64/rk3328-efuse-init.patch
Regards,
Jonas
>
> Thanks and BR,
>
> marek
More information about the U-Boot
mailing list