Initial commit

This commit is contained in:
domenico
2025-06-24 13:14:22 +02:00
commit 4002f145fc
9002 changed files with 1731834 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
include $(TOPDIR)/rules.mk
ARCH:=mips
BOARD:=ath79
BOARDNAME:=Atheros ATH79
CPU_TYPE:=24kc
SUBTARGETS:=generic mikrotik nand tiny
FEATURES:=ramdisk squashfs usbgadget
KERNEL_PATCHVER:=5.4
KERNEL_TESTING_PATCHVER:=5.10
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
kmod-gpio-button-hotplug swconfig \
kmod-ath9k uboot-envtools
$(eval $(call BuildTarget))

View File

@@ -0,0 +1,56 @@
#!/bin/sh
WIFI_PATH_CHANGED=0
. /lib/functions.sh
migrate_wifi_path() {
local section="$1"
local path
config_get path ${section} path
case ${path} in
"pci0000:01/0000:01:00.0")
board=$(board_name)
case "$board" in
tplink,archer-c7-v1|\
tplink,archer-c7-v2|\
zyxel,nbg6716)
path="pci0000:00/0000:00:00.0"
WIFI_PATH_CHANGED=1
;;
*)
return 0
;;
esac
;;
"platform/ahb/ahb:apb/18100000.wmac"|\
"platform/ar933x_wmac"|\
"platform/ar934x_wmac"|\
"platform/qca953x_wmac"|\
"platform/qca955x_wmac"|\
"platform/qca956x_wmac")
path="platform/ahb/18100000.wmac"
WIFI_PATH_CHANGED=1
;;
"platform/ath9k")
path="platform/ahb/180c0000.wmac"
WIFI_PATH_CHANGED=1
;;
*)
return 0
;;
esac
uci set wireless.${section}.path=${path}
}
[ "${ACTION}" = "add" ] && {
[ ! -e /etc/config/wireless ] && return 0
config_load wireless
config_foreach migrate_wifi_path wifi-device
[ "${WIFI_PATH_CHANGED}" = "1" ] && uci commit wireless
}

View File

@@ -0,0 +1,201 @@
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_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_BLK_MQ_PCI=y
CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=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_CHACHA_MIPS is not set
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2
# CONFIG_CRYPTO_POLY1305_MIPS is not set
CONFIG_CRYPTO_RNG2=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
CONFIG_EARLY_PRINTK=y
CONFIG_FIXED_PHY=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_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_GENERIC=y
# CONFIG_GPIO_LATCH 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_KERNEL_ZSTD is not set
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
CONFIG_MDIO_DEVICE=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_CBPF_JIT=y
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_ELF_APPENDED_DTB is not set
# CONFIG_MIPS_GENERIC_KERNEL 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_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_OF_NET=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_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

@@ -0,0 +1,251 @@
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_CLOCKSOURCE_DATA=y
CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y
CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
CONFIG_ARCH_HAS_UNCACHED_SEGMENT=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=15
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y
CONFIG_ATH79_WDT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=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_LOAD_STORE_LR=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_RNG2=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DMA_NONCOHERENT_CACHE_SYNC=y
CONFIG_DTC=y
CONFIG_EARLY_PRINTK=y
CONFIG_EFI_EARLYCON=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_FONT_SUPPORT=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_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_GENERIC=y
# CONFIG_GPIO_LATCH 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_HAVE_ARCH_COMPILER_H=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PCI=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=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_MDIO_BITBANG=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=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_ELF_APPENDED_DTB is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# 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_NAND_RB91X 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_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_OF_NET=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_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

@@ -0,0 +1,211 @@
// 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>
/ {
compatible = "iodata,wn-ag300dgr", "qca,ar9344";
model = "I-O DATA WN-AG300DGR";
aliases {
led-boot = &led_router;
led-failsafe = &led_router;
led-running = &led_router;
led-upgrade = &led_router;
};
leds {
compatible = "gpio-leds";
led_router: router {
label = "green:router";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
children {
label = "green:children";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
eco {
label = "green:eco";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
notification {
label = "amber:notification";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "green:wlan2g";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "green:wlan5g";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
eco {
label = "eco";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
debounce-interval = <60>;
};
router {
label = "router";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
debounce-interval = <60>;
};
auto {
label = "auto";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
debounce-interval = <60>;
};
wps {
label = "wps";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
reset {
label = "reset";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
children {
label = "children";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
debounce-interval = <60>;
};
};
};
&ref {
clock-frequency = <25000000>;
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x030000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x030000 0x010000>;
read-only;
};
partition@40000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x040000 0xf10000>;
};
partition@f50000 {
label = "manufacture";
reg = <0xf50000 0x40000>;
read-only;
};
partition@f90000 {
label = "backup";
reg = <0xf90000 0x10000>;
read-only;
};
partition@fa0000 {
label = "storage";
reg = <0xfa0000 0x50000>;
read-only;
};
partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
qca,ar8327-initvals = <
0x04 0x07a00000 /* PORT0 PAD MODE CTRL */
0x7c 0x000000fe /* PORT0_STATUS */
>;
};
};
&eth0 {
status = "okay";
pll-data = <0x06000000 0x00000101 0x00001616>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
};
};
&pcie {
status = "okay";
};
&usb {
status = "okay";
};
&usb_phy {
status = "okay";
};
&wmac {
status = "okay";
qca,no-eeprom;
};

View File

@@ -0,0 +1,165 @@
// 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>
/ {
model = "Sitecom WLR-7100 (X7 AC1200)";
compatible = "sitecom,wlr-7100", "qca,ar9344";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
wlan2g {
label = "2.4GHz";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wlan5g {
label = "5GHz";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
ops {
label = "white:ops";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "amber:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wlan2g {
label = "blue:wlan2g";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
&eth0 {
status = "okay";
pll-data = <0x06000000 0x00000101 0x00001616>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
qca,ar8327-initvals = <
0x04 0x87a00000 /* PORT0 PAD Mode */
0x0c 0x01000000 /* PORT6 PAD Mode */
0x10 0x80000000 /* PWS_REG_VALUE */
0x7c 0x000000fe /* PORT0_STATUS */
0x94 0x000000fe /* PORT6_STATUS */
>;
};
};
&pcie {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x0000 0 0 0 0>;
};
};
&ref {
clock-frequency = <25000000>;
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x030000>;
read-only;
};
uenv: partition@30000 {
label = "u-boot-env";
reg = <0x030000 0x010000>;
read-only;
};
partition@40000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x040000 0x750000>;
};
partition@790000 {
label = "backup";
reg = <0x790000 0x010000>;
read-only;
};
partition@7a0000 {
label = "storage";
reg = <0x7a0000 0x050000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&usb {
status = "okay";
};
&usb_phy {
status = "okay";
};
&wmac {
status = "okay";
qca,no-eeprom;
};

View File

@@ -0,0 +1,221 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ath79.dtsi"
/ {
compatible = "qca,ar7100";
chosen {
bootargs = "console=ttyS0,115200";
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "mips,mips24Kc";
clocks = <&pll ATH79_CLK_CPU>;
reg = <0>;
};
};
ahb {
apb {
ddr_ctrl: memory-controller@18000000 {
compatible = "qca,ar7100-ddr-controller";
reg = <0x18000000 0x100>;
#qca,ddr-wb-channel-cells = <1>;
};
uart: uart@18020000 {
compatible = "ns16550a";
reg = <0x18020000 0x20>;
interrupts = <3>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "uart";
reg-io-width = <4>;
reg-shift = <2>;
no-loopback-test;
};
usb_phy: usb-phy@18030000 {
compatible = "qca,ar7100-usb-phy";
reg = <0x18030000 0x10>;
reset-names = "usb-phy", "usb-host", "usb-ohci-dll";
resets = <&rst 4>, <&rst 5>, <&rst 6>;
#phy-cells = <0>;
status = "disabled";
};
gpio: gpio@18040000 {
compatible = "qca,ar7100-gpio";
reg = <0x18040000 0x28>;
interrupts = <2>;
ngpios = <16>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
pll: pll-controller@18050000 {
compatible = "qca,ar7100-pll", "syscon";
reg = <0x18050000 0x20>;
clock-names = "ref";
/* The board must provides the ref clock */
#clock-cells = <1>;
clock-output-names = "cpu", "ddr", "ahb";
};
wdt: wdt@18060008 {
compatible = "qca,ar7130-wdt";
reg = <0x18060008 0x8>;
interrupts = <4>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "wdt";
};
pci_intc: interrupt-controller@18060018 {
compatible = "qca,ar7100-misc-intc";
reg = <0x18060018 0x4>;
interrupt-parent = <&cpuintc>;
interrupts = <2>;
interrupt-controller;
#interrupt-cells = <1>;
};
rst: reset-controller@18060024 {
compatible = "qca,ar7100-reset";
reg = <0x18060024 0x4>;
#reset-cells = <1>;
};
pcie0: pcie-controller@17010000 {
compatible = "qca,ar7100-pci";
#address-cells = <3>;
#size-cells = <2>;
bus-range = <0x0 0x0>;
reg = <0x17010000 0x100>;
reg-names = "cfg_base";
ranges = <0x2000000 0 0x10000000 0x10000000 0 0x07000000 /* pci memory */
0x1000000 0 0x00000000 0x0000000 0 0x000001>; /* io space */
device_type = "pci";
interrupt-parent = <&pci_intc>;
interrupts = <4>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xf800 0 0 0>;
interrupt-map = <0x8800 0 0 0 &pci_intc 0
0x9000 0 0 0 &pci_intc 1
0x9800 0 0 0 &pci_intc 2>;
status = "disabled";
};
};
};
usb2: usb@1b000000 {
compatible = "generic-ehci";
reg = <0x1b000000 0x1000>;
interrupt-parent = <&cpuintc>;
interrupts = <3>;
phy-names = "usb-phy";
phys = <&usb_phy>;
has-synopsys-hc-bug;
status = "disabled";
};
usb1: usb@1c000000 {
compatible = "generic-ohci";
reg = <0x1c000000 0x1000>;
interrupt-parent = <&miscintc>;
interrupts = <6>;
phy-names = "usb-phy";
phys = <&usb_phy>;
status = "disabled";
};
spi: spi@1f000000 {
compatible = "qca,ar7100-spi";
reg = <0x1f000000 0x10>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "ahb";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
};
&cpuintc {
qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
<&ddr_ctrl 0>, <&ddr_ctrl 1>;
};
&miscintc {
compatible = "qca,ar7100-misc-intc";
};
&eth0 {
compatible = "qca,ar7100-eth", "syscon";
reg = <0x19000000 0x200
0x18070000 0x4>;
pll-data = <0x00110000 0x00001099 0x00991099>;
pll-reg = <0x4 0x10 17>;
pll-handle = <&pll>;
phy-mode = "rgmii";
resets = <&rst 9>;
reset-names = "mac";
qca,mac-idx = <0>;
};
&mdio1 {
builtin-switch;
};
&eth1 {
compatible = "qca,ar7100-eth", "syscon";
reg = <0x1a000000 0x200
0x18070004 0x4>;
pll-data = <0x00110000 0x00001099 0x00991099>;
pll-reg = <0x4 0x14 19>;
pll-handle = <&pll>;
phy-mode = "rgmii";
resets = <&rst 13>;
reset-names = "mac";
qca,mac-idx = <1>;
};

View File

@@ -0,0 +1,172 @@
// SPDX-License-Identifier: GPL-1.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_user;
led-failsafe = &led_user;
led-running = &led_user;
};
leds {
compatible = "gpio-leds";
led_user: user {
label = "yellow:user";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led1 {
label = "green:led1";
gpios = <&cpld_gpio 0 GPIO_ACTIVE_LOW>;
};
led2 {
label = "green:led2";
gpios = <&cpld_gpio 2 GPIO_ACTIVE_LOW>;
};
led3 {
label = "green:led3";
gpios = <&cpld_gpio 1 GPIO_ACTIVE_LOW>;
};
led4 {
label = "green:led4";
gpios = <&cpld_gpio 3 GPIO_ACTIVE_LOW>;
};
led5 {
label = "green:led5";
gpios = <&cpld_gpio 8 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
ngpios = <31>;
gpio-line-names =
"", "", "", "", "LED", "RDY", "", "MDC",
"MDIO", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "";
};
&pcie0 {
status = "okay";
};
&spi {
status = "okay";
compatible = "mikrotik,rb4xx-spi";
flash@0 {
compatible = "pm25lv512", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "mikrotik,routerboot-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "routerboot1";
reg = <0x0 0x0>;
read-only;
};
hard_config {
label = "hard_config";
read-only;
};
bios {
label = "bios";
size = <0x1000>;
read-only;
};
routerboot2 {
label = "routerboot2";
read-only;
};
soft_config {
label = "soft_config";
};
};
};
cpld@1 {
compatible = "mikrotik,rb4xx-cpld";
reg = <1>;
spi-max-frequency = <25000000>;
cpld_gpio: gpio {
compatible = "mikrotik,rb4xx-gpio";
base = <32>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"LED1", "LED2", "LED3", "LED4",
"FAN", "ALE", "CLE", "nCE",
"LED5";
};
nand {
compatible = "mikrotik,rb4xx-nand";
gpios = <&cpld_gpio 5 GPIO_ACTIVE_HIGH>, // ALE
<&cpld_gpio 6 GPIO_ACTIVE_HIGH>, // CLE
<&cpld_gpio 7 GPIO_ACTIVE_HIGH>, // nCE
<&gpio 5 GPIO_ACTIVE_HIGH>; // RDY
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "booter";
reg = <0x0000000 0x0040000>;
read-only;
};
partition@40000 {
label = "kernel";
reg = <0x0040000 0x0800000>;
};
partition@840000 {
label = "ubi";
reg = <0x0840000 0x77c0000>;
};
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
};
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_adtran_bsap1880.dtsi"
/ {
model = "Adtran/Bluesocket BSAP-1800 v2";
compatible = "adtran,bsap1800-v2", "qca,ar7161";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_adtran_bsap1880.dtsi"
/ {
model = "Adtran/Bluesocket BSAP-1840";
compatible = "adtran,bsap1840", "qca,ar7161";
};

View File

@@ -0,0 +1,93 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_yellow;
led-running = &led_status_green;
led-upgrade = &led_status_yellow;
};
leds {
compatible = "gpio-leds";
wlan5g {
label = "green:wifi5g";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
wlan2g {
label = "green:wifi2g";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
led_status_green: status_green {
label = "green:status";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
led_status_yellow: status_yellow {
label = "yellow:status";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy0>;
};
&pcie0 {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
#address-cells = <1>;
#size-cells = <1>;
compatible = "ecoscentric,redboot-fis-partitions";
};
};
};

View File

@@ -0,0 +1,194 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "aruba,ap-105", "qca,ar7161";
model = "Aruba AP-105";
chosen {
bootargs = "console=ttyS0,9600";
};
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_red;
led-running = &led_power_green;
led-upgrade = &led_power_green;
label-mac-device = &eth0;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
led_power_red: power_red {
label = "red:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
panic-indicator;
};
wifi_2g_red {
label = "red:wlan2g";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
wifi_5g_red {
label = "red:wlan5g";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wifi_2g_green {
label = "green:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wifi_5g_green {
label = "green:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
};
i2c {
compatible = "i2c-gpio";
sda-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
scl-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
#address-cells = <1>;
#size-cells = <0>;
tpm@29 {
compatible = "atmel,at97sc3203s";
reg = <0x29>;
/* triggering it, will also kill system */
reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
};
};
&pcie0 {
status = "okay";
ath9k0: wifi@0,11 { /* 2.4 GHz */
compatible = "pci168c,0029";
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;
};
ath9k1: wifi@0,12 { /* 5 GHz */
compatible = "pci168c,0029";
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;
};
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_hwinfo_1c>;
nvmem-cell-names = "mac-address";
pll-data = <0x00110000 0x00001099 0x00991099>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x40000>;
read-only;
};
partition@40000 {
label = "firmware";
reg = <0x40000 0xfa0000>;
compatible = "denx,uimage";
};
hwinfo: partition@fe0000 {
label = "hwinfo";
reg = <0xfe0000 0x10000>;
read-only;
};
partition@ff0000 {
label = "u-boot-env";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&hwinfo {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_hwinfo_1c: macaddr@1c {
reg = <0x1c 0x6>;
};
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_buffalo_wzr-hp-ag300h.dtsi"
/ {
compatible = "buffalo,wzr-600dhp", "qca,ar7161";
model = "Buffalo WZR-600DHP";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_buffalo_wzr-hp-ag300h.dtsi"
/ {
compatible = "buffalo,wzr-hp-ag300h", "qca,ar7161";
model = "Buffalo WZR-HP-AG300H";
};

View File

@@ -0,0 +1,281 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_diag;
led-failsafe = &led_diag;
led-upgrade = &led_diag;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
led_diag: diag {
label = "red:diag";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
band2g_a {
label = "amber:band2g";
gpios = <&ath9k0 1 GPIO_ACTIVE_LOW>;
};
usb {
label = "green:usb";
gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
band2g_g {
label = "green:band2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
band5g_g {
label = "green:band5g";
gpios = <&ath9k1 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
router {
label = "green:router";
gpios = <&ath9k1 3 GPIO_ACTIVE_LOW>;
};
movie_engine {
label = "blue:movie_engine";
gpios = <&ath9k1 4 GPIO_ACTIVE_LOW>;
};
band5g_a {
label = "amber:band5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
usb {
linux,code = <BTN_2>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
aoss {
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_auto {
linux,code = <BTN_6>;
linux,input-type = <EV_SW>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_off {
linux,code = <BTN_5>;
linux,input-type = <EV_SW>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
movie_engine {
linux,code = <BTN_7>;
linux,input-type = <EV_SW>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
gpio-export {
compatible = "gpio-export";
gpio_usb_power {
gpio-export,name = "buffalo:power:usb";
gpio-export,output = <1>;
gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
};
};
flash {
compatible = "mtd-concat";
devices = <&flash0 &flash1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0000000 0x0040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x0040000 0x0010000>;
read-only;
};
art: partition@50000 {
label = "art";
reg = <0x0050000 0x0010000>;
read-only;
};
partition@60000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x0060000 0x1f90000>;
};
partition@1ff0000 {
label = "user_property";
reg = <0x1ff0000 0x0010000>;
read-only;
};
};
};
};
&usb_phy {
status = "okay";
};
&usb1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&pcie0 {
status = "okay";
ath9k0: wifi@0,11 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
ath9k1: wifi@0,12 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&pll {
clocks = <&extosc>;
};
&spi {
status = "okay";
flash0: flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
m25p,fast-read;
};
flash1: flash@1 {
compatible = "jedec,spi-nor";
reg = <1>;
spi-max-frequency = <50000000>;
m25p,fast-read;
};
};
&mdio0 {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&eth1 {
status = "okay";
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

@@ -0,0 +1,229 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-825-b1", "qca,ar7161";
model = "D-Link DIR825B1";
aliases {
led-boot = &led_power_orange;
led-failsafe = &led_power_orange;
led-running = &led_power_blue;
led-upgrade = &led_power_orange;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
usb {
label = "blue:usb";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_power_blue: power_blue {
label = "blue:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
wps {
label = "blue:wps";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
planet_orange {
label = "orange:planet";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
planet_blue {
label = "blue:planet";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan2g {
label = "blue:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
};
rtl8366s {
compatible = "realtek,rtl8366s";
gpio-sda = <&gpio 5 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 7 GPIO_ACTIVE_HIGH>;
realtek,initvals = <0x06 0x0108>;
mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy-mask = <0x10>;
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
};
};
&usb1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&pcie0 {
status = "okay";
ath9k0: wifi@0,11 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
ath9k1: wifi@0,12 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&pll {
clocks = <&extosc>;
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "config";
reg = <0x040000 0x010000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x050000 0x610000>;
};
partition@660000 {
label = "caldata";
reg = <0x660000 0x010000>;
read-only;
};
partition@670000 {
label = "unknown";
reg = <0x670000 0x190000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
pll-data = <0x11110000 0x00001099 0x00991099>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&eth1 {
status = "okay";
pll-data = <0x11110000 0x00001099 0x00991099>;
phy-handle = <&phy4>;
};

View File

@@ -0,0 +1,119 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "jjPlus JA76PF2";
compatible = "jjplus,ja76pf2", "qca,ar7161";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_d2;
led-failsafe = &led_d2;
led-running = &led_d2;
led-upgrade = &led_d2;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
led_d2: d2 {
label = "green:d2";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
d3 {
label = "green:d3";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
d4 {
label = "green:d4";
gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
sw1 {
label = "sw1";
linux,code = <KEY_RESTART>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
sw2 {
label = "sw2";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
};
&eth1 {
status = "okay";
phy-handle = <&phy4>;
};
&pcie0 {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
#address-cells = <1>;
#size-cells = <1>;
compatible = "ecoscentric,redboot-fis-partitions";
};
};
};

View File

@@ -0,0 +1,182 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "meraki,mr16", "qca,ar7161";
model = "Meraki MR16";
aliases {
led-boot = &led_power_orange;
led-failsafe = &led_power_orange;
led-running = &led_power_green;
led-upgrade = &led_power_orange;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
wifi1 {
label = "green:wifi1";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
wifi2 {
label = "green:wifi2";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
wifi3 {
label = "green:wifi3";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
wifi4 {
label = "green:wifi4";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
panic-indicator;
};
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
};
};
&pcie0 {
status = "okay";
ath9k0: wifi@0,11 { /* 2.4 GHz */
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
#gpio-cells = <2>;
gpio-controller;
};
ath9k1: wifi@0,12 { /* 5 GHz */
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <2>;
#gpio-cells = <2>;
gpio-controller;
};
};
&pll {
clocks = <&extosc>;
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
pll-data = <0x00110000 0x00001099 0x00991099>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x40000>;
read-only;
};
config: partition@80000 {
label = "config";
reg = <0x80000 0x20000>;
read-only;
};
partition@a0000 {
label = "firmware";
reg = <0xa0000 0xf40000>;
compatible = "denx,uimage";
};
partition@fe0000 {
label = "art";
reg = <0xfe0000 0x20000>;
read-only;
};
};
};
};
&config {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_66: macaddr@66 {
reg = <0x66 0x6>;
};
};

View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: GPL-1.0-or-later OR MIT
#include "ar7100_mikrotik_routerboard-4xx.dtsi"
/ {
compatible = "mikrotik,routerboard-493g", "qca,ar7161";
model = "MikroTik RouterBOARD 493G";
aliases {
mdio-gpio0 = &mdio_gpio0;
};
};
&spi {
sdcard: mmc-slot@2 {
compatible = "mmc-spi-slot";
reg = <2>;
spi-max-frequency = <25000000>;
};
};
&eth1 {
status = "okay";
phy-handle = <&gpio_phy0>;
mdio_gpio0: mdio-gpio {
compatible = "virtual,mdio-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>, // MDC
<&gpio 8 GPIO_ACTIVE_HIGH>; // MDIO
gpio_phy0: ethernet-phy@0 {
reg = <0>;
};
};
};
&usb_phy {
status = "okay";
};
&usb2 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,223 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
aliases {
led-boot = &led_power_orange;
led-failsafe = &led_power_orange;
led-running = &led_power_green;
led-upgrade = &led_power_orange;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
reset-leds {
compatible = "reset-leds";
usb_led {
label = "green:usb";
resets = <&rst 12>;
trigger-sources = <&usb_ohci_port>, <&usb_ehci_port>;
linux,default-trigger = "usbport";
};
};
leds {
compatible = "gpio-leds";
wps {
label = "orange:wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wps_green {
label = "green:wps";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
wan_green {
label = "green:wan";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan2g {
label = "green:wlan2g";
gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "blue:wlan5g";
gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
rtl8366s {
compatible = "realtek,rtl8366s";
gpio-sda = <&gpio 5 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 7 GPIO_ACTIVE_HIGH>;
mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy-mask = <0x10>;
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
};
};
&usb_phy {
status = "okay";
};
&usb1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&pcie0 {
status = "okay";
ath9k0: wifi@0,11 {
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
/* all WNDR3700 variants have four antennae dedicated
* to the 2.4GHz radio. Two antennae are available for
* each chain. The following configuration is the
* default setting which taken from the vendor's wifi
* code for that radio.
*
* All possible options [GPIO6,GPIO7,GPIO8,GPIO9]:
* [0,1,0,1], [0,1,1,0], [1,0,0,1], [1,0,1,0]
*/
antenna-demux {
gpio-hog;
line-name = "fixed antenna group 1";
gpios = <6 GPIO_ACTIVE_LOW>,
<7 GPIO_ACTIVE_HIGH>,
<8 GPIO_ACTIVE_LOW>,
<9 GPIO_ACTIVE_HIGH>;
output-high;
};
};
ath9k1: wifi@0,12 {
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions: partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
};
};
};
&eth0 {
status = "okay";
pll-data = <0x11110000 0x00001099 0x00991099>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&eth1 {
status = "okay";
pll-data = <0x11110000 0x00001099 0x00991099>;
phy-handle = <&phy4>;
};

View File

@@ -0,0 +1,77 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr3700-v2", "qca,ar7161";
model = "Netgear WNDR3700 v2";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&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>;
};
};

View File

@@ -0,0 +1,96 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr3700", "qca,ar7161";
model = "Netgear WNDR3700";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0x780000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373030>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
/* 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
* default setting which taken from the vendor's wifi
* code for that radio.
*
* All possible options [GPIO6,GPIO7,GPIO8,GPIO9]:
* [0,1,0,1], [0,1,1,0], [1,0,0,1], [1,0,1,0]
*/
antenna-demux {
gpio-hog;
line-name = "fixed antenna group 2";
gpios = <6 GPIO_ACTIVE_LOW>,
<7 GPIO_ACTIVE_HIGH>,
<8 GPIO_ACTIVE_HIGH>,
<9 GPIO_ACTIVE_LOW>;
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>;
};
};

View File

@@ -0,0 +1,78 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr3800", "qca,ar7161";
model = "Netgear WNDR3800";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
read-only;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&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>;
};
};

View File

@@ -0,0 +1,78 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndr3800ch", "qca,ar7161";
model = "Netgear WNDR3800CH";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
read-only;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&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>;
};
};

View File

@@ -0,0 +1,77 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndrmac-v1", "qca,ar7161";
model = "Netgear WNDRMAC v1";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&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>;
};
};

View File

@@ -0,0 +1,78 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_netgear_wndr.dtsi"
/ {
compatible = "netgear,wndrmac-v2", "qca,ar7161";
model = "Netgear WNDRMAC v2";
aliases {
label-mac-device = &eth0;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x000000 0x050000>;
read-only;
};
partition@50000 {
label = "u-boot-env";
reg = <0x050000 0x020000>;
read-only;
};
partition@70000 {
label = "firmware";
reg = <0x070000 0xf80000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x33373031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&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>;
};
};

View File

@@ -0,0 +1,175 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "siemens,ws-ap3610", "qca,ar7161";
model = "Siemens WS-AP3610";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_red;
led-running = &led_power_green;
led-upgrade = &led_power_red;
label-mac-device = &eth0;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
led_power_green: led_power_green {
label = "green:power";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
led_power_red: led_power_red {
label = "red:power";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_wlan5_blue {
label = "blue:wlan5";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
led_wlan5_green {
label = "green:wlan5";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
led_wlan2_blue {
label = "blue:wlan2";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
led_wlan2_green {
label = "green:wlan2";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
};
&pcie0 {
status = "okay";
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
/*
* When the compatible-is missing, PHY autodetection
* is performed, but the PHY-ID reads all 0xff.
*
* Linux does not create the device in this case,
* and the reset is never even de-asserted.
*/
compatible = "ethernet-phy-id0143.bca2",
"ethernet-phy-ieee802.3-c22";
reg = <0>;
resets = <&rst 8>;
reset-names = "phy";
reset-assert-us = <10000>;
reset-deassert-us = <10000>;
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy0>;
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-bak";
reg = <0x40000 0x40000>;
read-only;
};
partition@80000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x80000 0xe00000>;
};
partition@e80000 {
label = "cfg1";
reg = <0xe80000 0x40000>;
read-only;
};
partition@ec0000 {
label = "cfg2";
reg = <0xec0000 0x40000>;
read-only;
};
partition@f00000 {
label = "nvram1";
reg = <0xf00000 0x40000>;
read-only;
};
partition@f40000 {
label = "nvram2";
reg = <0xf40000 0x40000>;
read-only;
};
partition@f80000 {
label = "rsvd1";
reg = <0xf80000 0x40000>;
read-only;
};
partition@fc0000 {
label = "rsvd2";
reg = <0xfc0000 0x40000>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,30 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_ubnt_routerstation.dtsi"
/ {
compatible = "ubnt,routerstation-pro", "qca,ar7161";
model = "Ubiquiti RouterStation Pro";
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
};
phy4: ethernet-phy@4 {
reg = <4>;
};
};
&eth0 {
phy-mode = "rgmii";
phy-handle = <&phy4>;
};
&eth1 {
phy-mode = "rgmii";
phy-handle = <&phy0>;
};

View File

@@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7161_ubnt_routerstation.dtsi"
/ {
compatible = "ubnt,routerstation", "qca,ar7161";
model = "Ubiquiti RouterStation";
};
&eth0 {
phy-mode = "mii";
fixed-link {
speed = <100>;
full-duplex;
};
};
&eth1 {
phy-mode = "rmii";
fixed-link {
speed = <100>;
full-duplex;
};
};

View File

@@ -0,0 +1,94 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_rf;
led-failsafe = &led_rf;
led-running = &led_rf;
led-upgrade = &led_rf;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
led_rf: rf_green {
label = "green:rf";
gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
wps {
label = "sw4";
linux,code = <KEY_RESTART>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&eth0 {
status = "okay";
};
&eth1 {
status = "okay";
};
&pcie0 {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "ecoscentric,redboot-fis-partitions";
};
};
};
&usb_phy {
status = "okay";
};
&usb1 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
usb_ohci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb2 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
usb_ehci_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};

View File

@@ -0,0 +1,87 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar724x.dtsi"
/ {
usb_phy: usb-phy {
compatible = "qca,ar7200-usb-phy";
reset-names = "usb-phy", "usb-ohci-dll";
resets = <&rst 4>, <&rst 3>;
#phy-cells = <0>;
status = "disabled";
};
};
&ahb {
usb: usb@1b000000 {
compatible = "generic-ohci";
reg = <0x1b000000 0x1000>;
interrupts = <3>;
resets = <&rst 5>;
reset-names = "usb-host";
phy-names = "usb-phy";
phys = <&usb_phy>;
status = "disabled";
};
};
&mdio0 {
status = "okay";
compatible = "qca,ar7240-mdio";
builtin-switch;
builtin_switch: switch0@1f {
compatible = "qca,ar7240sw";
reg = <0x1f>;
resets = <&rst 8>;
reset-names = "switch";
qca,mib-poll-interval = <500>;
mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
swphy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "mii";
};
};
};
};
&eth0 {
status = "okay";
compatible = "qca,ar7240-eth", "syscon";
pll-data = <0x00110000 0x00001099 0x00991099>;
resets = <&rst 9>;
reset-names = "mac";
phy-handle = <&swphy4>;
};
&eth1 {
compatible = "qca,ar7240-eth", "syscon";
pll-data = <0x00110000 0x00001099 0x00991099>;
resets = <&rst 13>;
reset-names = "mac";
phy-mode = "gmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@@ -0,0 +1,196 @@
// 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 = "buffalo,whr-g301n", "qca,ar7240";
model = "Buffalo WHR-G301N";
aliases {
led-boot = &led_diag;
led-failsafe = &led_diag;
led-upgrade = &led_diag;
};
keys {
compatible = "gpio-keys";
router_on {
label = "router_on";
linux,code = <BTN_2>;
linux,input-type = <EV_SW>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_off {
label = "router_off";
linux,code = <BTN_3>;
linux,input-type = <EV_SW>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&switch_led_pins>;
security {
label = "orange:security";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led_diag: diag {
label = "red:diag";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
router {
label = "green:router";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&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>;
partition@0 {
reg = <0x0 0x3e000>;
label = "u-boot";
read-only;
};
partition@3e000 {
reg = <0x3e000 0x2000>;
label = "u-boot-env";
read-only;
};
partition@40000 {
compatible = "denx,uimage";
reg = <0x40000 0x3a0000>;
label = "firmware";
};
partition@3e0000 {
reg = <0x3e0000 0x10000>;
label = "user_property";
read-only;
};
art: partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&eth0 {
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
#gpio-cells = <2>;
gpio-controller;
};
};
&pinmux {
switch_led_pins: switch_led_pins {
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

@@ -0,0 +1,159 @@
// 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>
/ {
model = "D-Link DIR-615 E4";
compatible = "dlink,dir-615-e4", "qca,ar7240";
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&switch_led_pins>;
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
};
led_power_amber: power_amber {
label = "amber:power";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
wps {
label = "blue:wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "amber:wan";
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
wan_green {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <33000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x30000>;
label = "u-boot";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "nvram";
read-only;
};
partition@40000 {
compatible = "denx,uimage";
reg = <0x40000 0x3b0000>;
label = "firmware";
};
partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&eth1 {
status = "okay";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&pinmux {
switch_led_pins: pinmux_switch_led_pins {
pinctrl-single,bits = <0x0 0x0 0xf8>;
};
};

View File

@@ -0,0 +1,106 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240.dtsi"
#include "ar724x_senao_loader-64k.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "engenius,enh202-v1", "qca,ar7240";
model = "EnGenius ENH202 v1";
aliases {
led-boot = &led_rssihigh;
led-failsafe = &led_rssihigh;
led-running = &led_rssihigh;
led-upgrade = &led_rssihigh;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
rssilow {
label = "red:rssilow";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
rssimedium {
label = "amber:rssimedium";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
led_rssihigh: rssihigh {
label = "green:rssihigh";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan {
label = "amber:lan";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&eth0 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
ath9k: 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>;
};
};

View File

@@ -0,0 +1,215 @@
// 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>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
compatible = "netgear,wnr1000-v2", "qca,ar7240";
model = "Netgear WNR1000 v2";
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
label-mac-device = &eth1;
};
ath9k-keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&ath9k 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
label = "amber:power";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wan_green {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "amber:wan";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
lan1_green {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan1_amber {
label = "amber:lan1";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
lan2_green {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan2_amber {
label = "amber:lan2";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
lan3_green {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan3_amber {
label = "amber:lan3";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
lan4_green {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
lan4_amber {
label = "amber:lan4";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wps_green {
label = "green:wps";
gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
};
wlan_blue {
label = "blue:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x3a0000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x31303031>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x10000>;
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";
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
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,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_netgear_wnr612-v2.dtsi"
/ {
compatible = "netgear,wnr612-v2", "qca,ar7240";
model = "Netgear WNR612 v2";
};

View File

@@ -0,0 +1,148 @@
// 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>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
label-mac-device = &eth1;
};
ath9k-keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
led_power: power {
label = "green:power";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&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>;
partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "u-boot-env";
};
partition@50000 {
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x32303631>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
reg = <0x50000 0x3a0000>;
label = "firmware";
};
art: partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
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";
ath9k: wifi@0,0 {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
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,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_netgear_wnr612-v2.dtsi"
/ {
compatible = "on,n150r", "qca,ar7240";
model = "ON Network N150R";
};

View File

@@ -0,0 +1,128 @@
// 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>
/ {
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &ath9k;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinmux_switch_led_pins>;
led_system: system {
label = "green:system";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
qss {
label = "green:qss";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&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 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
reg = <0x20000 0x3d0000>;
label = "firmware";
};
art: partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&eth1 {
status = "okay";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
#gpio-cells = <2>;
gpio-controller;
};
};
&pinmux {
pinmux_switch_led_pins: switch_led_pins {
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

@@ -0,0 +1,23 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink.dtsi"
&leds {
lan {
label = "green:lan";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
};
&eth0 {
compatible = "syscon", "simple-mfd";
};
&eth1 {
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
&ath9k {
compatible = "pci168c,002a";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA701ND v1";
compatible = "tplink,tl-wa701nd-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA730RE v1";
compatible = "tplink,tl-wa730re-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA801ND v1";
compatible = "tplink,tl-wa801nd-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA830RE v1";
compatible = "tplink,tl-wa830re-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wa.dtsi"
/ {
model = "TP-Link TL-WA901ND v1";
compatible = "tplink,tl-wa901nd-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,46 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink.dtsi"
&leds {
lan1 {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan3 {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan4 {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wan {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
&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";
mac-address-increment = <1>;
};
&ath9k {
compatible = "pci168c,002b";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR740N v1/v2";
compatible = "tplink,tl-wr740n-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR740N v3";
compatible = "tplink,tl-wr740n-v3", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR741N/ND v1/v2";
compatible = "tplink,tl-wr741-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR743ND v1";
compatible = "tplink,tl-wr743nd-v1", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR841N/ND v5/v6";
compatible = "tplink,tl-wr841-v5", "qca,ar7240";
};

View File

@@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240_tplink_tl-wr.dtsi"
/ {
model = "TP-Link TL-WR941N/ND v4";
compatible = "tplink,tl-wr941-v4", "qca,ar7240";
};

View File

@@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7240.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,bullet-m-ar7240", "ubnt,xm", "qca,ar7240";
model = "Ubiquiti Bullet M (XM AR7240)";
};
&eth0 {
fixed-link {
speed = <100>;
full-duplex;
};
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,95 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar724x.dtsi"
/ {
usb_phy: usb-phy {
compatible = "qca,ar7200-usb-phy";
reset-names = "usb-phy", "usb-suspend-override";
resets = <&rst 4>, <&rst 3>;
#phy-cells = <0>;
status = "disabled";
};
};
&gpio {
ngpios = <20>;
};
&ahb {
usb: usb@1b000000 {
compatible = "generic-ehci";
reg = <0x1b000000 0x1000>;
interrupts = <3>;
resets = <&rst 5>;
reset-names = "usb-host";
has-transaction-translator;
caps-offset = <0x100>;
phy-names = "usb-phy";
phys = <&usb_phy>;
status = "disabled";
};
};
&eth0 {
compatible = "qca,ar7241-eth", "syscon";
pll-data = <0x00110000 0x00001099 0x00991099>;
resets = <&rst 9>;
reset-names = "mac";
phy-handle = <&swphy4>;
};
&mdio1 {
status = "okay";
resets = <&rst 23>;
reset-names = "mdio";
builtin-switch;
builtin_switch: switch0@1f {
compatible = "qca,ar7240sw";
reg = <0x1f>;
resets = <&rst 8>;
reset-names = "switch";
qca,mib-poll-interval = <500>;
mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
swphy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "mii";
};
};
};
};
&eth1 {
status = "okay";
compatible = "qca,ar7241-eth", "syscon";
pll-data = <0x00110000 0x00001099 0x00991099>;
resets = <&rst 13>;
reset-names = "mac";
phy-mode = "gmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@@ -0,0 +1,220 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
compatible = "netgear,wnr2000-v3", "qca,ar7241";
model = "Netgear WNR2000 v3";
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
label-mac-device = &eth1;
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
};
ath9k-keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&ath9k 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&ath9k 9 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
wan_green {
label = "green:wan";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "amber:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
lan1_green {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan1_amber {
label = "amber:lan1";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
lan2_green {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan2_amber {
label = "amber:lan2";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
lan3_green {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan3_amber {
label = "amber:lan3";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
lan4_green {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
lan4_amber {
label = "amber:lan4";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
wps_green {
label = "green:wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
led_power_green: power_green {
label = "green:power";
gpios = <&ath9k 3 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
label = "amber:power";
gpios = <&ath9k 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wlan_blue {
label = "blue:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x3a0000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x32303033>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
compatible = "qca,ar7241-eth", "syscon", "simple-mfd";
nvmem-cells = <&macaddr_art_6>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
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,69 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_netgear_wnr2200.dtsi"
/ {
compatible = "netgear,wnr2200-16m", "qca,ar7241";
model = "Netgear WNR2200 (16M)";
aliases {
label-mac-device = &eth1;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0xfa0000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x32323030>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x10000>;
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

@@ -0,0 +1,69 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_netgear_wnr2200.dtsi"
/ {
compatible = "netgear,wnr2200-8m", "qca,ar7241";
model = "Netgear WNR2200 (8M)";
aliases {
label-mac-device = &eth1;
};
};
&partitions {
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x7a0000>;
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x32323030>;
openwrt,ih-type = <IH_TYPE_FILESYSTEM>;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x10000>;
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

@@ -0,0 +1,194 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
};
ath9k-keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&ath9k 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins &clks_disable_pins>;
wan_green {
label = "green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
wan_amber {
label = "amber:wan";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
lan1_green {
label = "green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan1_amber {
label = "amber:lan1";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
lan2_green {
label = "green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan2_amber {
label = "amber:lan2";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
lan3_green {
label = "green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
lan3_amber {
label = "amber:lan3";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
lan4_green {
label = "green:lan4";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
lan4_amber {
label = "amber:lan4";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
wps_green {
label = "green:wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
usb_green {
label = "green:usb";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
};
ath9k-leds {
compatible = "gpio-leds";
led_power_green: power_green {
label = "green:power";
gpios = <&ath9k 2 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
label = "amber:power";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wlan_blue {
label = "blue:wlan";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions: partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
};
};
};
&eth0 {
status = "okay";
};
&eth1 {
compatible = "qca,ar7241-eth", "syscon", "simple-mfd";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
usb_power {
gpio-hog;
line-name = "netgear:power:usb";
gpios = <4 GPIO_ACTIVE_HIGH>;
output-high;
};
};
};
&usb_phy {
status = "okay";
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};

View File

@@ -0,0 +1,119 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &ath9k;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
qss {
label = "qss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds: leds {
compatible = "gpio-leds";
led_system: system {
label = "green:system";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
qss {
label = "green:qss";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
};
};
&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 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
reg = <0x20000 0x3d0000>;
label = "firmware";
};
partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
&eth0 {
status = "okay";
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";
mac-address-increment = <1>;
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@@ -0,0 +1,18 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_tplink_tl-mr3x20.dtsi"
/ {
compatible = "tplink,tl-mr3220-v1", "qca,ar7241";
model = "TP-Link TL-MR3220 v1";
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};

View File

@@ -0,0 +1,18 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_tplink_tl-mr3x20.dtsi"
/ {
compatible = "tplink,tl-mr3420-v1", "qca,ar7241";
model = "TP-Link TL-MR3420 v1";
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};

View File

@@ -0,0 +1,40 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_tplink.dtsi"
/ {
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
gpio_usb_power {
gpio-export,name = "tp-link:power:usb";
gpio-export,output = <1>;
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
};
};
};
&leds {
led3g {
label = "green:3g";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};

View File

@@ -0,0 +1,18 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_tplink.dtsi"
/ {
compatible = "tplink,tl-wr841-v7", "qca,ar7241";
model = "TP-Link TL-WR841N/ND v7";
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};

View File

@@ -0,0 +1,165 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,tl-wr842n-v1", "qca,ar7241";
model = "TP-Link TL-WR842N/ND v1";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &ath9k;
};
keys {
compatible = "gpio-keys";
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_system: system {
label = "green:system";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
qss {
label = "green:qss";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led3g {
label = "green:3g";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
gpio-export {
compatible = "gpio-export";
gpio_usb_power {
gpio-export,name = "tp-link:power:usb";
gpio-export,output = <1>;
gpios = <&gpio 6 GPIO_ACTIVE_HIGH>;
};
};
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&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 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
reg = <0x20000 0x7d0000>;
label = "firmware";
};
partition@7f0000 {
reg = <0x7f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002e";
reg = <0x0000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
&eth0 {
status = "okay";
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";
mac-address-increment = <1>;
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@@ -0,0 +1,39 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
/ {
compatible = "ubnt,airrouter", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti AirRouter (XM)";
aliases {
led-boot = &led_globe;
led-failsafe = &led_globe;
led-running = &led_globe;
led-upgrade = &led_globe;
label-mac-device = &wifi;
};
leds {
compatible = "gpio-leds";
led_globe: globe {
label = "green:globe";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
power {
label = "green:power";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
};
};
&usb_phy {
status = "okay";
};
&usb {
status = "okay";
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,bullet-m-ar7241", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti Bullet M (XM AR7241)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,nanobridge-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti NanoBridge M (XM)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,nanostation-loco-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti Nanostation Loco M (XM)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,nanostation-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti Nanostation M (XM)";
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,picostation-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti Picostation M (XM)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,powerbridge-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti PowerBridge M (XM)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};

View File

@@ -0,0 +1,22 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include "ar724x_ubnt_xm.dtsi"
#include "ar724x_ubnt_xm_outdoor.dtsi"
/ {
compatible = "ubnt,rocket-m", "ubnt,xm", "qca,ar7241";
model = "Ubiquiti Rocket M (XM)";
};
&eth1 {
compatible = "syscon", "simple-mfd";
};
&usb_phy {
status = "okay";
};
&usb {
status = "okay";
};

View File

@@ -0,0 +1,122 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_ubnt_unifi.dtsi"
/ {
compatible = "ubnt,unifi-ap-outdoor-plus", "qca,ar7241";
model = "Ubiquiti UniFi AP Outdoor+";
aliases {
led-boot = &led_white;
led-failsafe = &led_white;
led-running = &led_blue;
led-upgrade = &led_blue;
};
leds {
compatible = "gpio-leds";
led_blue: blue {
label = "blue";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
};
led_white: white {
label = "white";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0xf60000>;
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x300000>;
/* Can be resized w/o issues.
* U-Boot can load kernel from the
* entirety of the "firmware" partition space.
*/
};
partition@300000 {
label = "rootfs";
reg = <0x300000 0xc60000>;
};
};
partition@fb0000 {
label = "cfg";
reg = <0xfb0000 0x40000>;
read-only;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x10000>;
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";
};
&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

@@ -0,0 +1,100 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241_ubnt_unifi.dtsi"
/ {
compatible = "ubnt,unifi", "qca,ar7241";
model = "Ubiquiti UniFi";
aliases {
led-boot = &led_dome_green;
led-failsafe = &led_dome_green;
led-running = &led_dome_green;
led-upgrade = &led_dome_green;
};
leds {
compatible = "gpio-leds";
led_dome_green: dome_green {
label = "green:dome";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
};
dome_orange {
label = "orange:dome";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
};
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x050000 0x750000>;
};
partition@7a0000 {
label = "board_config";
reg = <0x7a0000 0x010000>;
read-only;
};
partition@7b0000 {
label = "cfg";
reg = <0x7b0000 0x040000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&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

@@ -0,0 +1,45 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7241.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
label-mac-device = &wifi;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&pll {
clocks = <&extosc>;
};
&pcie {
status = "okay";
wifi: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
};
};
&eth0 {
status = "okay";
};

View File

@@ -0,0 +1,86 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar724x.dtsi"
/ {
usb_phy: usb-phy {
compatible = "qca,ar7200-usb-phy";
reset-names = "usb-phy", "usb-suspend-override";
resets = <&rst 4>, <&rst 3>;
#phy-cells = <0>;
status = "disabled";
};
};
&gpio {
ngpios = <20>;
};
&ahb {
usb: usb@1b000000 {
compatible = "generic-ehci";
reg = <0x1b000000 0x1000>;
interrupts = <3>;
resets = <&rst 5>;
reset-names = "usb-host";
has-transaction-translator;
caps-offset = <0x100>;
phy-names = "usb-phy";
phys = <&usb_phy>;
status = "disabled";
};
};
&mdio0 {
resets = <&rst 22>;
reset-names = "mdio";
};
&eth0 {
compatible = "qca,ar7242-eth", "syscon";
pll-data = <0x16000000 0x00000101 0x00001616>;
pll-reg = <0x4 0x2c 17>;
pll-handle = <&pll>;
resets = <&rst 9>;
reset-names = "mac";
};
&mdio1 {
resets = <&rst 23>;
reset-names = "mdio";
builtin-switch;
builtin_switch: switch0@1f {
compatible = "qca,ar7240sw";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1f>;
resets = <&rst 8>;
reset-names = "switch";
qca,mib-poll-interval = <500>;
};
};
&eth1 {
compatible = "qca,ar7242-eth", "syscon";
resets = <&rst 13>;
reset-names = "mac";
phy-mode = "gmii";
fixed-link {
speed = <1000>;
full-duplex;
};
};

View File

@@ -0,0 +1,163 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "avm,fritz300e", "qca,ar7242";
model = "AVM FRITZ!WLAN Repeater 300E";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
label-mac-device = &ath9k;
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "green:power";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "on";
};
lan {
label = "green:lan";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wlan {
label = "green:wlan";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
ath9k-leds {
compatible = "gpio-leds";
rssi0 {
label = "green:rssi0";
gpios = <&ath9k 10 GPIO_ACTIVE_LOW>;
};
rssi1 {
label = "green:rssi1";
gpios = <&ath9k 4 GPIO_ACTIVE_LOW>;
};
rssi2 {
label = "green:rssi2";
gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
};
rssi3 {
label = "green:rssi3";
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
};
rssi4 {
label = "green:rssi4";
gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
};
};
eth-phy-reset {
compatible = "regulator-fixed";
regulator-name = "eth-phy-reset";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio 11 GPIO_ACTIVE_LOW>;
startup-delay-us = <300000>;
enable-active-high;
regulator-always-on;
};
};
&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>;
partition@0 {
reg = <0x0 0x20000>;
label = "urloader";
read-only;
};
partition@20000 {
compatible = "avm,eva-firmware";
reg = <0x20000 0xee0000>;
label = "firmware";
};
partition@f00000 {
reg = <0xf00000 0x80000>;
label = "tffs (1)";
read-only;
};
partition@f80000 {
reg = <0xf80000 0x80000>;
label = "tffs (2)";
read-only;
};
};
};
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
};
};
&mdio0 {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii";
phy-handle = <&phy0>;
pll-data = <0x16000000 0x00000101 0x00001313>;
};

View File

@@ -0,0 +1,30 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242_buffalo_wzr-bhr.dtsi"
/ {
compatible = "buffalo,bhr-4grv", "qca,ar7242";
model = "Buffalo BHR-4GRV";
};
&leds {
sec_vpn {
label = "orange:vpn";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
};
&eth0 {
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

@@ -0,0 +1,158 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_diag;
led-failsafe = &led_diag;
led-upgrade = &led_diag;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys: keys {
compatible = "gpio-keys";
usb {
label = "usb";
linux,code = <BTN_2>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds: leds {
compatible = "gpio-leds";
led_diag: diag {
label = "red:diag";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
usb {
label = "green:usb";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
gpio_usb_power {
gpio-export,name = "buffalo:usb-power";
gpio-export,output = <1>;
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&flash0 &flash1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "u-boot-env";
};
art: partition@50000 {
reg = <0x50000 0x10000>;
label = "art";
read-only;
};
partition@60000 {
compatible = "denx,uimage";
reg = <0x60000 0x1f80000>;
label = "firmware";
};
partition@1fe0000 {
reg = <0x1fe0000 0x20000>;
label = "user_property";
read-only;
};
};
};
};
&spi {
status = "okay";
flash0: flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
};
flash1: flash@1 {
compatible = "jedec,spi-nor";
reg = <1>;
spi-max-frequency = <25000000>;
};
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&pll {
clocks = <&extosc>;
};
&usb_phy {
status = "okay";
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};

View File

@@ -0,0 +1,243 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "buffalo,wzr-hp-g302h-a1a0", "qca,ar7242";
model = "Buffalo WZR-HP-G302H A1A0";
aliases {
led-boot = &led_diag;
led-failsafe = &led_diag;
led-upgrade = &led_diag;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
usb {
label = "usb";
linux,code = <BTN_2>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_on {
label = "router_on";
linux,code = <BTN_5>;
linux,input-type = <EV_SW>;
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
movie_engine {
label = "movie_engine";
linux,code = <BTN_3>;
linux,input-type = <EV_SW>;
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_diag: diag {
label = "red:diag";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
ath9k-leds {
compatible = "gpio-leds";
usb {
label = "blue:usb";
gpios = <&ath9k 4 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
wireless {
label = "green:wireless";
gpios = <&ath9k 5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
security {
label = "orange:security";
gpios = <&ath9k 6 GPIO_ACTIVE_LOW>;
};
router {
label = "green:router";
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
};
movie_engine_on {
label = "blue:movie_engine_on";
gpios = <&ath9k 8 GPIO_ACTIVE_LOW>;
};
movie_engine_off {
label = "blue:movie_engine_off";
gpios = <&ath9k 9 GPIO_ACTIVE_LOW>;
};
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
gpio_usb_power {
gpio-export,name = "buffalo:usb-power";
gpio-export,output = <1>;
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&flash0 &flash1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "u-boot-env";
};
art: partition@50000 {
reg = <0x50000 0x10000>;
label = "art";
read-only;
};
partition@60000 {
compatible = "denx,uimage";
reg = <0x60000 0x1f60000>;
label = "firmware";
};
partition@1fc0000 {
reg = <0x1fc0000 0x40000>;
label = "user_property";
read-only;
};
};
};
};
&spi {
status = "okay";
flash0: flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
};
flash1: flash@1 {
compatible = "jedec,spi-nor";
reg = <1>;
spi-max-frequency = <25000000>;
};
};
&mdio0 {
status = "okay";
phy-mask = <0x1>;
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
};
&eth0 {
status = "okay";
pll-data = <0x1c000000 0x00000101 0x00001616>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
nvmem-cells = <&macaddr_art_120c>;
nvmem-cell-names = "mac-address";
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&pll {
clocks = <&extosc>;
};
&usb_phy {
status = "okay";
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_120c: macaddr@120c {
reg = <0x120c 0x6>;
};
};

View File

@@ -0,0 +1,93 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242_buffalo_wzr-bhr.dtsi"
/ {
compatible = "buffalo,wzr-hp-g450h", "qca,ar7242";
model = "Buffalo WZR-HP-G450H/WZR-450HP";
aliases {
label-mac-device = &eth0;
};
ath9k-leds {
compatible = "gpio-leds";
led_movie_engine {
label = "blue:movie_engine";
gpios = <&ath9k 13 GPIO_ACTIVE_LOW>;
};
router {
label = "green:router";
gpios = <&ath9k 14 GPIO_ACTIVE_LOW>;
};
wireless {
label = "green:wireless";
gpios = <&ath9k 15 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&keys {
movie_engine {
label = "movie_engine";
linux,code = <BTN_6>;
linux,input-type = <EV_SW>;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
aoss {
label = "aoss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_off {
label = "router_off";
linux,code = <BTN_5>;
linux,input-type = <EV_SW>;
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
};
&leds {
sec_vpn {
label = "orange:security";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
};
&eth0 {
nvmem-cells = <&macaddr_art_1002>;
nvmem-cell-names = "mac-address";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,0030";
reg = <0x0000 0 0 0 0>;
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

@@ -0,0 +1,98 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include "ar724x_senao_loader-4k.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "engenius,eap350-v1", "qca,ar7242";
model = "EnGenius EAP350 v1";
aliases {
label-mac-device = &eth0;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "blue:power";
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "blue:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&mdio0 {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
eee-broken-100tx;
eee-broken-1000t;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy4>;
phy-mode = "rgmii-id";
pll-data = <0x02000000 0x00000101 0x00001313>;
};
&pcie {
status = "okay";
ath9k: wifi@0,0,0 {
compatible = "pci168c,002a";
reg = <0x0 0 0 0 0>;
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

@@ -0,0 +1,98 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include "ar724x_senao_loader-4k.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "engenius,ecb350-v1", "qca,ar7242";
model = "EnGenius ECB350 v1";
aliases {
label-mac-device = &ath9k;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "green:power";
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan {
label = "green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&mdio0 {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
eee-broken-100tx;
eee-broken-1000t;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy4>;
phy-mode = "rgmii-id";
pll-data = <0x02000000 0x00000101 0x00001313>;
};
&pcie {
status = "okay";
ath9k: wifi@0,0,0 {
compatible = "pci168c,002a";
reg = <0x0 0 0 0 0>;
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

@@ -0,0 +1,179 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "meraki,mr12", "qca,ar7242";
model = "Meraki MR12";
aliases {
led-boot = &led_power_orange;
led-failsafe = &led_power_orange;
led-running = &led_power_green;
led-upgrade = &led_power_orange;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "ref";
clock-frequency = <40000000>;
};
leds {
compatible = "gpio-leds";
link1 {
label = "green:link1";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
link2 {
label = "green:link2";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
link3 {
label = "green:link3";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
link4 {
label = "green:link4";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
lan {
label = "green:lan";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
led_power_orange: power_orange {
label = "orange:power";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
panic-indicator;
};
led_power_green: power_green {
label = "green:power";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
};
};
&pcie {
status = "okay";
wifi@0,0,0 {
compatible = "pci168c,002a";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
};
&pll {
clocks = <&extosc>;
};
&mdio0 {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
pll-data = <0x02000000 0x00000101 0x00001313>;
phy-mode = "rgmii-id";
phy-handle = <&phy4>;
};
&mdio1 {
status = "okay";
};
&eth1 {
status = "okay";
nvmem-cells = <&macaddr_config_66>;
nvmem-cell-names = "mac-address";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x40000>;
read-only;
};
config: partition@80000 {
label = "config";
reg = <0x80000 0x20000>;
read-only;
};
partition@a0000 {
label = "firmware";
reg = <0xa0000 0xf40000>;
compatible = "denx,uimage";
};
partition@fe0000 {
label = "art";
reg = <0xfe0000 0x20000>;
read-only;
};
};
};
};
&config {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_66: macaddr@66 {
reg = <0x66 0x6>;
};
};

View File

@@ -0,0 +1,187 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,tl-wr2543-v1", "qca,ar7242";
model = "TP-Link TL-WR2543N/ND";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
led-running = &led_wps;
led-upgrade = &led_wps;
label-mac-device = &eth0;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_wps: wps {
label = "green:wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
usb {
label = "green:usb";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
};
ath9k-leds {
compatible = "gpio-leds";
wlan2g {
label = "green:wlan2g";
gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "green:wlan5g";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
rtl8367 {
compatible = "realtek,rtl8367";
gpio-sda = <&gpio 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 6 GPIO_ACTIVE_HIGH>;
realtek,extif0 = <1 0 1 1 1 1 1 1 2>;
mdio-bus {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
};
};
};
};
&pll {
clocks = <&extosc>;
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x7d0000>;
};
partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&uboot {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_uboot_1fc00: macaddr@1fc00 {
reg = <0x1fc00 0x6>;
};
};

View File

@@ -0,0 +1,87 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242_ubnt_sw.dtsi"
/ {
compatible = "ubnt,edgeswitch-5xp", "qca,ar7242";
model = "Ubiquiti EdgeSwitch 5XP";
gpio-export {
compatible = "gpio-export";
poe_24v_port1 {
gpio-export,name = "ubnt:24v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 1 GPIO_ACTIVE_HIGH>;
};
poe_24v_port2 {
gpio-export,name = "ubnt:24v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 3 GPIO_ACTIVE_HIGH>;
};
poe_24v_port3 {
gpio-export,name = "ubnt:24v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 5 GPIO_ACTIVE_HIGH>;
};
poe_24v_port4 {
gpio-export,name = "ubnt:24v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 7 GPIO_ACTIVE_HIGH>;
};
poe_24v_port5 {
gpio-export,name = "ubnt:24v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 9 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio0 {
status = "okay";
phy0: ethernet-switch@0 {
compatible = "qca,ar8327";
reg = <0x0>;
qca,ar8327-initvals = <
0x04 0x05100000 /* PORT0 PAD MODE CTRL */
0x0c 0x05100000 /* PORT6 PAD MODE CTRL */
0x50 0x40004000 /* LED_CTRL0 */
0x54 0x40004000 /* LED_CTRL1 */
0x58 0x40004000 /* LED_CTRL2 */
0x5c 0x03ffff00 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6_STATUS */
>;
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
phy-mode = "rgmii";
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

@@ -0,0 +1,200 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242_ubnt_sw.dtsi"
/ {
compatible = "ubnt,edgeswitch-8xp", "qca,ar7242";
model = "Ubiquiti EdgeSwitch 8XP";
gpio-export {
compatible = "gpio-export";
poe_24v_port1 {
gpio-export,name = "ubnt:24v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 1 GPIO_ACTIVE_HIGH>;
};
poe_48v_port1 {
gpio-export,name = "ubnt:48v-poe:port1";
gpio-export,output = <0>;
gpios = <&gpio_hc595 0 GPIO_ACTIVE_HIGH>;
};
poe_24v_port2 {
gpio-export,name = "ubnt:24v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 3 GPIO_ACTIVE_HIGH>;
};
poe_48v_port2 {
gpio-export,name = "ubnt:48v-poe:port2";
gpio-export,output = <0>;
gpios = <&gpio_hc595 2 GPIO_ACTIVE_HIGH>;
};
poe_24v_port3 {
gpio-export,name = "ubnt:24v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 5 GPIO_ACTIVE_HIGH>;
};
poe_48v_port3 {
gpio-export,name = "ubnt:48v-poe:port3";
gpio-export,output = <0>;
gpios = <&gpio_hc595 4 GPIO_ACTIVE_HIGH>;
};
poe_24v_port4 {
gpio-export,name = "ubnt:24v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 7 GPIO_ACTIVE_HIGH>;
};
poe_48v_port4 {
gpio-export,name = "ubnt:48v-poe:port4";
gpio-export,output = <0>;
gpios = <&gpio_hc595 6 GPIO_ACTIVE_HIGH>;
};
poe_24v_port5 {
gpio-export,name = "ubnt:24v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 9 GPIO_ACTIVE_HIGH>;
};
poe_48v_port5 {
gpio-export,name = "ubnt:48v-poe:port5";
gpio-export,output = <0>;
gpios = <&gpio_hc595 8 GPIO_ACTIVE_HIGH>;
};
poe_24v_port6 {
gpio-export,name = "ubnt:24v-poe:port6";
gpio-export,output = <0>;
gpios = <&gpio_hc595 11 GPIO_ACTIVE_HIGH>;
};
poe_48v_port6 {
gpio-export,name = "ubnt:48v-poe:port6";
gpio-export,output = <0>;
gpios = <&gpio_hc595 10 GPIO_ACTIVE_HIGH>;
};
poe_24v_port7 {
gpio-export,name = "ubnt:24v-poe:port7";
gpio-export,output = <0>;
gpios = <&gpio_hc595 13 GPIO_ACTIVE_HIGH>;
};
poe_48v_port7 {
gpio-export,name = "ubnt:48v-poe:port7";
gpio-export,output = <0>;
gpios = <&gpio_hc595 12 GPIO_ACTIVE_HIGH>;
};
poe_24v_port8 {
gpio-export,name = "ubnt:24v-poe:port8";
gpio-export,output = <0>;
gpios = <&gpio_hc595 15 GPIO_ACTIVE_HIGH>;
};
poe_48v_port8 {
gpio-export,name = "ubnt:48v-poe:port8";
gpio-export,output = <0>;
gpios = <&gpio_hc595 14 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0x10>;
ethernet-switch@1e {
compatible = "brcm,bcm53128";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1e>;
ports {
port0@0 {
reg = <0>;
label = "lan1";
};
port1@1 {
reg = <1>;
label = "lan2";
};
port2@2 {
reg = <2>;
label = "lan3";
};
port3@3 {
reg = <3>;
label = "lan4";
};
port4@4 {
reg = <4>;
label = "lan5";
};
port5@5 {
reg = <5>;
label = "lan6";
};
port6@6 {
reg = <6>;
label = "lan7";
};
port7@7 {
reg = <7>;
label = "lan8";
};
phy0: port8@8 {
reg = <8>;
label = "cpu";
ethernet = <&eth0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&phy0>;
phy-mode = "rgmii-rxid";
pll-data = <0x16000000 0x00000101 0x00001313>;
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

@@ -0,0 +1,146 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar7242.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "qca,ar7242";
model = "Ubiquiti Networks SW board";
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_usr;
led-failsafe = &led_usr;
led-running = &led_usr;
led-upgrade = &led_usr;
};
leds {
compatible = "gpio-leds";
led_usr: usr {
label = "yellow:usr";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
gpio_spi {
compatible = "spi-gpio";
#address-cells = <0x1>;
ranges;
sck-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
gpio_hc595: gpio_spi@0 {
compatible = "fairchild,74hc595";
reg = <0>;
registers-number = <2>;
spi-max-frequency = <100000>;
enable-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
gpio-controller;
#gpio-cells = <2>;
};
};
};
&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>;
partition@0 {
reg = <0x000000 0x040000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x040000 0x010000>;
label = "u-boot-env";
read-only;
};
partition@50000 {
compatible = "denx,uimage";
reg = <0x050000 0x760000>;
label = "firmware";
};
partition@7b0000 {
reg = <0x7b0000 0x040000>;
label = "cfg";
read-only;
};
art: partition@7f0000 {
reg = <0x7f0000 0x010000>;
label = "art";
read-only;
};
};
};
};
&usb_phy {
status = "okay";
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&pcie {
status = "okay";
};
&eth1 {
status = "okay";
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

@@ -0,0 +1,165 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ath79.dtsi"
/ {
compatible = "qca,ar7240";
#address-cells = <1>;
#size-cells = <1>;
chosen {
bootargs = "console=ttyS0,115200";
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "mips,mips24Kc";
clocks = <&pll ATH79_CLK_CPU>;
reg = <0>;
};
};
ahb: ahb {
apb {
ddr_ctrl: memory-controller@18000000 {
compatible = "qca,ar9132-ddr-controller",
"qca,ar7240-ddr-controller";
reg = <0x18000000 0x100>;
#qca,ddr-wb-channel-cells = <1>;
};
uart: uart@18020000 {
compatible = "ns16550a";
reg = <0x18020000 0x20>;
interrupts = <3>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "uart";
reg-io-width = <4>;
reg-shift = <2>;
no-loopback-test;
};
gpio: gpio@18040000 {
compatible = "qca,ar7240-gpio",
"qca,ar7100-gpio";
reg = <0x18040000 0x28>;
interrupts = <2>;
ngpios = <18>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
pinmux: pinmux@18040028 {
compatible = "pinctrl-single";
reg = <0x18040028 0x8>;
pinctrl-single,bit-per-mux;
pinctrl-single,register-width = <32>;
pinctrl-single,function-mask = <0x1>;
#pinctrl-cells = <2>;
jtag_disable_pins: pinmux_jtag_disable_pins {
pinctrl-single,bits = <0x0 0x1 0x1>;
};
switch_led_disable_pins: pinmux_switch_led_disable_pins {
pinctrl-single,bits = <0x0 0x0 0xf8>;
};
clks_disable_pins: pinmux_clks_disable_pins {
pinctrl-single,bits = <0x0 0x0 0x81f00>;
};
};
pll: pll-controller@18050000 {
compatible = "qca,ar7240-pll", "syscon";
reg = <0x18050000 0x3c>;
clock-names = "ref";
/* The board must provides the ref clock */
#clock-cells = <1>;
clock-output-names = "cpu", "ddr", "ahb";
};
wdt: wdt@18060008 {
compatible = "qca,ar7130-wdt";
reg = <0x18060008 0x8>;
interrupts = <4>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "wdt";
};
rst: reset-controller@1806001c {
compatible = "qca,ar7240-reset",
"qca,ar7100-reset";
reg = <0x1806001c 0x4>;
#reset-cells = <1>;
};
pcie: pcie-controller@180c0000 {
compatible = "qcom,ar7240-pci";
#address-cells = <3>;
#size-cells = <2>;
bus-range = <0x0 0x0>;
reg = <0x180c0000 0x1000>, /* CRP */
<0x180f0000 0x100>, /* CTRL */
<0x14000000 0x1000>; /* CFG */
reg-names = "crp_base", "ctrl_base", "cfg_base";
ranges = <0x2000000 0 0x10000000 0x10000000 0 0x04000000 /* pci memory */
0x1000000 0 0x00000000 0x0000000 0 0x000001>; /* io space */
interrupt-parent = <&cpuintc>;
interrupts = <2>;
resets = <&rst 6>, <&rst 7>;
reset-names = "hc", "phy";
device_type = "pci";
interrupt-controller;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 1>;
interrupt-map = <0 0 0 0 &pcie 0>;
status = "disabled";
};
};
spi: spi@1f000000 {
compatible = "qca,ar7240-spi",
"qca,ar7100-spi";
reg = <0x1f000000 0x10>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "ahb";
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
};
};
&cpuintc {
qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
<&ddr_ctrl 0>, <&ddr_ctrl 1>;
};

View File

@@ -0,0 +1,84 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0 &fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x73714f4b>;
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <20000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "custom";
reg = <0x50000 0x50000>;
read-only;
};
partition@a0000 {
label = "loader";
reg = <0xa0000 0x1000>;
};
fwconcat1: partition@a1000 {
label = "fwconcat1";
reg = <0xa1000 0xff000>;
};
fwconcat0: partition@1a0000 {
label = "fwconcat0";
reg = <0x1a0000 0x4d0000>;
};
partition@670000 {
label = "failsafe";
reg = <0x670000 0x180000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,84 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/mtd/partitions/uimage.h>
/ {
virtual_flash {
compatible = "mtd-concat";
devices = <&fwconcat0 &fwconcat1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "openwrt,uimage", "denx,uimage";
openwrt,ih-magic = <0x73714f4b>;
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <20000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x10000>;
};
partition@50000 {
label = "custom";
reg = <0x50000 0x50000>;
read-only;
};
partition@a0000 {
label = "loader";
reg = <0xa0000 0x10000>;
};
fwconcat1: partition@b0000 {
label = "fwconcat1";
reg = <0xb0000 0xf0000>;
};
fwconcat0: partition@1a0000 {
label = "fwconcat0";
reg = <0x1a0000 0x4d0000>;
};
partition@670000 {
label = "failsafe";
reg = <0x670000 0x180000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,105 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
keys {
compatible = "gpio-keys";
reset {
linux,code = <KEY_RESTART>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&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>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x050000 0x750000>;
};
partition@7a0000 {
label = "board_config";
reg = <0x7a0000 0x010000>;
read-only;
};
partition@7b0000 {
label = "cfg";
reg = <0x7b0000 0x040000>;
read-only;
};
art: partition@7f0000 {
label = "art";
reg = <0x7f0000 0x010000>;
read-only;
};
};
};
};
&pcie {
status = "okay";
wifi: wifi@0,0 {
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
};
&eth1 {
status = "okay";
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

@@ -0,0 +1,33 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/ {
aliases {
led-boot = &led_link4;
led-failsafe = &led_link4;
label-mac-device = &wifi;
};
leds {
compatible = "gpio-leds";
link1 {
label = "red:link1";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
};
link2 {
label = "orange:link2";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
link3 {
label = "green:link3";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
led_link4: link4 {
label = "green:link4";
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
};
};

View File

@@ -0,0 +1,195 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "ath79.dtsi"
/ {
compatible = "qca,ar9132";
#address-cells = <1>;
#size-cells = <1>;
chosen {
bootargs = "console=ttyS0,115200";
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "mips,mips24Kc";
clocks = <&pll ATH79_CLK_CPU>;
reg = <0>;
};
};
cpuintc: interrupt-controller {
compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc";
interrupt-controller;
#interrupt-cells = <1>;
qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
<&ddr_ctrl 0>, <&ddr_ctrl 1>;
};
ahb {
compatible = "simple-bus";
ranges;
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&cpuintc>;
apb {
compatible = "simple-bus";
ranges;
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&miscintc>;
ddr_ctrl: memory-controller@18000000 {
compatible = "qca,ar9132-ddr-controller",
"qca,ar7240-ddr-controller";
reg = <0x18000000 0x100>;
#qca,ddr-wb-channel-cells = <1>;
};
uart: uart@18020000 {
compatible = "ns8250";
reg = <0x18020000 0x20>;
interrupts = <3>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "uart";
reg-io-width = <4>;
reg-shift = <2>;
no-loopback-test;
};
gpio: gpio@18040000 {
compatible = "qca,ar9132-gpio",
"qca,ar7100-gpio";
reg = <0x18040000 0x28>;
interrupts = <2>;
ngpios = <22>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
pll: pll-controller@18050000 {
compatible = "qca,ar9132-pll",
"qca,ar9130-pll", "syscon";
reg = <0x18050000 0x20>;
clock-names = "ref";
/* The board must provides the ref clock */
#clock-cells = <1>;
clock-output-names = "cpu", "ddr", "ahb";
};
wdt: wdt@18060008 {
compatible = "qca,ar7130-wdt";
reg = <0x18060008 0x8>;
interrupts = <4>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "wdt";
};
miscintc: interrupt-controller@18060010 {
compatible = "qca,ar9132-misc-intc",
"qca,ar7100-misc-intc";
reg = <0x18060010 0x8>;
interrupt-parent = <&cpuintc>;
interrupts = <6>;
interrupt-controller;
#interrupt-cells = <1>;
};
rst: reset-controller@1806001c {
compatible = "qca,ar9132-reset",
"qca,ar7100-reset";
reg = <0x1806001c 0x4>;
#reset-cells = <1>;
};
};
usb: usb@1b000100 {
compatible = "qca,ar7100-ehci", "generic-ehci";
reg = <0x1b000100 0x100>;
interrupts = <3>;
resets = <&rst 5>;
has-transaction-translator;
phy-names = "usb";
phys = <&usb_phy>;
status = "disabled";
};
spi: spi@1f000000 {
compatible = "qca,ar9132-spi", "qca,ar7100-spi";
reg = <0x1f000000 0x10>;
clocks = <&pll ATH79_CLK_AHB>;
clock-names = "ahb";
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
wmac: wmac@180c0000 {
compatible = "qca,ar9130-wmac";
reg = <0x180c0000 0x230000>;
interrupts = <2>;
status = "disabled";
};
};
usb_phy: usb-phy {
compatible = "qca,ar7200-usb-phy";
reset-names = "usb-phy", "usb-suspend-override";
resets = <&rst 4>, <&rst 3>;
#phy-cells = <0>;
status = "disabled";
};
};
&eth0 {
compatible = "qca,ar9130-eth", "syscon";
reg = <0x19000000 0x200
0x18070000 0x4>;
pll-data = <0x1a000000 0x13000a44 0x00441099>;
pll-reg = <0x4 0x14 20>;
pll-handle = <&pll>;
resets = <&rst 9>;
reset-names = "mac";
qca,mac-idx = <0>;
};

View File

@@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9132_buffalo_wzr-hp-g300nh.dtsi"
/ {
compatible = "buffalo,wzr-hp-g300nh-rb", "qca,ar9132";
model = "Buffalo WZR-HP-G300NH (rtl8366rb)";
};
&switch {
status = "okay";
compatible = "realtek,rtl8366rb";
};
&eth0 {
status = "okay";
pll-data = <0x1f000000 0x13000a44 0x00441099>;
};
&eth1 {
status = "okay";
pll-data = <0x100 0x13000a44 0x00441099>;
};

View File

@@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9132_buffalo_wzr-hp-g300nh.dtsi"
/ {
compatible = "buffalo,wzr-hp-g300nh-s", "qca,ar9132";
model = "Buffalo WZR-HP-G300NH (rtl8366s)";
};
&switch {
status = "okay";
compatible = "realtek,rtl8366s";
};
&eth0 {
status = "okay";
pll-data = <0x1e000100 0x13000a44 0x00441099>;
};
&eth1 {
status = "okay";
pll-data = <0x1e000100 0x13000a44 0x00441099>;
};

View File

@@ -0,0 +1,261 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9132.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
aliases {
led-boot = &led_diag;
led-failsafe = &led_security;
led-upgrade = &led_diag;
};
clock40mhz: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
gpio2: gpio-extender {
compatible = "nxp,74hc153-gpio";
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>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
aoss {
label = "aoss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_on {
label = "router_on";
linux,code = <BTN_5>;
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
movie_off {
label = "movie_off";
linux,code = <BTN_3>;
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
usb {
label = "usb";
linux,code = <BTN_2>;
gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
router_auto {
label = "router_auto";
linux,code = <BTN_6>;
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
movie_on {
label = "movie_on";
linux,code = <BTN_4>;
gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
};
flash@1e000000 {
compatible = "cfi-flash";
reg = <0x1e000000 0x2000000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0000000 0x0040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x0040000 0x0020000>;
read-only;
};
partition@60000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x0060000 0x1f60000>;
};
partition@1fc0000 {
label = "user_property";
reg = <0x1fc0000 0x0020000>;
read-only;
};
art: partition@1fe0000 {
label = "art";
reg = <0x1fe0000 0x020000>;
read-only;
};
};
};
leds {
compatible = "gpio-leds";
usb {
label = "blue:usb";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
led_diag: diag {
label = "red:diag";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
wireless {
label = "green:wireless";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
led_security: security {
label = "amber:security";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
router {
label = "green:router";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
};
switch: switch {
status = "disabled";
gpio-sda = <&gpio 19 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 20 GPIO_ACTIVE_HIGH>;
mii-bus = <&mdio0>;
mdio-bus {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
phy-mask = <0x10>;
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
};
};
&mdio0 {
status = "okay";
};
&eth0 {
status = "disabled";
phy-mode = "rgmii";
nvmem-cells = <&macaddr_art_1120c>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&mdio1 {
status = "okay";
};
&eth1 {
status = "disabled";
compatible = "qca,ar9130-eth", "syscon";
reg = <0x1a000000 0x200
0x18070004 0x4>;
pll-reg = <0x4 0x18 22>;
pll-handle = <&pll>;
phy-mode = "rgmii";
phy-handle = <&phy4>;
resets = <&rst 13>;
reset-names = "mac";
qca,mac-idx = <1>;
nvmem-cells = <&macaddr_art_1120c>;
nvmem-cell-names = "mac-address";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x11000>;
};
&uart {
status = "okay";
};
&pll {
clocks = <&clock40mhz>;
};
&usb {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&art {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
macaddr_art_1120c: macaddr@1120c {
reg = <0x1120c 0x6>;
};
};

View File

@@ -0,0 +1,143 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "ar9132.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,tl-wa901nd-v2", "qca,ar9132";
model = "TP-Link TL-WA901ND v2";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth0;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
qss {
label = "qss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_system: system {
label = "green:system";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
qss {
label = "green:qss";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
wlan {
label = "green:wlan";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&pll {
clocks = <&extosc>;
};
&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 0x020000>;
read-only;
};
partition@1 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x3D0000>;
};
art: partition@2 {
label = "art";
reg = <0x3F0000 0x010000>;
read-only;
};
};
};
};
&mdio0 {
status = "okay";
phy12: ethernet-phy@c {
reg = <0xc>;
phy-mode = "mii";
resets = <&rst 8>;
reset-names = "phy";
reset-assert-us = <10000>;
reset-deassert-us = <10000>;
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy12>;
};
&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

@@ -0,0 +1,165 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "ar9132.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,tl-wr1043nd-v1", "qca,ar9132";
model = "TP-Link TL-WR1043ND v1";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth0;
};
extosc: ref {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <40000000>;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
qss {
label = "qss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
usb {
label = "green:usb";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
trigger-sources = <&hub_port>;
linux,default-trigger = "usbport";
};
led_system: system {
label = "green:system";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
qss {
label = "green:qss";
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
};
wlan {
label = "green:wlan";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
rtl8366rb {
compatible = "realtek,rtl8366rb";
gpio-sda = <&gpio 18 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 19 GPIO_ACTIVE_HIGH>;
resets = <&rst 8>;
reset-names = "switch";
};
};
&pll {
clocks = <&extosc>;
};
&usb {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
hub_port: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb_phy {
status = "okay";
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "u-boot";
reg = <0x000000 0x020000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x7D0000>;
};
art: partition@7F0000 {
label = "art";
reg = <0x7F0000 0x010000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
phy-mode = "rgmii";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <1000>;
full-duplex;
};
};
&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

@@ -0,0 +1,171 @@
// SPDX-License-Identifier: GPL-2.0-only
#include "ar9132.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,tl-wr941-v2", "qca,ar9132";
model = "TP-Link TL-WR941N/ND v2/v3";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
label-mac-device = &eth0;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
qss {
label = "qss";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_system: system {
label = "green:system";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
qss_r {
label = "red:qss";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
qss_g {
label = "green:qss";
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
};
wlan {
label = "green:wlan";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
};
};
&mdio0 {
status = "okay";
switch@0 {
compatible = "marvell,mv88e6060";
reg = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "wan";
};
port@1 {
reg = <1>;
label = "lan1";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan3";
};
port@4 {
reg = <4>;
label = "lan4";
};
port@5 {
reg = <5>;
label = "cpu";
ethernet = <&eth0>;
};
};
};
};
&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 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x020000 0x3d0000>;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
phy-mode = "rmii";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
fixed-link {
speed = <100>;
full-duplex;
};
};
&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>;
};
};

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