diff --git a/package/boot/uboot-tools/uboot-envtools/files/ath79 b/package/boot/uboot-tools/uboot-envtools/files/ath79 index f275244cbe8..f544bfaf79b 100644 --- a/package/boot/uboot-tools/uboot-envtools/files/ath79 +++ b/package/boot/uboot-tools/uboot-envtools/files/ath79 @@ -111,7 +111,8 @@ buffalo,wzr-hp-g300nh-s|\ linksys,ea4500-v3) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" ;; -dell,apl26-0ae) +dell,apl26-0ae|\ +dell,apl27-0b1) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x10000" ;; domywifi,dw33d) diff --git a/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts b/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts index 6ef2eb846d8..044de5add32 100644 --- a/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts +++ b/target/linux/ath79/dts/qca9550_dell_apl26-0ae.dts @@ -1,29 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include -#include -#include - -#include "qca955x.dtsi" +#include "qca9550_dell_apl2x.dtsi" / { model = "Dell SonicPoint ACe (APL26-0AE)"; compatible = "dell,apl26-0ae", "qca,qca9550", "qca,qca9558"; - aliases { - label-mac-device = ð0; - led-boot = &led_wrench; - led-failsafe = &led_wrench; - led-upgrade = &led_wrench; - }; - keys { - compatible = "gpio-keys"; - button-reset { - label = "reset"; gpios = <&gpio 21 GPIO_ACTIVE_LOW>; - linux,code = ; }; /* Accessible only after disassembling the casing */ @@ -35,109 +20,38 @@ }; leds { - compatible = "gpio-leds"; - pinctrl-names = "default"; - pinctrl-0 = <&jtag_disable_pins>; - led-lan1-amber { - color = ; - function = LED_FUNCTION_LAN; - function-enumerator = <1>; gpios = <&gpio 13 GPIO_ACTIVE_LOW>; }; led-lan1-green { - color = ; - function = LED_FUNCTION_LAN; - function-enumerator = <1>; gpios = <&gpio 3 GPIO_ACTIVE_LOW>; }; led-lan2-amber { - color = ; - function = LED_FUNCTION_LAN; - function-enumerator = <2>; gpios = <&gpio 17 GPIO_ACTIVE_LOW>; }; led-lan2-green { - color = ; - function = LED_FUNCTION_LAN; - function-enumerator = <2>; gpios = <&gpio 14 GPIO_ACTIVE_LOW>; }; led-wlan2g { - color = ; - function = LED_FUNCTION_WLAN_2GHZ; - linux,default-trigger = "phy1tpt"; gpios = <&gpio 1 GPIO_ACTIVE_LOW>; }; led-wlan5g { - color = ; - function = LED_FUNCTION_WLAN_5GHZ; - linux,default-trigger = "phy0tpt"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; - led_wrench: led-wrench { - color = ; - function = LED_FUNCTION_STATUS; + led-wrench { gpios = <&gpio 0 GPIO_ACTIVE_LOW>; }; }; }; -ð0 { - status = "okay"; - - nvmem-cells = <&macaddr_sysinfo_50 0>; - nvmem-cell-names = "mac-address"; - phy-handle = <&phy0>; - pll-data = <0xa6000000 0x00000101 0x00001616>; -}; - -ð1 { - status = "okay"; - - nvmem-cells = <&macaddr_sysinfo_50 1>; - nvmem-cell-names = "mac-address"; - pll-data = <0x03000101 0x00000101 0x00001616>; - - fixed-link { - speed = <1000>; - full-duplex; - }; -}; - -&mdio0 { - status = "okay"; - - phy0: ethernet-phy@0 { - reg = <0>; - - qca,ar8327-initvals = < - 0x04 0x07680000 /* PORT0 PAD MODE CTRL */ - 0x0c 0x00000080 /* PORT6 PAD MODE CTRL */ - 0x10 0x40000000 /* POWER_ON_STRAP */ - 0x50 0xffb7c405 /* LED0 CTRL */ - 0x54 0xffb7c305 /* LED1 CTRL */ - 0x58 0xffb7c033 /* LED2 CTRL */ - 0x5c 0x03ffff00 /* LED3 CTRL */ - 0x7c 0x0000007e /* PORT0_STATUS */ - 0x94 0x0000007e /* PORT6_STATUS */ - >; - }; -}; - &pcie0 { - status = "okay"; - wifi@0,0 { - compatible = "qcom,ath10k"; - reg = <0x0000 0 0 0 0>; - /* OEM overwrites EEPROM stored adress and so do we */ nvmem-cells = <&macaddr_sysinfo_50 2>; nvmem-cell-names = "mac-address"; @@ -145,84 +59,7 @@ }; &spi { - status = "okay"; - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <25000000>; broken-flash-reset; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0000000 0x0080000>; - read-only; - }; - - partition@80000 { - label = "u-boot-env"; - reg = <0x0080000 0x0040000>; - }; - - partition@c0000 { - label = "sysinfo"; - reg = <0x00c0000 0x0040000>; - read-only; - - nvmem-layout { - compatible = "fixed-layout"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_sysinfo_50: macaddr@50 { - compatible = "mac-base"; - reg = <0x50 0x6>; - #nvmem-cell-cells = <1>; - }; - }; - }; - - partition@100000 { - label = "art"; - reg = <0x0100000 0x0010000>; - read-only; - - nvmem-layout { - compatible = "fixed-layout"; - #address-cells = <1>; - #size-cells = <1>; - - cal_art_1000: calibration@1000 { - reg = <0x1000 0x440>; - }; - }; - }; - - partition@110000 { - label = "firmware"; - reg = <0x0110000 0x1ef0000>; - compatible = "denx,uimage"; - }; - }; }; }; - -&usb_phy0 { - status = "okay"; -}; - -&usb0 { - status = "okay"; -}; - -&wmac { - status = "okay"; - - nvmem-cells = <&macaddr_sysinfo_50 10>, <&cal_art_1000>; - nvmem-cell-names = "mac-address", "calibration"; -}; diff --git a/target/linux/ath79/dts/qca9550_dell_apl27-0b1.dts b/target/linux/ath79/dts/qca9550_dell_apl27-0b1.dts new file mode 100644 index 00000000000..28d78f29d21 --- /dev/null +++ b/target/linux/ath79/dts/qca9550_dell_apl27-0b1.dts @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9550_dell_apl2x.dtsi" + +/ { + model = "Dell SonicPoint ACi (APL27-0B1)"; + compatible = "dell,apl27-0b1", "qca,qca9550", "qca,qca9558"; + + keys { + button-reset { + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + led-lan1-amber { + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + + led-lan1-green { + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + + led-lan2-amber { + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + + led-lan2-green { + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + led-wlan2g { + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + }; + + led-wlan5g { + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + + led-wrench { + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + }; + + reg_usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + output-usb-vbus { + compatible = "regulator-output"; + vout-supply = <®_usb_vbus>; + }; +}; + +&pcie0 { + wifi@0,0 { + nvmem-cells = <&macaddr_sysinfo_50 2>, <&cal_art_5000>; + nvmem-cell-names = "mac-address", "calibration"; + }; +}; + +&spi { + flash@0 { + partitions { + partition@100000 { + nvmem-layout { + cal_art_5000: calibration@5000 { + reg = <0x5000 0x844>; + }; + }; + }; + }; + }; +}; diff --git a/target/linux/ath79/dts/qca9550_dell_apl2x.dtsi b/target/linux/ath79/dts/qca9550_dell_apl2x.dtsi new file mode 100644 index 00000000000..bcc558e0b15 --- /dev/null +++ b/target/linux/ath79/dts/qca9550_dell_apl2x.dtsi @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include +#include + +#include "qca955x.dtsi" + +/ { + aliases { + label-mac-device = ð0; + led-boot = &led_wrench; + led-failsafe = &led_wrench; + led-upgrade = &led_wrench; + }; + + keys { + compatible = "gpio-keys"; + + button-reset { + label = "reset"; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + led-lan1-amber { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <1>; + }; + + led-lan1-green { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <1>; + }; + + led-lan2-amber { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <2>; + }; + + led-lan2-green { + color = ; + function = LED_FUNCTION_LAN; + function-enumerator = <2>; + }; + + led-wlan2g { + color = ; + function = LED_FUNCTION_WLAN_2GHZ; + linux,default-trigger = "phy1tpt"; + }; + + led-wlan5g { + color = ; + function = LED_FUNCTION_WLAN_5GHZ; + linux,default-trigger = "phy0tpt"; + }; + + led_wrench: led-wrench { + color = ; + function = LED_FUNCTION_STATUS; + }; + }; +}; + +ð0 { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 0>; + nvmem-cell-names = "mac-address"; + phy-handle = <&phy0>; + pll-data = <0xa6000000 0x00000101 0x00001616>; +}; + +ð1 { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 1>; + nvmem-cell-names = "mac-address"; + pll-data = <0x03000101 0x00000101 0x00001616>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + + qca,ar8327-initvals = < + 0x04 0x07680000 /* PORT0 PAD MODE CTRL */ + 0x0c 0x00000080 /* PORT6 PAD MODE CTRL */ + 0x10 0x40000000 /* POWER_ON_STRAP */ + 0x50 0xffb7c405 /* LED0 CTRL */ + 0x54 0xffb7c305 /* LED1 CTRL */ + 0x58 0xffb7c033 /* LED2 CTRL */ + 0x5c 0x03ffff00 /* LED3 CTRL */ + 0x7c 0x0000007e /* PORT0_STATUS */ + 0x94 0x0000007e /* PORT6_STATUS */ + >; + }; +}; + +&pcie0 { + status = "okay"; + + wifi@0,0 { + compatible = "qcom,ath10k"; + reg = <0x0000 0 0 0 0>; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x0080000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x0080000 0x0040000>; + }; + + partition@c0000 { + label = "sysinfo"; + reg = <0x00c0000 0x0040000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_sysinfo_50: macaddr@50 { + compatible = "mac-base"; + reg = <0x50 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + + partition@100000 { + label = "art"; + reg = <0x0100000 0x0010000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x440>; + }; + }; + }; + + partition@110000 { + label = "firmware"; + reg = <0x0110000 0x1ef0000>; + compatible = "denx,uimage"; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&wmac { + status = "okay"; + + nvmem-cells = <&macaddr_sysinfo_50 10>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 41075634398..9ebdcdca6fa 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -234,7 +234,8 @@ compex,wpj531-16m) ucidef_set_led_rssi "sig3" "SIG3" "green:sig3" "wlan0" "65" "100" ucidef_set_led_rssi "sig4" "SIG4" "green:sig4" "wlan0" "50" "100" ;; -dell,apl26-0ae) +dell,apl26-0ae|\ +dell,apl27-0b1) ucidef_set_led_switch "lan1" "LAN1" "amber:lan-1" "switch0" "0x04" ucidef_set_led_switch "lan2" "LAN2" "amber:lan-2" "switch0" "0x08" ;; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index d999784d6a2..545bc14e366 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -298,7 +298,8 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "1:wan" "5:lan" "6@eth0" ;; - dell,apl26-0ae) + dell,apl26-0ae|\ + dell,apl27-0b1) ucidef_add_switch "switch0" \ "0@eth0" "2:lan:1" "3:lan:2" "6@eth1" ;; diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index b74a22ba4d6..6e97960207a 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -978,22 +978,34 @@ define Device/compex_wpj563 endef TARGET_DEVICES += compex_wpj563 -define Device/dell_apl26-0ae +define Device/dell_apl2x SOC := qca9550 DEVICE_VENDOR := Dell DEVICE_MODEL := SonicPoint - DEVICE_VARIANT := ACe (APL26-0AE) DEVICE_ALT0_VENDOR := SonicWall DEVICE_ALT0_MODEL := SonicPoint - DEVICE_ALT0_VARIANT := ACe (APL26-0AE) DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 KERNEL_SIZE := 5952k IMAGE_SIZE := 31680k IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \ append-rootfs | pad-rootfs | check-size | append-metadata endef + +define Device/dell_apl26-0ae + $(Device/dell_apl2x) + DEVICE_VARIANT := ACe (APL26-0AE) + DEVICE_ALT0_VARIANT := ACe (APL26-0AE) +endef TARGET_DEVICES += dell_apl26-0ae +define Device/dell_apl27-0b1 + $(Device/dell_apl2x) + DEVICE_VARIANT := ACi (APL27-0B1) + DEVICE_ALT0_VARIANT := ACi (APL27-0B1) + DEVICE_PACKAGES += kmod-regulator-userspace-consumer +endef +TARGET_DEVICES += dell_apl27-0b1 + define Device/devolo_dlan-pro-1200plus-ac SOC := ar9344 DEVICE_VENDOR := devolo