[U-Boot] [PATCH v3 0/4] rockchip: Add a read-only efuse driver for the RK3399 (and derive serial# from fuses on the RK3399-Q7)

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Fri May 5 17:21:37 UTC 2017


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



More information about the U-Boot mailing list