As the RK3399-Q7 (Puma) differs from our previous modules in how we can force an external boot (on the RK3399-Q7 this holds the eMMC and SPI in reset, until an external signal is removed) through the 'BIOS disable'-signal of the Qseven specification, we can't derive the unique board id reliably from the eMMC's unique id.
Instead, for the RK3399-Q7, we rely on the efuse block of the RK3399 and use the (assumed to be unique) cpu_id region. This patch-series adds the required infrastructure and switches the RK3399-Q7 (puma_rk3399) over to this new infrastructure: - adds a rockchip-efuse driver as a misc-device (and permits requests for the clock gate listed in the DTS for the efuse node) - ports the CRC32-based 'serial#' derivation over from Linux - exposes the complete cpu_id field through 'cpuid#' Changes in v3: - uses uclass_get_device_by_driver() to ensure we don't pick up the wrong misc-device (debug cmd in efuse.c) - uses uclass_get_device_by_driver() to ensure we don't pick up the wrong misc-device (cpuid/serial#/ethaddr in puma-rk3399.c) - rebased to sjg/next Changes in v2: - added derivation of ethaddr from cpuid Klaus Goger (1): rockchip: board: puma_rk3399: derive ethaddr from cpuid Philipp Tomsich (3): rockchip: efuse: add (misc) driver for RK3399 non-secure efuse block rockchip: board: puma_rk3399: add support for serial# and cpuid# via efuses rockchip: defconfig: puma-rk3399: enable RK3399 efuse driver board/theobroma-systems/puma_rk3399/puma-rk3399.c | 118 ++++++++++++++++ configs/puma-rk3399_defconfig | 2 + drivers/misc/Kconfig | 14 ++ drivers/misc/Makefile | 1 + drivers/misc/rockchip-efuse.c | 162 ++++++++++++++++++++++ include/configs/puma_rk3399.h | 6 + 6 files changed, 303 insertions(+) create mode 100644 drivers/misc/rockchip-efuse.c -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot