mediatek: replace mac-address-increment hack

This commit is contained in:
aiamadeus 2024-07-16 23:25:10 +08:00
parent d4b2121ac2
commit 64b80093dd
13 changed files with 146 additions and 124 deletions

View File

@ -218,9 +218,8 @@
phy-connection-type = "2500base-x"; phy-connection-type = "2500base-x";
nvmem-cells = <&macaddr_factory_4>; nvmem-cells = <&macaddr_factory_4 (-1)>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
fixed-link { fixed-link {
speed = <2500>; speed = <2500>;
@ -340,11 +339,15 @@
}; };
&factory { &factory {
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 { macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>; compatible = "mac-base";
reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };

View File

@ -327,20 +327,24 @@
reg = <0x1c0000 0x100000>; reg = <0x1c0000 0x100000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 { macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>; compatible = "mac-base";
}; reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
macaddr_factory_7fff4: macaddr@7fff4 { macaddr_factory_7fff4: macaddr@7fff4 {
reg = <0x7fff4 0x6>; reg = <0x7fff4 0x6>;
}; };
macaddr_factory_7fffa: macaddr@7fffa { macaddr_factory_7fffa: macaddr@7fffa {
reg = <0x7fffa 0x6>; reg = <0x7fffa 0x6>;
};
}; };
}; };
@ -395,9 +399,8 @@
reg = <0x0000 0 0 0 0>; reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x5000>; mediatek,mtd-eeprom = <&factory 0x5000>;
ieee80211-freq-limit = <5000000 6000000>; ieee80211-freq-limit = <5000000 6000000>;
nvmem-cells = <&macaddr_factory_4>; nvmem-cells = <&macaddr_factory_4 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
}; };
}; };

View File

@ -146,9 +146,8 @@
phy-connection-type = "2500base-x"; phy-connection-type = "2500base-x";
nvmem-cells = <&macaddr_factory_4>; nvmem-cells = <&macaddr_factory_4 (-1)>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
fixed-link { fixed-link {
speed = <2500>; speed = <2500>;
@ -269,12 +268,16 @@
reg = <0x1c0000 0x80000>; reg = <0x1c0000 0x80000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 { macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>; compatible = "mac-base";
reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };

View File

@ -64,7 +64,7 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
fixed-link { fixed-link {
@ -80,9 +80,8 @@
phy-mode = "gmii"; phy-mode = "gmii";
phy-handle = <&int_gbe_phy>; phy-handle = <&int_gbe_phy>;
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0 0x500000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <0x500000>;
}; };
}; };
@ -138,16 +137,20 @@
reg = <0x0180000 0x0100000>; reg = <0x0180000 0x0100000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; compatible = "mac-base";
}; reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
macaddr_art_6: macaddr@6 { macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>; reg = <0x6 0x6>;
};
}; };
}; };

View File

@ -12,6 +12,7 @@
aliases { aliases {
serial0 = &uart0; serial0 = &uart0;
label-mac-device = &gmac0;
led-boot = &led_status_red; led-boot = &led_status_red;
led-failsafe = &led_status_red; led-failsafe = &led_status_red;
led-running = &led_status_green; led-running = &led_status_green;
@ -65,7 +66,7 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
fixed-link { fixed-link {
@ -128,12 +129,16 @@
reg = <0x0180000 0x0100000>; reg = <0x0180000 0x0100000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; compatible = "mac-base";
reg = <0x0 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };
@ -190,9 +195,8 @@
port@3 { port@3 {
reg = <3>; reg = <3>;
label = "wan"; label = "wan";
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0 3>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <3>;
}; };
port@6 { port@6 {

View File

@ -7,10 +7,11 @@
compatible = "glinet,gl-mt3000", "mediatek,mt7981"; compatible = "glinet,gl-mt3000", "mediatek,mt7981";
aliases { aliases {
led-boot = &led_run; label-mac-device = &gmac0;
led-failsafe = &led_run; led-boot = &led_lightblue;
led-failsafe = &led_white;
led-running = &led_white; led-running = &led_white;
led-upgrade = &led_run; led-upgrade = &led_lightblue;
serial0 = &uart0; serial0 = &uart0;
}; };
@ -39,7 +40,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
led_run: run { led_lightblue: light {
label = "blue:run"; label = "blue:run";
gpios = <&pio 31 GPIO_ACTIVE_LOW>; gpios = <&pio 31 GPIO_ACTIVE_LOW>;
}; };
@ -55,7 +56,7 @@
regulator-name = "fan"; regulator-name = "fan";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&pio 28 GPIO_ACTIVE_HIGH>; gpios = <&pio 28 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
regulator-boot-on; regulator-boot-on;
}; };
@ -65,7 +66,7 @@
regulator-name = "usb_vbus"; regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&pio 12 GPIO_ACTIVE_HIGH>; gpios = <&pio 12 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
regulator-boot-on; regulator-boot-on;
}; };
@ -90,7 +91,7 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
phy-handle = <&phy0>; phy-handle = <&phy0>;
nvmem-cells = <&macaddr>; nvmem-cells = <&macaddr 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
@ -99,9 +100,8 @@
reg = <1>; reg = <1>;
phy-mode = "gmii"; phy-mode = "gmii";
phy-handle = <&int_gbe_phy>; phy-handle = <&int_gbe_phy>;
nvmem-cells = <&macaddr>; nvmem-cells = <&macaddr 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
}; };
}; };
@ -176,18 +176,25 @@
factory: partition@180000 { factory: partition@180000 {
label = "Factory"; label = "Factory";
reg = <0x180000 0x0200000>; reg = <0x180000 0x0200000>;
compatible = "nvmem-cells"; read-only;
#address-cells = <1>;
#size-cells = <1>;
macaddr: macaddr@a { nvmem-layout {
reg = <0xa 0x6>; compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
macaddr: macaddr@a {
compatible = "mac-base";
reg = <0xa 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };
partition@380000 { partition@380000 {
label = "FIP"; label = "FIP";
reg = <0x380000 0x0200000>; reg = <0x380000 0x0200000>;
read-only;
}; };
partition@580000 { partition@580000 {

View File

@ -88,7 +88,7 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_factory_28>; nvmem-cells = <&macaddr_factory_28 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
fixed-link { fixed-link {
@ -104,9 +104,8 @@
phy-mode = "gmii"; phy-mode = "gmii";
phy-handle = <&int_gbe_phy>; phy-handle = <&int_gbe_phy>;
nvmem-cells = <&macaddr_factory_28>; nvmem-cells = <&macaddr_factory_28 3>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <3>;
}; };
}; };
@ -269,17 +268,20 @@
status = "okay"; status = "okay";
mediatek,mtd-eeprom = <&factory 0x0>; mediatek,mtd-eeprom = <&factory 0x0>;
nvmem-cells = <&macaddr_factory_28>; nvmem-cells = <&macaddr_factory_28 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
}; };
&factory { &factory {
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_28: macaddr@28 { macaddr_factory_28: macaddr@28 {
reg = <0x28 0x6>; compatible = "mac-base";
reg = <0x28 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };

View File

@ -10,9 +10,8 @@
}; };
&gmac0 { &gmac0 {
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <(-2)>; nvmem-cells = <&macaddr_factory_4 (-2)>;
}; };
&i2c0 { &i2c0 {
@ -26,19 +25,6 @@
}; };
}; };
&partitions {
partition@600000 {
label = "ubi";
reg = <0x0600000 0x6400000>;
};
partition@6a00000 {
label = "data";
reg = <0x6a00000 0x0c00000>;
read-only;
};
};
&pio { &pio {
i2c_pins: i2c-pins { i2c_pins: i2c-pins {
mux { mux {

View File

@ -10,9 +10,8 @@
}; };
&gmac0 { &gmac0 {
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>; nvmem-cells = <&macaddr_factory_4 (-1)>;
}; };
&leds { &leds {
@ -26,10 +25,3 @@
gpios = <&pio 12 GPIO_ACTIVE_LOW>; gpios = <&pio 12 GPIO_ACTIVE_LOW>;
}; };
}; };
&partitions {
partition@600000 {
label = "ubi";
reg = <0x600000 0x7000000>;
};
};

View File

@ -129,12 +129,16 @@
reg = <0x0180000 0x0200000>; reg = <0x0180000 0x0200000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 { macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>; compatible = "mac-base";
reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };
@ -156,6 +160,11 @@
read-only; read-only;
}; };
partition@600000 {
label = "ubi";
reg = <0x0600000 0x7000000>;
};
partition@7600000 { partition@7600000 {
label = "KF"; label = "KF";
reg = <0x7600000 0x0040000>; reg = <0x7600000 0x0040000>;

View File

@ -95,7 +95,7 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_config_1c>; nvmem-cells = <&macaddr_config_1c 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
fixed-link { fixed-link {
@ -111,9 +111,8 @@
phy-handle = <&phy7>; phy-handle = <&phy7>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_config_1c>; nvmem-cells = <&macaddr_config_1c 1>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
}; };
mdio: mdio-bus { mdio: mdio-bus {
@ -201,13 +200,13 @@
partition@380000 { partition@380000 {
label = "fip"; label = "fip";
reg = <0x380000 0x0180000>; reg = <0x380000 0x0200000>;
read-only; read-only;
}; };
partition@500000 { partition@580000 {
label = "ubi"; label = "ubi";
reg = <0x500000 0x7300000>; reg = <0x580000 0x7800000>;
}; };
}; };
}; };
@ -262,11 +261,15 @@
}; };
&config { &config {
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_config_1c: macaddr@1c { macaddr_config_1c: macaddr@1c {
reg = <0x1c 0x6>; compatible = "mac-base";
reg = <0x1c 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };

View File

@ -175,9 +175,8 @@
mediatek,mtd-eeprom = <&factory 0x1000>; mediatek,mtd-eeprom = <&factory 0x1000>;
ieee80211-freq-limit = <5470000 5875000>; ieee80211-freq-limit = <5470000 5875000>;
nvmem-cells = <&macaddr_config_1c>; nvmem-cells = <&macaddr_config_1c 3>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <3>;
}; };
}; };
}; };
@ -215,14 +214,19 @@
&wifi { &wifi {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&wf_2g_5g_pins>; pinctrl-0 = <&wf_2g_5g_pins>;
ieee80211-freq-limit = <2400000 2500000>, <5170000 5350000>;
}; };
&config { &config {
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_config_1c: macaddr@1c { macaddr_config_1c: macaddr@1c {
reg = <0x1c 0x6>; compatible = "mac-base";
reg = <0x1c 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };

View File

@ -57,9 +57,8 @@
reg = <0>; reg = <0>;
phy-mode = "2500base-x"; phy-mode = "2500base-x";
nvmem-cells = <&macaddr_factory_4>; nvmem-cells = <&macaddr_factory_4 (-1)>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
fixed-link { fixed-link {
speed = <2500>; speed = <2500>;
@ -177,12 +176,16 @@
reg = <0x180000 0x200000>; reg = <0x180000 0x200000>;
read-only; read-only;
compatible = "nvmem-cells"; nvmem-layout {
#address-cells = <1>; compatible = "fixed-layout";
#size-cells = <1>; #address-cells = <1>;
#size-cells = <1>;
macaddr_factory_4: macaddr@4 { macaddr_factory_4: macaddr@4 {
reg = <0x4 0x6>; compatible = "mac-base";
reg = <0x4 0x6>;
#nvmem-cell-cells = <1>;
};
}; };
}; };