Our main boot sequence : (1) ROM BOOT -> AT91Bootstrap -> U-Boot -> Linux Kernel. U-Boot is the stage where we set up the MAC address. Also we can skip U-Boot and use the following boot sequence : (2) ROM BOOT -> AT91Boostrap -> Linux Kernel. Add EEPROMs and nvmem-layout to describe eui48 MAC address region to be used for case (2). This series proposes to add EEPROM support and reading MAC addresses through NVMEM (via Devicetree) for sama7g5ek: - Add in DT bindings document the EEPROM compatibles : "microchip,24aa025e48" and "microchip,24aa025e64" - Update to the driver to support "microchip,24aa025e48" and "microchip,24aa025e64". - Added the nodes in devicetree for eeproms where are stored EUI-48 MAC, and update gmac nodes to read the MAC via devicetree through NVMEM. ----------------------------------------------------------------------- v3 -> v4: * dt-bindings: eeprom: at24: Add Microchip 24AA025E48/24AA025E64 - update the rule to select compatible * eeprom: at24: Add support for Microchip 24AA025E48/24AA025E64 EEPROMs - Use AT24_CHIP_DATA with AT24_FLAG_READONLY - drop AT24_CHIP_DATA_CB_AO - drop AT24_CHIP_DATA_AO - drop u8 adjoff - change commit message * ARM: dts: microchip: at91-sama7g5ek: add EEPROMs - reword commit message v2 -> v3: * dt-bindings: eeprom: at24: Add Microchip 24AA025E48/24AA025E64 - commit subject changed to reference Microchip 24AA025E48/24AA025E64 - drop the pattern: mac02e4$ and mac02e6$ and a-z from regex - add these two devices down at the bottom - added Reviewed-by * eeprom: at24: avoid adjusting offset for 24AA025E{48, 64} - add specific compatible names according with https://ww1.microchip.com/downloads/en/DeviceDoc/24AA02E48-24AA025E48-24AA02E64-24AA025E64-Data-Sheet-20002124H.pdf - add extended macros to initialize the structure with explicit value for adjoff - drop co-developed-by to maintain the commit history (chronological order of modifications) * ARM: dts: at91: at91-sama7g5ek: add EEPROMs - change from atmel,24mac02e4 to microchip,24aa025e48 to align with the datasheet - drop co-developed-by to maintain the chronological order of the changes v1 -> v2: * dt-bindings: eeprom: at24: Add at24,mac02e4 and at24,mac02e6 - change pattern into "^atmel,(24(c|cs|mac)[a-z0-9]+|spd)$" to keep simpler * eeprom: at24: avoid adjusting offset for 24AA025E{48, 64} - no change * ARM: dts: at91: at91-sama7g5ek: add EEPROMs - remove unnecessary #address-cells #size-cells ----------------------------------------------------------------------- Andrei Simion (1): dt-bindings: eeprom: at24: Add Microchip 24AA025E48/24AA025E64 Claudiu Beznea (2): eeprom: at24: Add support for Microchip 24AA025E48/24AA025E64 EEPROMs ARM: dts: microchip: at91-sama7g5ek: add EEPROMs .../devicetree/bindings/eeprom/at24.yaml | 8 +++- .../arm/boot/dts/microchip/at91-sama7g5ek.dts | 40 +++++++++++++++++++ drivers/misc/eeprom/at24.c | 8 ++++ 3 files changed, 55 insertions(+), 1 deletion(-) base-commit: 0b58e108042b0ed28a71cd7edf5175999955b233 -- 2.34.1