]> www.infradead.org Git - linux.git/commitdiff
ARM: dts: microchip: at91-sama7g5ek: add EEPROMs
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Wed, 3 Jul 2024 08:47:03 +0000 (11:47 +0300)
committerClaudiu Beznea <claudiu.beznea@tuxon.dev>
Wed, 7 Aug 2024 15:25:56 +0000 (18:25 +0300)
The main boot sequence for Microchip AT91 devices is one of the
following:
1/ ROM BOOT -> AT91Bootstrap -> U-Boot -> Linux Kernel
2/ ROM BOOT -> AT91Bootstrap -> Linux Kernel

For case 1/ U-Boot is the stage where the Ethernet MAC addresses are set.
For case 2/ where U-Boot is skipped the Ethernet MAC addresses need to
be configured in Linux. For this add EEPROMs and nvmem-layout to describe
EUI48 MAC address regions.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
[andrei.simion@microchip.com: Add nvmem-layout to describe eui48 mac
 region. Align compatible name with datasheet. Reword commit message.]
Signed-off-by: Andrei Simion <andrei.simion@microchip.com>
[claudiu.beznea: adjusted the new commit message]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Link: https://lore.kernel.org/r/20240703084704.197697-3-andrei.simion@microchip.com
arch/arm/boot/dts/microchip/at91-sama7g5ek.dts

index 20b2497657ae48e691f06424ff688e27073bb63f..40f4480e298be0c19c560948af513608806eacbd 100644 (file)
                i2c-digital-filter;
                i2c-digital-filter-width-ns = <35>;
                status = "okay";
+
+               eeprom0: eeprom@52 {
+                       compatible = "microchip,24aa025e48";
+                       reg = <0x52>;
+                       size = <256>;
+                       pagesize = <16>;
+                       vcc-supply = <&vdd_3v3>;
+
+                       nvmem-layout {
+                               compatible = "fixed-layout";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               eeprom0_eui48: eui48@fa {
+                                       reg = <0xfa 0x6>;
+                               };
+                       };
+               };
+
+               eeprom1: eeprom@53 {
+                       compatible = "microchip,24aa025e48";
+                       reg = <0x53>;
+                       size = <256>;
+                       pagesize = <16>;
+                       vcc-supply = <&vdd_3v3>;
+
+                       nvmem-layout {
+                               compatible = "fixed-layout";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               eeprom1_eui48: eui48@fa {
+                                       reg = <0xfa 0x6>;
+                               };
+                       };
+               };
        };
 };
 
                     &pinctrl_gmac0_txck_default
                     &pinctrl_gmac0_phy_irq>;
        phy-mode = "rgmii-id";
+       nvmem-cells = <&eeprom0_eui48>;
+       nvmem-cell-names = "mac-address";
        status = "okay";
 
        ethernet-phy@7 {
                     &pinctrl_gmac1_mdio_default
                     &pinctrl_gmac1_phy_irq>;
        phy-mode = "rmii";
+       nvmem-cells = <&eeprom1_eui48>;
+       nvmem-cell-names = "mac-address";
        status = "okay"; /* Conflict with pdmc0. */
 
        ethernet-phy@0 {