// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+#include "ar9344.dtsi"
+
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
-
-#include "ar9344.dtsi"
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/mtd/partitions/uimage.h>
/ {
chosen {
};
};
- leds {
+ leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&enable_gpio_11>;
led_power_green: power_green {
- label = "netgear:green:power";
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
- label = "netgear:amber:power";
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_AMBER>;
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
- wan_green {
- label = "netgear:green:wan";
- gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
- };
-
- wan_amber {
- label = "netgear:amber:wan";
- gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
- };
-
wlan2g_green {
- label = "netgear:green:wlan2g";
+ label = "green:wlan2g";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g_blue {
- label = "netgear:blue:wlan5g";
+ label = "blue:wlan5g";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
wps_green {
- label = "netgear:green:wps";
+ function = LED_FUNCTION_WPS;
+ color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wps_amber {
- label = "netgear:amber:wps";
+ function = LED_FUNCTION_WPS;
+ color = <LED_COLOR_ID_AMBER>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
-
- usb_green {
- label = "netgear:green:usb";
- gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
- trigger-sources = <&hub_port>;
- linux,default-trigger = "usbport";
- };
};
ubi-concat {
compatible = "mtd-concat";
- devices = <&ubipart0 &ubipart1>;
+ devices = <&ubiconcat0 &ubiconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
- ubi@ac0000 {
+ ubi@0 {
label = "ubi";
reg = <0x0 0x7500000>;
};
label = "caldata";
reg = <0x80000 0x40000>;
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_caldata_0: macaddr@0 {
+ reg = <0x0 0x6>;
+ };
+
+ macaddr_caldata_c: macaddr@c {
+ reg = <0xc 0x6>;
+ };
+
+ cal_art_1000: cal@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ cal_art_5000: cal@5000 {
+ reg = <0x5000 0x440>;
+ };
+ };
};
partition@c0000 {
reg = <0x3c0000 0x300000>;
};
- kernel@6c0000 {
- label = "kernel";
- reg = <0x6c0000 0x400000>;
- };
-
- ubipart0: partition@ac0000 {
- label = "ubipart0";
- reg = <0xac0000 0x1500000>;
- };
-
partition@6c0000 {
label = "firmware";
reg = <0x6c0000 0x1900000>;
- compatible = "netgear,uimage";
+
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ kernel@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ ubiconcat0: partition@400000 {
+ label = "ubiconcat0";
+ reg = <0x400000 0x1500000>;
+ };
};
partition@1fc0000 {
read-only;
};
- ubipart1: partition@2000000 {
- label = "ubipart1";
+ ubiconcat1: partition@2000000 {
+ label = "ubiconcat1";
reg = <0x2000000 0x6000000>;
};
};
&mdio0 {
status = "okay";
- phy-mask = <0>;
-
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
/* default for ar934x, except for 1000M */
pll-data = <0x06000000 0x00000101 0x00001616>;
- mtd-mac-address = <&caldata 0x0>;
+ nvmem-cells = <&macaddr_caldata_0>;
+ nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&gpio {
- status = "okay";
-
lna0 {
gpio-hog;
line-name = "netgear:ext:lna0";
&wmac {
status = "okay";
- mtd-mac-address = <&caldata 0x0>;
- qca,no-eeprom;
+ nvmem-cells = <&macaddr_caldata_0>, <&cal_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
};
&pcie {
ath9k: wifi@0,0 {
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
- mtd-mac-address = <&caldata 0xc>;
- qca,no-eeprom;
+ nvmem-cells = <&macaddr_caldata_c>, <&cal_art_5000>;
+ nvmem-cell-names = "mac-address", "calibration";
#gpio-cells = <2>;
gpio-controller;
-
- usb_power {
- gpio-hog;
- line-name = "netgear:power:usb";
- gpios = <0 GPIO_ACTIVE_HIGH>;
- output-high;
- };
};
};
-
-&usb_phy {
- status = "okay";
-};
-
-&usb {
- status = "okay";
- #address-cells = <1>;
- #size-cells = <0>;
-
- hub_port: port@1 {
- reg = <1>;
- #trigger-source-cells = <0>;
- };
-};
-
-&uart {
- status = "okay";
-};