#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
/ {
compatible = "mediatek,mt7621-soc";
compatible = "gpio-leds";
led_power: power {
- label = "green:power";
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
usb {
- label = "green:usb";
+ function = LED_FUNCTION_USB;
+ color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
linux,default-trigger = "usbport";
};
internet {
- label = "green:wan";
+ function = LED_FUNCTION_WAN;
+ color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x8000>;
+ nvmem-cells = <&eeprom_factory_8000>;
+ nvmem-cell-names = "eeprom";
ieee80211-freq-limit = <5000000 6000000>;
};
};
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0 0 0 0 0>;
- mediatek,mtd-eeprom = <&factory 0x0>;
+ nvmem-cells = <&eeprom_factory_0>;
+ nvmem-cell-names = "eeprom";
ieee80211-freq-limit = <2400000 2500000>;
};
};
&gmac0 {
- mtd-mac-address = <&factory 0x4>;
+ nvmem-cells = <&macaddr_factory_4 0>;
+ nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+ status = "okay";
+ label = "wan";
+ phy-handle = <ðphy4>;
+
+ nvmem-cells = <&macaddr_factory_4 2>;
+ nvmem-cell-names = "mac-address";
+};
+
+&mdio {
+ ethphy4: ethernet-phy@4 {
+ reg = <4>;
+ };
};
&switch0 {
status = "okay";
label = "lan1";
};
-
- port@4 {
- status = "okay";
- label = "wan";
- mtd-mac-address = <&factory 0x4>;
- mac-address-increment = <2>;
- };
};
};
status = "okay";
partitions {
- compatible = "fixed-partitions";
+ compatible = "sercomm,sc-partitions", "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x100000>;
+ sercomm,scpart-id = <0>;
read-only;
};
partition@100000 {
label = "SC PART_MAP";
reg = <0x100000 0x100000>;
+ sercomm,scpart-id = <1>;
read-only;
};
partition@200000 {
label = "kernel";
reg = <0x200000 0x400000>;
+ sercomm,scpart-id = <2>;
};
partition@600000 {
label = "ubi";
reg = <0x600000 0x2800000>;
+ sercomm,scpart-id = <3>;
};
partition@2e00000 {
- label = "reserved0";
- reg = <0x2e00000 0x1800000>;
+ label = "English UI";
+ reg = <0x2e00000 0x200000>;
+ sercomm,scpart-id = <4>;
+ read-only;
+ };
+
+ partition@3000000 {
+ label = "ML1";
+ reg = <0x3000000 0x200000>;
+ sercomm,scpart-id = <5>;
+ read-only;
+ };
+
+ partition@3200000 {
+ label = "ML2";
+ reg = <0x3200000 0x200000>;
+ sercomm,scpart-id = <6>;
+ read-only;
+ };
+
+ partition@3400000 {
+ label = "ML3";
+ reg = <0x3400000 0x200000>;
+ sercomm,scpart-id = <7>;
read-only;
};
- factory: partition@4600000 {
+ partition@3600000 {
+ label = "ML4";
+ reg = <0x3600000 0x200000>;
+ sercomm,scpart-id = <8>;
+ read-only;
+ };
+
+ partition@3800000 {
+ label = "ML5";
+ reg = <0x3800000 0x200000>;
+ sercomm,scpart-id = <9>;
+ read-only;
+ };
+
+ partition@3a00000 {
+ label = "ML6";
+ reg = <0x3a00000 0x200000>;
+ sercomm,scpart-id = <10>;
+ read-only;
+ };
+
+ partition@3c00000 {
+ label = "ML7";
+ reg = <0x3c00000 0x200000>;
+ sercomm,scpart-id = <11>;
+ read-only;
+ };
+
+ partition@3e00000 {
+ label = "ML8";
+ reg = <0x3e00000 0x200000>;
+ sercomm,scpart-id = <12>;
+ read-only;
+ };
+
+ partition@4000000 {
+ label = "ML9";
+ reg = <0x4000000 0x200000>;
+ sercomm,scpart-id = <13>;
+ read-only;
+ };
+
+ partition@4200000 {
+ label = "ML10";
+ reg = <0x4200000 0x200000>;
+ sercomm,scpart-id = <14>;
+ read-only;
+ };
+
+ partition@4400000 {
+ label = "ML11";
+ reg = <0x4400000 0x200000>;
+ sercomm,scpart-id = <15>;
+ read-only;
+ };
+
+ partition@4600000 {
label = "factory";
reg = <0x4600000 0x200000>;
+ sercomm,scpart-id = <16>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ eeprom_factory_0: eeprom@0 {
+ reg = <0x0 0x400>;
+ };
+
+ eeprom_factory_8000: eeprom@8000 {
+ reg = <0x8000 0x4da8>;
+ };
+
+ macaddr_factory_4: macaddr@4 {
+ compatible = "mac-base";
+ reg = <0x4 0x6>;
+ #nvmem-cell-cells = <1>;
+ };
+ };
};
partition@4800000 {
+ label = "SC Private Data";
+ reg = <0x4800000 0x200000>;
+ sercomm,scpart-id = <17>;
+ read-only;
+ };
+
+ partition@4a00000 {
+ label = "POT";
+ reg = <0x4a00000 0x200000>;
+ sercomm,scpart-id = <18>;
+ read-only;
+ };
+
+ partition@4c00000 {
+ label = "Traffic Meter";
+ reg = <0x4c00000 0x200000>;
+ sercomm,scpart-id = <19>;
+ read-only;
+ };
+
+ partition@4e00000 {
+ label = "SC PID";
+ reg = <0x4e00000 0x200000>;
+ sercomm,scpart-id = <20>;
+ read-only;
+ };
+
+ partition@5000000 {
+ label = "SC Nvram";
+ reg = <0x5000000 0x200000>;
+ sercomm,scpart-id = <21>;
+ read-only;
+ };
+
+ partition@5200000 {
+ label = "Ralink Nvram";
+ reg = <0x5200000 0x200000>;
+ sercomm,scpart-id = <22>;
+ read-only;
+ };
+
+ partition@5400000 {
+ label = "reserved0";
+ reg = <0x5400000 0x200000>;
+ sercomm,scpart-id = <23>;
+ read-only;
+ };
+
+ partition@5600000 {
label = "reserved1";
- reg = <0x4800000 0x3800000>;
+ reg = <0x5600000 0x200000>;
+ sercomm,scpart-id = <24>;
+ read-only;
+ };
+
+ partition@5800000 {
+ label = "reserved2";
+ reg = <0x5800000 0x200000>;
+ sercomm,scpart-id = <25>;
+ read-only;
+ };
+
+ partition@5a00000 {
+ label = "reserved3";
+ reg = <0x5a00000 0x200000>;
+ sercomm,scpart-id = <26>;
+ read-only;
+ };
+
+ partition@5c00000 {
+ label = "reserved4";
+ reg = <0x5c00000 0x200000>;
+ sercomm,scpart-id = <27>;
+ read-only;
+ };
+
+ partition@5e00000 {
+ label = "reserved5";
+ reg = <0x5e00000 0x2180000>;
+ sercomm,scpart-id = <28>;
read-only;
};
};