u-boot-brain/drivers/misc
Philipp Tomsich 49cd8e85eb rockchip: efuse: add (misc) driver for RK3399 non-secure efuse block
This adds a simple driver for reading the efuse block of the RK3399.
It should be easy enough to add drivers for other devices (e.g. the
RK3328, RK3368, etc.) by passing the device details via driver_data.

Unlike the kernel driver (using the nvmem subsystem), we don't expose
the efuse as multiple named cells, but rather as a linear memory that
can be read using misc_read(...).

The primary use case (as of today) is the generation of a 'serial#'
(and a 'cpuid#') environment variable for the RK3399-Q7 (Puma)
system-on-module.

Note that this adds a debug-only (i.e. only if DEBUG is defined)
command 'rk3399_dump_efuses' that dumps the efuse block's content.
N.B.: The name 'rk3399_dump_efuses' was intentionally chosen to
      include a SoC-name (together with a comment in the function) to
      remind whoever adds support for additional SoCs that this
      function currently makes assumptions regarding the size of the
      fuse-box based on the RK3399. The hope is that the function is
      adjusted to reflect any changes resulting from generalising the
      driver for multiple SoCs and is then renamed.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Reviewed-by: Simon Glass <sjg@chromium.org>
2017-06-07 07:29:17 -06:00
..
ali512x.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
altera_sysid.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
cbmem_console.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
cros_ec_i2c.c cros_ec: i2c: Add support for version 3 of the EC protocol 2017-02-08 06:12:16 -07:00
cros_ec_lpc.c cros_ec: exynos: Match up device tree with kernel version 2015-04-18 11:11:16 -06:00
cros_ec_sandbox.c cros_ec: Convert to support live tree 2017-06-01 07:03:11 -06:00
cros_ec_spi.c dm: Rename dev_get_parentdata() to dev_get_parent_priv() 2015-10-23 09:42:28 -06:00
cros_ec.c cros_ec: Convert to support live tree 2017-06-01 07:03:11 -06:00
ds4510.c Kconfig: Drop CONFIG_SYS_I2C_DS4510_ADDR 2017-05-22 08:37:12 -04:00
ds4510.h Kconfig: Drop CONFIG_CMD_DS4510 2017-05-22 08:37:07 -04:00
fsl_devdis.c arm/ls102xa:add hwconfig setting to support disable unused devices 2015-09-01 21:49:20 -05:00
fsl_ifc.c armv8/ls2085aqds: NAND boot support 2015-04-23 16:46:50 -07:00
fsl_iim.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
fsl_sec_mon.c fsl_sec_mon: Update driver for Security Monitor 2016-10-06 09:54:14 -07:00
gpio_led.c status_led: Kconfig migration 2017-01-21 15:12:33 -05:00
i2c_eeprom_emul.c dm: Update the I2C eeprom driver for livetree 2017-06-01 07:03:15 -06:00
i2c_eeprom.c i2c_eeprom: add read and write functions 2017-05-10 13:37:22 -06:00
Kconfig rockchip: efuse: add (misc) driver for RK3399 non-secure efuse block 2017-06-07 07:29:17 -06:00
Makefile rockchip: efuse: add (misc) driver for RK3399 non-secure efuse block 2017-06-07 07:29:17 -06:00
mc9sdz60.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
misc-uclass.c misc: add "call" uclass op 2016-08-12 11:01:22 -06:00
mxc_ocotp.c mxc_ocotp: Update driver to support OCOTP controller on i.MX7ULP 2017-03-17 09:27:08 +01:00
mxs_ocotp.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
ns87308.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
nuvoton_nct6102d.c misc: Add simple driver for some Nuvoton NCT6102D devices 2016-08-16 11:44:09 +08:00
pca9551_led.c status_led: Kconfig migration 2017-01-21 15:12:33 -05:00
pwrseq-uclass.c dm: Add a power sequencing uclass 2016-01-21 20:42:34 -07:00
qfw.c x86: Use unsigned long for address in table generation 2017-02-06 11:38:46 +08:00
rockchip-efuse.c rockchip: efuse: add (misc) driver for RK3399 non-secure efuse block 2017-06-07 07:29:17 -06:00
smsc_lpc47m.c x86: superio: Add keyboard controller support to smsc_lpc47m driver 2015-08-26 07:54:12 -07:00
smsc_sio1007.c superio: Add SMSC SIO1007 driver 2016-02-21 13:42:52 +08:00
spltest_sandbox.c dm: sandbox: Add a simple driver to test of-platdata 2016-07-14 20:40:24 -06:00
status_led.c status_led: Kconfig migration 2017-01-21 15:12:33 -05:00
swap_case.c sandbox: Add missing errno.h includes in a few files 2015-05-14 18:49:34 -06:00
syscon_sandbox.c dm: test: Add a test for the system controller uclass 2015-07-21 17:39:33 -06:00
tegra_car.c dm: core: Update device_bind_driver_to_node() to use ofnode 2017-06-01 07:03:08 -06:00
tegra186_bpmp.c dm: core: Update device_bind_driver_to_node() to use ofnode 2017-06-01 07:03:08 -06:00
twl4030_led.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
winbond_w83627.c misc: Add simple driver to enable the legacy UART on Winbond Super IO chips 2016-01-28 13:53:30 +08:00