label = "factory";
reg = <0x70000 0x40000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom_factory_0: eeprom@0 {
+ reg = <0x0 0x400>;
+ };
+ };
};
eeprom: partition@b0000 {
label = "eeprom";
reg = <0xb0000 0x10000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_eeprom_0: macaddr@0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_eeprom_6: macaddr@6 {
+ compatible = "mac-base";
+ reg = <0x6 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
};
partition@c0000 {
};
};
-&wlan_2g {
+&gmac0 {
nvmem-cells = <&macaddr_eeprom_0>;
nvmem-cell-names = "mac-address";
};
+&wlan_2g {
+ nvmem-cells = <&eeprom_factory_0>, <&macaddr_eeprom_0>;
+ nvmem-cell-names = "eeprom", "mac-address";
+};
+
&wlan_5g {
+ compatible = "mediatek,mt76";
+
mediatek,mtd-eeprom = <&factory 0x20000>;
- nvmem-cells = <&macaddr_eeprom_6>;
- nvmem-cell-names = "mac-address";
- ieee80211-freq-limit = <5000000 6000000>;
-};
-&eeprom {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
+ /* This is a workaround.
+ *
+ * Ubiquiti uses a +2 offset in the first octet relative
+ * to the 2.4 GHz WMAC. Other octets are identical.
+ *
+ * The vendor firmware increases the last octet by 2 for each
+ * VAP.
+ *
+ * This is in conflict on how mac80211 addresses subsequent VAPs.
+ * mac80211 increases the first octet by two for each VAP, leading
+ * to conflicting MAC addresses for subsequent interfaces.
+ */
+ nvmem-cells = <&macaddr_eeprom_6 1>;
+ nvmem-cell-names = "mac-address";
- macaddr_eeprom_0: macaddr@0 {
- reg = <0x0 0x6>;
- };
+ ieee80211-freq-limit = <5000000 6000000>;
- macaddr_eeprom_6: macaddr@6 {
- reg = <0x6 0x6>;
- };
+ mediatek,disable-radar-background;
};