ath79: add kernel 5.15 support

This commit is contained in:
lean 2022-04-03 13:34:55 +08:00
parent 91d301c03b
commit b8c337abe5
387 changed files with 14183 additions and 1604 deletions

View File

@ -8,8 +8,7 @@ SUBTARGETS:=generic mikrotik nand tiny
FEATURES:=ramdisk squashfs usbgadget
KERNEL_PATCHVER:=5.4
KERNEL_TESTING_PATCHVER:=5.10
KERNEL_PATCHVER:=5.10
include $(INCLUDE_DIR)/target.mk

View File

@ -14,8 +14,10 @@ migrate_wifi_path() {
board=$(board_name)
case "$board" in
tplink,archer-c5-v1|\
tplink,archer-c7-v1|\
tplink,archer-c7-v2|\
zyxel,emg2926-q10a|\
zyxel,nbg6716)
path="pci0000:00/0000:00:00.0"
WIFI_PATH_CHANGED=1

View File

@ -43,6 +43,7 @@ CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
CONFIG_EARLY_PRINTK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_GENERIC_ATOMIC64=y
@ -73,6 +74,7 @@ CONFIG_GPIO_74X164=y
CONFIG_GPIO_ATH79=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_RB91X_KEY is not set
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
@ -90,7 +92,6 @@ CONFIG_IRQ_WORK=y
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_RESET is not set
CONFIG_LIBFDT=y
CONFIG_LLD_VERSION=0
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BUS=y

View File

@ -0,0 +1,207 @@
CONFIG_AF_UNIX_OOB=y
CONFIG_AG71XX=y
# CONFIG_AG71XX_DEBUG is not set
CONFIG_AG71XX_DEBUG_FS=y
CONFIG_AR8216_PHY=y
CONFIG_AR8216_PHY_LEDS=y
CONFIG_ARCH_32BIT_OFF_T=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=15
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y
CONFIG_ATH79_WDT=y
CONFIG_BINARY_PRINTF=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CEVT_R4K=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
CONFIG_CMDLINE_BOOL=y
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_COMMON_CLK=y
# CONFIG_COMMON_CLK_BOSTON is not set
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_GENERIC_DUMP_TLB=y
CONFIG_CPU_HAS_DIEI=y
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_RIXI=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_CPU_MIPS32=y
CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPSR2=y
CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
CONFIG_CPU_R4K_CACHE_TLB=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_CPU_SUPPORTS_MSA=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2
CONFIG_CRYPTO_RNG2=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
CONFIG_EARLY_PRINTK=y
CONFIG_FIXED_PHY=y
CONFIG_FWNODE_MDIO=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_LIB_ASHLDI3=y
CONFIG_GENERIC_LIB_ASHRDI3=y
CONFIG_GENERIC_LIB_CMPDI2=y
CONFIG_GENERIC_LIB_LSHRDI3=y
CONFIG_GENERIC_LIB_UCMPDI2=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_PHY=y
CONFIG_GENERIC_PINCONF=y
CONFIG_GENERIC_PINCTRL_GROUPS=y
CONFIG_GENERIC_PINMUX_FUNCTIONS=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_IRQCHIP=y
CONFIG_GPIO_74X164=y
CONFIG_GPIO_ATH79=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_RB91X_KEY is not set
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HZ_PERIODIC=y
CONFIG_IMAGE_CMDLINE_HACK=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_RESET is not set
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LTO_NONE=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_GPIO=y
CONFIG_MEMFD_CREATE=y
# CONFIG_MFD_RB4XX_CPLD is not set
CONFIG_MFD_SYSCON=y
CONFIG_MIGRATION=y
CONFIG_MIPS=y
CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
CONFIG_MIPS_CMDLINE_FROM_DTB=y
CONFIG_MIPS_EBPF_JIT=y
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_MIPS_LD_CAN_LINK_VDSO=y
# CONFIG_MIPS_NO_APPENDED_DTB is not set
CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_MIPS_SPRAM=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_GEOMETRY=y
# CONFIG_MTD_CFI_I2 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
CONFIG_MTD_PARSER_CYBERTAN=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_ELF_FW=y
CONFIG_MTD_SPLIT_LZMA_FW=y
CONFIG_MTD_SPLIT_SEAMA_FW=y
CONFIG_MTD_SPLIT_TPLINK_FW=y
CONFIG_MTD_SPLIT_UIMAGE_FW=y
CONFIG_MTD_SPLIT_WRGG_FW=y
CONFIG_MTD_VIRT_CONCAT=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
CONFIG_NVMEM=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_KOBJ=y
CONFIG_OF_MDIO=y
CONFIG_PCI=y
CONFIG_PCI_AR71XX=y
CONFIG_PCI_AR724X=y
CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_DRIVERS_LEGACY=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_PHYLIB=y
# CONFIG_PHY_AR7100_USB is not set
# CONFIG_PHY_AR7200_USB is not set
# CONFIG_PHY_ATH79_USB is not set
CONFIG_PINCTRL=y
# CONFIG_PINCTRL_PISTACHIO is not set
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
CONFIG_RATIONAL=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
CONFIG_RESET_ATH79=y
CONFIG_RESET_CONTROLLER=y
CONFIG_SERIAL_8250_NR_UARTS=1
CONFIG_SERIAL_8250_RUNTIME_UARTS=1
CONFIG_SERIAL_AR933X=y
CONFIG_SERIAL_AR933X_CONSOLE=y
CONFIG_SERIAL_AR933X_NR_UARTS=2
CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SPI=y
CONFIG_SPI_AR934X=y
CONFIG_SPI_ATH79=y
CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_MEM=y
# CONFIG_SPI_RB4XX is not set
CONFIG_SRCU=y
CONFIG_SWCONFIG=y
CONFIG_SWCONFIG_LEDS=y
CONFIG_SWPHY=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
CONFIG_SYS_SUPPORTS_MIPS16=y
CONFIG_SYS_SUPPORTS_ZBOOT=y
CONFIG_SYS_SUPPORTS_ZBOOT_UART_PROM=y
CONFIG_TARGET_ISA_REV=2
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TINY_SRCU=y
CONFIG_USB_SUPPORT=y
CONFIG_USE_OF=y

View File

@ -146,6 +146,9 @@
has-synopsys-hc-bug;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
usb1: usb@1c000000 {
@ -159,6 +162,9 @@
phys = <&usb_phy>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
spi: spi@1f000000 {

View File

@ -103,8 +103,9 @@
ath9k0: wifi@0,11 { /* 2.4 GHz */
compatible = "pci168c,0029";
mtd-mac-address = <&hwinfo 0x1c>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_hwinfo_1c>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
reg = <0x8800 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
@ -112,8 +113,9 @@
ath9k1: wifi@0,12 { /* 5 GHz */
compatible = "pci168c,0029";
mtd-mac-address = <&hwinfo 0x1c>;
mtd-mac-address-increment = <2>;
nvmem-cells = <&macaddr_hwinfo_1c>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
reg = <0x9000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
@ -132,7 +134,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&hwinfo 0x1c>;
nvmem-cells = <&macaddr_hwinfo_1c>;
nvmem-cell-names = "mac-address";
pll-data = <0x00110000 0x00001099 0x00991099>;
@ -179,3 +182,13 @@
};
};
};
&hwinfo {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_hwinfo_1c: macaddr@1c {
reg = <0x1c 0x6>;
};
};

View File

@ -75,24 +75,28 @@
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
usb {
label = "usb";
linux,code = <BTN_2>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
aoss {
label = "aoss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_auto {
label = "router_auto";
linux,code = <BTN_6>;
linux,input-type = <EV_SW>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
@ -100,6 +104,7 @@
};
router_off {
label = "router_off";
linux,code = <BTN_5>;
linux,input-type = <EV_SW>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
@ -107,6 +112,7 @@
};
movie_engine {
label = "movie_engine";
linux,code = <BTN_7>;
linux,input-type = <EV_SW>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
@ -247,7 +253,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x120c>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
@ -258,8 +265,23 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x520c>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_520c>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
phy-handle = <&phy4>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_120c: macaddr@120c {
reg = <0x120c 0x6>;
};
macaddr_art_520c: macaddr@520c {
reg = <0x520c 0x6>;
};
};

View File

@ -81,8 +81,9 @@
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
mtd-mac-address = <&config 0x66>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
#gpio-cells = <2>;
gpio-controller;
};
@ -91,8 +92,9 @@
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
mtd-mac-address = <&config 0x66>;
mtd-mac-address-increment = <2>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
#gpio-cells = <2>;
gpio-controller;
};
@ -114,7 +116,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&config 0x66>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
pll-data = <0x00110000 0x00001099 0x00991099>;
@ -167,3 +170,13 @@
};
};
};
&config {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_66: macaddr@66 {
reg = <0x66 0x6>;
};
};

View File

@ -12,7 +12,6 @@
led-failsafe = &led_power_orange;
led-running = &led_power_green;
led-upgrade = &led_power_orange;
label-mac-device = &eth0;
};
extosc: ref {
@ -153,8 +152,7 @@
ath9k0: wifi@0,11 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
@ -181,8 +179,7 @@
ath9k1: wifi@0,12 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
mtd-mac-address = <&art 0xc>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
@ -209,8 +206,6 @@
pll-data = <0x11110000 0x00001099 0x00991099>;
mtd-mac-address = <&art 0x00>;
fixed-link {
speed = <1000>;
full-duplex;
@ -222,7 +217,5 @@
pll-data = <0x11110000 0x00001099 0x00991099>;
mtd-mac-address = <&art 0x06>;
phy-handle = <&phy4>;
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndr3700-v2", "qca,ar7161";
model = "Netgear WNDR3700 v2";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -33,3 +37,49 @@
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndr3700", "qca,ar7161";
model = "Netgear WNDR3700";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -34,7 +38,15 @@
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
/* The original WNDR3700(v1) variant have four antennae dedicated
* to the 5GHz radio as well. Again, two antennae are available for
* each chain to switch between. The following configuration is the
@ -54,3 +66,39 @@
output-high;
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndr3800", "qca,ar7161";
model = "Netgear WNDR3800";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -34,3 +38,49 @@
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndr3800ch", "qca,ar7161";
model = "Netgear WNDR3800CH";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -35,3 +39,48 @@
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndrmac-v1", "qca,ar7161";
model = "Netgear WNDRMAC v1";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -33,3 +37,49 @@
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wndrmac-v2", "qca,ar7161";
model = "Netgear WNDRMAC v2";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
@ -34,3 +38,49 @@
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -29,6 +29,9 @@
phys = <&usb_phy>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
};

View File

@ -153,14 +153,16 @@
};
&eth0 {
mtd-mac-address = <&art 0x120c>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x120c>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&pcie {
@ -170,7 +172,8 @@
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
mtd-mac-address = <&art 0x120c>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
#gpio-cells = <2>;
gpio-controller;
};
@ -181,3 +184,13 @@
pinctrl-single,bits = <0x0 0x0 0xf8>;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_120c: macaddr@120c {
reg = <0x120c 0x6>;
};
};

View File

@ -72,13 +72,15 @@
};
&eth0 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -92,3 +94,13 @@
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -174,13 +174,15 @@
};
&eth0 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -189,10 +191,25 @@
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -107,13 +107,15 @@
};
&eth0 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -122,10 +124,25 @@
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -0,0 +1,170 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "openmesh,om2p-v1", "qca,ar7240";
model = "OpenMesh OM2P v1";
chosen {
/delete-property/ bootargs;
};
aliases {
led-boot = &led_power_blue;
led-failsafe = &led_power_blue;
led-running = &led_power_blue;
led-upgrade = &led_power_blue;
label-mac-device = &eth0;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&switch_led_disable_pins>;
led_power_blue: power_blue {
label = "blue:power";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wifi_green {
label = "green:wifi";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi_red {
label = "red:wifi";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wifi_yellow {
label = "yellow:wifi";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan_blue {
label = "blue:lan";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan_blue {
label = "blue:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
watchdog {
compatible = "linux,wdt-gpio";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
hw_algo = "toggle";
/* hw_margin_ms is actually 300s but driver limits it to 60s */
hw_margin_ms = <60000>;
always-running;
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
linux,mtd-name = "ar7240-nor0";
/* partitions are passed via bootloader */
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x040000>;
};
partition@80000 {
label = "custom";
reg = <0x080000 0x140000>;
read-only;
};
partition@1c0000 {
label = "inactive";
reg = <0x1c0000 0x700000>;
};
partition@8c0000 {
label = "inactive2";
reg = <0x8c0000 0x700000>;
};
art: partition@fc0000 {
label = "ART";
reg = <0xfc0000 0x040000>;
read-only;
};
};
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
wifi@0,0 {
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -104,7 +104,8 @@
ath9k: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
#gpio-cells = <2>;
gpio-controller;
};
@ -115,3 +116,13 @@
pinctrl-single,bits = <0x0 0x0 0xf8>;
};
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -14,7 +14,8 @@
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&ath9k {

View File

@ -30,13 +30,15 @@
};
&eth0 {
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&ath9k {

View File

@ -36,6 +36,9 @@
phys = <&usb_phy>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
};

View File

@ -179,13 +179,15 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
compatible = "qca,ar7241-eth", "syscon", "simple-mfd";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -194,10 +196,25 @@
ath9k: wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wnr2200-16m", "qca,ar7241";
model = "Netgear WNR2200 (16M)";
aliases {
label-mac-device = &eth1;
};
};
&partitions {
@ -33,3 +37,33 @@
read-only;
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&ath9k {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -5,6 +5,10 @@
/ {
compatible = "netgear,wnr2200-8m", "qca,ar7241";
model = "Netgear WNR2200 (8M)";
aliases {
label-mac-device = &eth1;
};
};
&partitions {
@ -33,3 +37,33 @@
read-only;
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&ath9k {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -16,7 +16,6 @@
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
label-mac-device = &eth1;
};
ath9k-keys {
@ -154,14 +153,10 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
};
&eth1 {
compatible = "qca,ar7241-eth", "syscon", "simple-mfd";
mtd-mac-address = <&art 0x6>;
};
&pcie {
@ -170,8 +165,6 @@
ath9k: wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;

View File

@ -89,18 +89,31 @@
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -135,18 +135,31 @@
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -91,12 +91,32 @@
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&wifi {
ubnt,hsr;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -4,7 +4,7 @@
/ {
compatible = "ubnt,unifi", "qca,ar7241";
model = "Ubiquiti UniFi";
model = "Ubiquiti UniFi AP";
aliases {
led-boot = &led_dome_green;
@ -80,6 +80,21 @@
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -7,7 +7,7 @@
/ {
aliases {
label-mac-device = &wifi;
label-mac-device = &eth0;
};
extosc: ref {
@ -42,7 +42,4 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
};

View File

@ -36,6 +36,9 @@
phys = <&usb_phy>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
};

View File

@ -15,5 +15,16 @@
};
&eth0 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -192,7 +192,8 @@
pll-data = <0x1c000000 0x00000101 0x00001616>;
mtd-mac-address = <&art 0x120c>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
@ -204,7 +205,8 @@
ath9k: wifi@0,0 {
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x120c>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
@ -229,3 +231,13 @@
#trigger-source-cells = <0>;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_120c: macaddr@120c {
reg = <0x120c 0x6>;
};
};

View File

@ -64,7 +64,8 @@
};
&eth0 {
mtd-mac-address = <&art 0x1002>;
nvmem-cells = <&macaddr_art_1002>;
nvmem-cell-names = "mac-address";
};
&pcie {
@ -73,9 +74,20 @@
ath9k: wifi@0,0 {
compatible = "pci168c,0030";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&art 0x1002>;
nvmem-cells = <&macaddr_art_1002>;
nvmem-cell-names = "mac-address";
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
};

View File

@ -63,7 +63,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy4>;
phy-mode = "rgmii-id";
@ -77,10 +78,21 @@
ath9k: wifi@0,0,0 {
compatible = "pci168c,002a";
reg = <0x0 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -63,7 +63,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy4>;
phy-mode = "rgmii-id";
@ -77,10 +78,21 @@
ath9k: wifi@0,0,0 {
compatible = "pci168c,002a";
reg = <0x0 0 0 0 0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -81,8 +81,9 @@
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
mtd-mac-address = <&config 0x66>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
};
@ -101,7 +102,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&config 0x66>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
pll-data = <0x02000000 0x00000101 0x00001313>;
@ -116,7 +118,8 @@
&eth1 {
status = "okay";
mtd-mac-address = <&config 0x66>;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
};
&spi {
@ -164,3 +167,13 @@
};
};
};
&config {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_66: macaddr@66 {
reg = <0x66 0x6>;
};
};

View File

@ -157,7 +157,8 @@
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
@ -165,7 +166,8 @@
status = "okay";
phy-mode = "rgmii";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
fixed-link {
@ -173,3 +175,13 @@
full-duplex;
};
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -67,10 +67,21 @@
phy-handle = <&phy0>;
phy-mode = "rgmii";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -114,11 +114,12 @@
ethernet-switch@1e {
compatible = "brcm,bcm53128";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1e>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port0@0 {
reg = <0>;
label = "lan1";
@ -169,7 +170,6 @@
full-duplex;
};
};
};
};
};
@ -177,13 +177,25 @@
&eth0 {
status = "okay";
phy-handle = <&phy0>;
phy-mode = "rgmii-rxid";
pll-data = <0x16000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
phy-handle = <&phy0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -41,8 +41,8 @@
gpio_spi {
compatible = "spi-gpio";
#address-cells = <0x1>;
ranges;
#address-cells = <1>;
#size-cells = <0>;
sck-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
@ -131,5 +131,16 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -79,11 +79,27 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -17,16 +17,37 @@
clock-frequency = <40000000>;
};
gpio2: gpio-extender {
compatible = "nxp,74hc153-gpio";
/* There is a GPIO driven NXP 74HC153 dual 4-way multiplexer on board
* used for buttons that are on top of the the device.
*/
mux: mux-controller {
compatible = "gpio-mux";
#mux-control-cells = <0>;
mux-gpios = <&gpio 9 GPIO_ACTIVE_HIGH>, /* s0 */
<&gpio 11 GPIO_ACTIVE_HIGH>; /* s1 */
};
gpio2: key-mux1 {
compatible = "gpio-cascade";
mux-controls = <&mux>;
gpio-controller;
#gpio-cells = <2>;
// GPIOs used by this node
gpio-s0 = <&gpio 9 GPIO_ACTIVE_HIGH>;
gpio-s1 = <&gpio 11 GPIO_ACTIVE_HIGH>;
gpio-1y = <&gpio 12 GPIO_ACTIVE_HIGH>;
gpio-2y = <&gpio 14 GPIO_ACTIVE_HIGH>;
// GPIOs used by this node, the mux pin
upstream-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; /* 1y */
};
gpio3: key-mux2 {
compatible = "gpio-cascade";
mux-controls = <&mux>;
gpio-controller;
#gpio-cells = <2>;
// GPIOs used by this node, the mux pin
upstream-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; /* 2y */
};
keys {
@ -64,21 +85,21 @@
usb {
label = "usb";
linux,code = <BTN_2>;
gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
gpios = <&gpio3 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_auto {
label = "router_auto";
linux,code = <BTN_6>;
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
gpios = <&gpio3 2 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
movie_on {
label = "movie_on";
linux,code = <BTN_4>;
gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
};
@ -188,7 +209,8 @@
status = "disabled";
phy-mode = "rgmii";
mtd-mac-address = <&art 0x1120c>;
nvmem-cells = <&macaddr_art_1120c>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
@ -215,7 +237,8 @@
resets = <&rst 13>;
reset-names = "mac";
qca,mac-idx = <1>;
mtd-mac-address = <&art 0x1120c>;
nvmem-cells = <&macaddr_art_1120c>;
nvmem-cell-names = "mac-address";
};
&wmac {
@ -247,3 +270,13 @@
&usb_phy {
status = "okay";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_1120c: macaddr@1120c {
reg = <0x1120c 0x6>;
};
};

View File

@ -118,7 +118,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy12>;
};
@ -127,5 +128,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -137,7 +137,8 @@
status = "okay";
phy-mode = "rgmii";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
@ -149,5 +150,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -144,7 +144,8 @@
status = "okay";
phy-mode = "rmii";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <100>;
@ -155,5 +156,16 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -116,6 +116,9 @@
phys = <&usb_phy>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
spi: spi@1f000000 {

View File

@ -113,13 +113,15 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -133,5 +135,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -130,13 +130,15 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&wmac {
@ -144,3 +146,17 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -112,7 +112,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x1002>;
nvmem-cells = <&macaddr_art_1002>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -132,5 +133,20 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&art 0x2>;
nvmem-cells = <&macaddr_art_2>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_2: macaddr@2 {
reg = <0x2 0x6>;
};
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
};

View File

@ -86,14 +86,16 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <2>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};
&wmac {
@ -101,3 +103,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -103,7 +103,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -115,10 +116,25 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -55,7 +55,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -95,10 +96,26 @@
reg = <0x030000 0x010000>;
};
art: partition@40000 {
partition@40000 {
label = "art";
reg = <0x040000 0x010000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
cal_art_1000: cal@1000 {
reg = <0x1000 0x440>;
};
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
};
partition@50000 {
@ -121,5 +138,6 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002>;
nvmem-cell-names = "calibration", "mac-address";
};

View File

@ -93,9 +93,10 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x1002>;
mtd-mac-address-increment-byte = <3>;
mtd-mac-address-increment = <0x40>;
nvmem-cells = <&macaddr_art_1002>;
nvmem-cell-names = "mac-address";
mac-address-increment-byte = <3>;
mac-address-increment = <0x40>;
};
&mdio1 {
@ -107,3 +108,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
};

View File

@ -63,7 +63,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -117,3 +118,13 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -5,6 +5,10 @@
/ {
model = "GL.iNet 6408";
compatible = "glinet,6408", "qca,ar9331";
aliases {
label-mac-device = &wmac;
};
};
&spi {
@ -40,3 +44,30 @@
};
};
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -5,6 +5,10 @@
/ {
model = "GL.iNet 6416";
compatible = "glinet,6416", "qca,ar9331";
aliases {
label-mac-device = &wmac;
};
};
&spi {
@ -40,3 +44,30 @@
};
};
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -6,10 +6,6 @@
#include <dt-bindings/input/input.h>
/ {
aliases {
label-mac-device = &wmac;
};
keys {
compatible = "gpio-keys";
@ -48,8 +44,6 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
@ -60,8 +54,6 @@
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
};
&usb {
@ -76,7 +68,4 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};

View File

@ -121,7 +121,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -134,7 +135,8 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&wmac {
@ -142,3 +144,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -58,7 +58,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -117,3 +118,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -24,8 +24,9 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
gmac-config {
device = <&gmac>;
@ -38,8 +39,9 @@
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&pinmux {
@ -90,3 +92,13 @@
&usb_phy {
status = "okay";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -62,7 +62,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&eth1 {
@ -119,3 +120,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -1,43 +1,86 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9341.dtsi"
#include "ar9331.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "PISEN WPR003N";
compatible = "pisen,wpr003n", "qca,ar9341";
model = "Onion Omega";
compatible = "onion,omega", "qca,ar9331";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
serial0 = &uart;
label-mac-device = &wmac;
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "blue:power";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
default-state = "on";
led_system: system {
label = "amber:system";
gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "Reset";
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
};
reg_usb_vbus: reg_usb_vbus {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&ref {
clock-frequency = <25000000>;
};
&usb {
status = "okay";
vbus-supply = <&reg_usb_vbus>;
dr_mode = "host";
};
&usb_phy {
status = "okay";
};
&eth0 {
status = "okay";
compatible = "syscon", "simple-mfd";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
gmac-config {
device = <&gmac>;
switch-phy-addr-swap = <4>;
switch-phy-swap = <4>;
};
};
&spi {
@ -45,8 +88,8 @@
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
reg = <0>;
partitions {
compatible = "fixed-partitions";
@ -74,33 +117,21 @@
};
};
&eth0 {
status = "okay";
phy-handle = <&swphy4>;
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
switch-phy-only_mode = <0>;
};
};
&usb {
status = "okay";
};
&usb_phy {
status = "okay";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -75,7 +75,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -102,5 +103,16 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -83,7 +83,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -111,5 +112,16 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -109,14 +109,16 @@
&eth0 {
status = "okay";
mtd-mac-address = <&config 0x0>;
nvmem-cells = <&macaddr_config_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&config 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_config_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&spi {
@ -188,6 +190,17 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&config 0x0>;
mtd-mac-address-increment = <2>;
nvmem-cells = <&macaddr_config_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};
&config {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -146,7 +146,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -165,5 +166,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -135,7 +135,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -154,5 +155,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -80,7 +80,8 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -110,5 +111,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -2,6 +2,12 @@
#include "ar9331_tplink_tl-wr710n.dtsi"
/ {
aliases {
label-mac-device = &eth0;
};
};
&spi {
status = "okay";
@ -35,3 +41,31 @@
};
};
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -11,7 +11,6 @@
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth0;
};
keys {
@ -47,8 +46,6 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
@ -59,9 +56,6 @@
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
};
&usb {
@ -77,7 +71,4 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};

View File

@ -121,8 +121,9 @@
&eth0 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
gmac-config {
device = <&gmac>;
@ -135,13 +136,25 @@
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -46,7 +46,8 @@
};
&eth1 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&wmac {
@ -54,3 +55,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -65,13 +65,15 @@
phy-handle = <&swphy0>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -84,3 +86,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -142,11 +142,13 @@
phy-handle = <&swphy4>;
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&eth1 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&wmac {
@ -154,3 +156,17 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -133,18 +133,30 @@
status = "okay";
phy-handle = <&swphy0>;
mtd-mac-address = <&art 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&eth1 {
phy-handle = <&swphy4>;
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
switch-phy-swap = <1>;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -188,7 +188,8 @@
&eth0 {
status = "okay";
phy-handle = <&swphy4>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
@ -213,3 +214,13 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -11,7 +11,6 @@
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
label-mac-device = &wmac;
};
leds: leds {
@ -80,14 +79,9 @@
status = "okay";
phy-handle = <&swphy0>;
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
};
&eth1 {
mtd-mac-address = <&uboot 0x1fc00>;
gmac-config {
device = <&gmac>;
switch-phy-swap = <1>;
@ -96,7 +90,4 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
};

View File

@ -6,6 +6,10 @@
model = "TP-Link TL-MR3420 v2";
compatible = "tplink,tl-mr3420-v2", "qca,ar9341";
aliases {
label-mac-device = &wmac;
};
keys {
compatible = "gpio-keys";
@ -91,3 +95,31 @@
&usb_phy {
status = "okay";
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -54,7 +54,8 @@
phy-handle = <&swphy0>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -71,5 +72,16 @@
status = "okay";
mtd-cal-data = <&art 0x1000>;
mtd-mac-address = <&uboot 0x1fc00>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -6,6 +6,10 @@
model = "TP-Link TL-WR841N/ND v8";
compatible = "tplink,tl-wr841-v8", "qca,ar9341";
aliases {
label-mac-device = &wmac;
};
keys {
compatible = "gpio-keys";
@ -59,3 +63,31 @@
};
};
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -6,6 +6,10 @@
model = "TP-Link TL-WR842N/ND v2";
compatible = "tplink,tl-wr842n-v2", "qca,ar9341";
aliases {
label-mac-device = &wmac;
};
keys {
compatible = "gpio-keys";
@ -93,6 +97,32 @@
status = "okay";
};
&eth0 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <(-1)>;
};
&eth1 {
phy-handle = <&swphy4>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&wmac {
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@ -16,6 +16,13 @@
led-upgrade = &led_power;
};
gpio_key: gpio_key {
compatible = "mikrotik,gpio-rb91x-key";
gpio-controller;
#gpio-cells = <2>;
gpio = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
gpio_latch: gpio_latch {
compatible = "gpio-latch";
gpio-controller;
@ -27,7 +34,7 @@
<0>, /* Not connected */
<&gpio 13 GPIO_ACTIVE_HIGH>,
<&gpio 14 GPIO_ACTIVE_HIGH>,
<&gpio 15 GPIO_ACTIVE_HIGH>,
<&gpio_key 0 GPIO_ACTIVE_HIGH>,
<&gpio 11 GPIO_ACTIVE_LOW>; /* Latch Enable */
};
@ -40,7 +47,8 @@
<&gpio_latch 6 GPIO_ACTIVE_HIGH>, /* Command Latch Enable (CLE) */
<&gpio_latch 7 GPIO_ACTIVE_HIGH>, /* Address Latch Enable (ALE) */
<&gpio 12 GPIO_ACTIVE_LOW>, /* Read/Write Enable (nRW) */
<&gpio_latch 8 GPIO_ACTIVE_LOW>; /* Latch Enable (nLE) */
<&gpio_latch 8 GPIO_ACTIVE_LOW>, /* Latch Enable (nLE) */
<&gpio_key 2 GPIO_ACTIVE_HIGH>; /* Key poll disable */
partitions {
compatible = "fixed-partitions";
@ -64,6 +72,17 @@
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
button@0 {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio_key 1 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
@ -127,6 +146,10 @@
};
};
&ref {
clock-frequency = <25000000>;
};
&spi {
status = "okay";
@ -194,7 +217,6 @@
gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
rgmii-enabled = <1>;
rxd-delay = <1>;
txd-delay = <1>;
};

View File

@ -15,7 +15,7 @@
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
@ -96,7 +96,8 @@
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x06000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
@ -111,3 +112,13 @@
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -0,0 +1,34 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9342_ubnt_xw.dtsi"
/ {
compatible = "ubnt,powerbeam-m2-xw", "ubnt,xw", "qca,ar9342";
model = "Ubiquiti PowerBeam M2 (XW)";
};
&mdio0 {
status = "okay";
phy-mask = <4>;
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&eth0 {
status = "okay";
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x02000000 0x00000101 0x00001313>;
phy-mode = "rgmii-id";
phy-handle = <&phy1>;
gmac-config {
device = <&gmac>;
rxd-delay = <3>;
rxdv-delay = <3>;
};
};

View File

@ -3,8 +3,8 @@
#include "ar9342_ubnt_xw.dtsi"
/ {
compatible = "ubnt,powerbeam-m-xw", "ubnt,xw", "qca,ar9342";
model = "Ubiquiti PowerBeam M (XW)";
compatible = "ubnt,powerbeam-m5-xw", "ubnt,xw", "qca,ar9342";
model = "Ubiquiti PowerBeam M5 (XW)";
};
&mdio0 {

View File

@ -78,6 +78,16 @@
&wmac {
status = "okay";
qca,disable-5ghz;
ieee80211-freq-limit = <2402000 2482000>;
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -18,7 +18,8 @@
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x02000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii-id";
phy-handle = <&phy4>;

View File

@ -26,7 +26,8 @@
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x06000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;

View File

@ -110,5 +110,16 @@
};
&eth0 {
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -106,8 +106,9 @@
compatible = "pci168c,0030";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&hw_info 0x0>;
mtd-mac-address-increment = <2>;
nvmem-cells = <&macaddr_hw_info_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};
};
@ -160,8 +161,9 @@
&wmac {
status = "okay";
mtd-mac-address = <&hw_info 0x0>;
mtd-mac-address-increment = <1>;
nvmem-cells = <&macaddr_hw_info_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&nand {
@ -215,7 +217,8 @@
pll-data = <0x06000000 0x00000101 0x00001313>;
mtd-mac-address = <&hw_info 0x0>;
nvmem-cells = <&macaddr_hw_info_0>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii-id";
phy-handle = <&phy0>;
@ -227,3 +230,13 @@
rxdv-delay = <1>;
};
};
&hw_info {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_hw_info_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -90,14 +90,16 @@
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&swphy4>;
};
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&ref {
@ -129,10 +131,30 @@
reg = <0x060000 0x010000>;
};
art: partition@70000 {
partition@70000 {
label = "art";
reg = <0x070000 0x010000>;
read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
cal_art_1000: cal@1000 {
reg = <0x1000 0x440>;
};
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
macaddr_art_1002: macaddr@1002 {
reg = <0x1002 0x6>;
};
};
partition@80000 {
@ -147,5 +169,6 @@
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002>;
nvmem-cell-names = "calibration", "mac-address";
};

View File

@ -0,0 +1,120 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9344.dtsi"
#include "ar934x_senao_loader.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "araknis,an-300-ap-i-n", "qca,ar9344";
model = "Araknis AN-300-AP-I-N";
aliases {
label-mac-device = &eth0;
led-boot = &led_power;
led-failsafe = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "amber:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "off";
};
wifi5g {
label = "blue:wifi5g";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wps {
label = "blue:wps";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wifi2g {
label = "blue:wifi2g";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
eee-broken-100tx;
eee-broken-1000t;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
phy-mode = "rgmii-txid";
pll-data = <0x02000000 0x00000101 0x00001313>;
};
&pcie {
status = "okay";
ath9k: wifi@0,0,0 {
compatible = "pci168c,0030";
reg = <0x0 0 0 0 0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
qca,disable-5ghz;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&wmac {
status = "okay";
qca,disable-2ghz;
mtd-cal-data = <&art 0x1000>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
};

View File

@ -0,0 +1,250 @@
// 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 <dt-bindings/mtd/partitions/uimage.h>
/ {
model = "Atheros DB120 reference board";
compatible = "atheros,db120", "qca,ar9344";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
};
leds {
compatible = "gpio-leds";
wlan2g {
label = "green:wlan2g";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "green:wlan5g";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
led_system: system {
label = "green:system";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
usb {
label = "green:usb";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port1>;
linux,default-trigger = "usbport";
};
};
leds-ath9k {
compatible = "gpio-leds";
wlan5g-ath {
label = "green:wlan5g-ath";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
wps {
linux,code = <KEY_WPS_BUTTON>;
label = "WPS button";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0 &fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x0>;
label = "firmware";
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <IH_MAGIC_OKLI>;
};
};
};
};
&ref {
clock-frequency = <40000000>;
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
read-only;
};
fwconcat0: partition@50000 {
label = "fwconcat0";
reg = <0x050000 0x630000>;
};
partition@680000 {
label = "loader";
reg = <0x680000 0x010000>;
};
fwconcat1: partition@690000 {
label = "fwconcat1";
reg = <0x690000 0x150000>;
};
partition@7e0000 {
label = "nvram";
reg = <0x7e0000 0x010000>;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
pll-data = <0x06000000 0x00000101 0x00001616>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&mdio0 {
status = "okay";
phy-mask = <0>;
phy0: ethernet-phy@0 {
reg = <0>;
qca,ar8327-initvals = <
0x04 0x07600000 /* PORT0 PAD MODE CTRL */
0x10 0xc1000000 /* POWER_ON_STRAP */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6_STATUS */
>;
};
};
&pinmux {
pmx_led_wan_lan: pinmux_led_wan_lan {
pinctrl-single,bits = <0x10 0x2c2d0000 0xffff0000>,
<0x14 0x292a2b 0xffffff>;
};
};
&builtin_switch {
pinctrl-names = "default";
pinctrl-0 = <&pmx_led_wan_lan>;
/delete-property/qca,phy4-mii-enable;
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
switch-phy-swap = <0>;
switch-only-mode = <1>;
};
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,0030";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
ieee80211-freq-limit = <4900000 5990000>;
#gpio-cells = <2>;
gpio-controller;
};
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&usb {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
hub_port1: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -120,7 +120,8 @@
&eth0 {
status = "okay";
phy-handle = <&swphy0>;
mtd-mac-address = <&art 0x0>;
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
gmac-config {
device = <&gmac>;
@ -130,10 +131,25 @@
&eth1 {
status = "okay";
mtd-mac-address = <&art 0x6>;
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
macaddr_art_6: macaddr@6 {
reg = <0x6 0x6>;
};
};

View File

@ -139,8 +139,19 @@
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&uboot 0x2e010>;
nvmem-cells = <&macaddr_uboot_2e010>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_2e010: macaddr@2e010 {
reg = <0x2e010 0x6>;
};
};

Some files were not shown because too many files have changed in this diff Show More