mirror of
https://github.com/torvalds/linux.git
synced 2024-11-06 12:11:59 +00:00
9fd379e929
Allwinner has electric fuses (efuse) on their line of chips. This driver reads those fuses, seeds the kernel entropy and exports them as a sysfs node. These fuses are most likely to be programmed at the factory, encoding things like Chip ID, some sort of serial number, etc. and appear to be reasonably unique. While in theory, these should be writeable by the user, it will probably be inconvenient to do so. Allwinner recommends that a certain input pin, labeled 'efuse_vddq', be connected to GND. To write these fuses however, a 2.5 V programming voltage needs to be applied to this pin. Even so, they can still be used to generate a board-unique mac from, board unique RSA key and seed the kernel RNG. On sun7i additional storage is available, this is initially used for an UEFI BOOT key, Secure JTAG key, HDMI-HDCP key and vendor specific keys. Currently supported are the following known chips: Allwinner sun4i (A10) Allwinner sun5i (A10s, A13) Allwinner sun7i (A20) Signed-off-by: Oliver Schinagl <oliver@schinagl.nl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
113 lines
3.7 KiB
Plaintext
113 lines
3.7 KiB
Plaintext
menu "EEPROM support"
|
|
|
|
config EEPROM_AT24
|
|
tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
|
|
depends on I2C && SYSFS
|
|
help
|
|
Enable this driver to get read/write support to most I2C EEPROMs
|
|
and compatible devices like FRAMs, SRAMs, ROMs etc. After you
|
|
configure the driver to know about each chip on your target
|
|
board. Use these generic chip names, instead of vendor-specific
|
|
ones like at24c64, 24lc02 or fm24c04:
|
|
|
|
24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
|
|
24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024
|
|
|
|
Unless you like data loss puzzles, always be sure that any chip
|
|
you configure as a 24c32 (32 kbit) or larger is NOT really a
|
|
24c16 (16 kbit) or smaller, and vice versa. Marking the chip
|
|
as read-only won't help recover from this. Also, if your chip
|
|
has any software write-protect mechanism you may want to review the
|
|
code to make sure this driver won't turn it on by accident.
|
|
|
|
If you use this with an SMBus adapter instead of an I2C adapter,
|
|
full functionality is not available. Only smaller devices are
|
|
supported (24c16 and below, max 4 kByte).
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called at24.
|
|
|
|
config EEPROM_AT25
|
|
tristate "SPI EEPROMs from most vendors"
|
|
depends on SPI && SYSFS
|
|
help
|
|
Enable this driver to get read/write support to most SPI EEPROMs,
|
|
after you configure the board init code to know about each eeprom
|
|
on your target board.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called at25.
|
|
|
|
config EEPROM_LEGACY
|
|
tristate "Old I2C EEPROM reader"
|
|
depends on I2C && SYSFS
|
|
help
|
|
If you say yes here you get read-only access to the EEPROM data
|
|
available on modern memory DIMMs and Sony Vaio laptops via I2C. Such
|
|
EEPROMs could theoretically be available on other devices as well.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called eeprom.
|
|
|
|
config EEPROM_MAX6875
|
|
tristate "Maxim MAX6874/5 power supply supervisor"
|
|
depends on I2C
|
|
help
|
|
If you say yes here you get read-only support for the user EEPROM of
|
|
the Maxim MAX6874/5 EEPROM-programmable, quad power-supply
|
|
sequencer/supervisor.
|
|
|
|
All other features of this chip should be accessed via i2c-dev.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called max6875.
|
|
|
|
|
|
config EEPROM_93CX6
|
|
tristate "EEPROM 93CX6 support"
|
|
help
|
|
This is a driver for the EEPROM chipsets 93c46 and 93c66.
|
|
The driver supports both read as well as write commands.
|
|
|
|
If unsure, say N.
|
|
|
|
config EEPROM_93XX46
|
|
tristate "Microwire EEPROM 93XX46 support"
|
|
depends on SPI && SYSFS
|
|
help
|
|
Driver for the microwire EEPROM chipsets 93xx46x. The driver
|
|
supports both read and write commands and also the command to
|
|
erase the whole EEPROM.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called eeprom_93xx46.
|
|
|
|
If unsure, say N.
|
|
|
|
config EEPROM_DIGSY_MTC_CFG
|
|
bool "DigsyMTC display configuration EEPROMs device"
|
|
depends on GPIO_MPC5200 && SPI_GPIO
|
|
help
|
|
This option enables access to display configuration EEPROMs
|
|
on digsy_mtc board. You have to additionally select Microwire
|
|
EEPROM 93XX46 driver. sysfs entries will be created for that
|
|
EEPROM allowing to read/write the configuration data or to
|
|
erase the whole EEPROM.
|
|
|
|
If unsure, say N.
|
|
|
|
config EEPROM_SUNXI_SID
|
|
tristate "Allwinner sunxi security ID support"
|
|
depends on ARCH_SUNXI && SYSFS
|
|
help
|
|
This is a driver for the 'security ID' available on various Allwinner
|
|
devices.
|
|
|
|
Due to the potential risks involved with changing e-fuses,
|
|
this driver is read-only.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called sunxi_sid.
|
|
|
|
endmenu
|