Hi David, a few comments inline.
> -----Original Message----- > From: openwrt-devel [mailto:[email protected]] > On Behalf Of David Bauer > Sent: Mittwoch, 15. April 2020 18:47 > To: [email protected] > Subject: [OpenWrt-Devel] [PATCH 2/2] ath79: add support for AVM > FRITZ!WLAN Repeater 1750E > > This commit adds support for the AVM Fritz!WLAN Repeater 1750E > > SOC: Qualcomm QCA9556 (Scorpion) 720MHz MIPS74Kc > RAM: 64MB Zentel A3R12E40CBF DDR2 > FLASH: 16MiB Winbond W25Q128 SPI NOR > WLAN1: QCA9556 2.4 GHz 802.11b/g/n 3x3 > WLAN2: QCA9880 5 GHz 802.11 n/ac 3x3 > INPUT: WPS button > LED: Power, WiFi, LAN, RSSI indicator > Serial: Header Next to Black metal shield > Pinout is 3.3V - RX - TX - GND (Square Pad is 3.3V) > The Serial setting is 115200-8-N-1. > > Tested and working: > - Ethernet > - 2.4 GHz WiFi (correct MAC) > - 5 GHz WiFi (correct MAC) > - Installation via EVA bootloader > - OpenWRT sysupgrade > - Buttons > - LEDs > > Installation via EVA: > In the first seconds after Power is connected, the bootloader will listen for > FTP connections on 192.168.178.1. Firmware can be uploaded like following: > > ftp> quote USER adam2 > ftp> quote PASS adam2 > ftp> binary > ftp> debug > ftp> passive > ftp> quote MEDIA FLSH > ftp> put openwrt-sysupgrade.bin mtd1 > > Note that this procedure might take up to two minutes. > You need to powercycle the Device afterwards to boot OpenWRT. > > Signed-off-by: David Bauer <[email protected]> > --- > .../ath79/dts/qca9556_avm_fritz1750e.dts | 199 ++++++++++++++++++ > .../generic/base-files/etc/board.d/01_leds | 11 +- > .../generic/base-files/etc/board.d/02_network | 4 + > .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 + > .../etc/hotplug.d/firmware/11-ath10k-caldata | 3 + > .../base-files/lib/preinit/10_fix_eth_mac.sh | 3 + > target/linux/ath79/image/generic.mk | 30 ++- > 7 files changed, 239 insertions(+), 12 deletions(-) create mode 100644 > target/linux/ath79/dts/qca9556_avm_fritz1750e.dts > > diff --git a/target/linux/ath79/dts/qca9556_avm_fritz1750e.dts > b/target/linux/ath79/dts/qca9556_avm_fritz1750e.dts > new file mode 100644 > index 0000000000..b567e1ce62 > --- /dev/null > +++ b/target/linux/ath79/dts/qca9556_avm_fritz1750e.dts > @@ -0,0 +1,199 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +#include "qca9557.dtsi" > + > +/ { > + compatible = "avm,fritz1750e", "qca,qca9557"; > + model = "AVM FRITZ!WLAN Repeater 1750E"; > + > + chosen { > + bootargs = "console=ttyS0,115200n8"; > + }; > + > + aliases { > + led-boot = &led_power; > + led-failsafe = &led_power; > + led-running = &led_power; > + led-upgrade = &led_power; > + }; > + > + led_spi { > + compatible = "spi-gpio"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + sck-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; > + mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; > + num-chipselects = <0>; > + > + spi_gpio: led_gpio@0 { > + compatible = "fairchild,74hc595"; > + reg = <0>; > + gpio-controller; > + #gpio-cells = <2>; > + registers-number = <1>; > + spi-max-frequency = <10000000>; > + > + gpio_latch_bit { > + gpio-hog; > + gpios = <7 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "gpio-latch-bit"; > + }; > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led_power: power { > + label = "fritz1750e:green:power"; > + gpios = <&spi_gpio 6 GPIO_ACTIVE_HIGH>; > + }; > + > + wlan { > + label = "fritz1750e:green:wlan"; > + gpios = <&spi_gpio 5 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "phy1tpt"; > + }; > + > + lan { > + label = "fritz1750e:green:lan"; > + gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; > + }; > + > + rssi0 { > + label = "fritz1750e:green:rssi0"; > + gpios = <&spi_gpio 0 GPIO_ACTIVE_HIGH>; > + }; > + > + rssi1 { > + label = "fritz1750e:green:rssi1"; > + gpios = <&spi_gpio 1 GPIO_ACTIVE_HIGH>; > + }; > + > + rssi2 { > + label = "fritz1750e:green:rssi2"; > + gpios = <&spi_gpio 2 GPIO_ACTIVE_HIGH>; > + }; > + > + rssi3 { > + label = "fritz1750e:green:rssi3"; > + gpios = <&spi_gpio 3 GPIO_ACTIVE_HIGH>; > + }; > + > + rssi4 { > + label = "fritz1750e:green:rssi4"; > + gpios = <&spi_gpio 4 GPIO_ACTIVE_HIGH>; > + }; > + }; > + > + keys { > + compatible = "gpio-keys"; > + > + wps { > + label = "wps"; > + linux,code = <KEY_WPS_BUTTON>; > + gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; > + }; > + }; > +}; > + > +&pcie0 { > + status = "okay"; > +}; > + > +&uart { > + status = "okay"; > +}; > + > +&pll { > + clocks = <&extosc>; > +}; > + > +&spi { > + status = "okay"; > + num-cs = <1>; > + > + 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 = "urlader"; > + reg = <0x0 0x20000>; > + read-only; > + }; > + > + partition@20000 { > + compatible = "avm,eva-firmware"; > + label = "firmware"; > + reg = <0x20000 0xee0000>; > + }; > + > + partition@f00000 { > + label = "tffs (1)"; > + reg = <0xf00000 0x80000>; > + read-only; > + }; > + > + partition@f80000 { > + label = "tffs (2)"; > + reg = <0xf80000 0x80000>; > + read-only; > + }; > + }; > + }; > +}; > + > +&gpio { > + reset-pcie-ep { > + gpio-hog; > + gpios = <17 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "PCIE EP reset"; > + }; > + > + reset-pcie { > + gpio-hog; > + gpios = <18 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "PCIE Bus reset"; > + }; > +}; > + > +&wmac { > + status = "okay"; > + qca,no-eeprom; > +}; > + > +ð1 { > + status = "okay"; > + > + phy-handle = <&phy0>; > + pll-data = <0x3000000 0x101 0x1313>; > + > + gmac-config { > + device = <&gmac>; > + ge0-sgmii = <0>; > + }; > +}; > + > +&mdio1 { > + status = "okay"; > + > + phy0: ethernet-phy@0 { > + reg = <0>; > + reset-gpios = <&gpio 11 GPIO_ACTIVE_LOW>; > + }; > +}; > 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 b946d0c63b..528455b2df 100755 > --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds > +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds > @@ -15,7 +15,16 @@ case "$board" in > alfa-network,ap121f) > ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" > ;; > -avm,fritz300e) > +avm,fritz1750e) > + ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" > + ucidef_set_rssimon "wlan1" "200000" "1" > + ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" > "wlan1" "1" "100" I'd personally prefer to label the rssileds in DTS accordingly (label property and node name) like done for other devices: "$boardname:green:rssilow", rssilow etc. Just meant as an inspiration though ... > + ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" > "$boardname:green:rssi1" "wlan1" "20" "100" > + ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" > "$boardname:green:rssi2" "wlan1" "40" "100" > + ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" > "$boardname:green:rssi3" "wlan1" "60" "100" > + ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssi4" > "wlan1" "80" "100" > + ;; > +fritz300e) "avm," cut off here. > ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" > ucidef_set_rssimon "wlan0" "200000" "1" > ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" > "wlan0" "1" "100" > 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 77855d7ab7..96800d771f 100755 > --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network > +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network > @@ -13,6 +13,7 @@ ath79_setup_interfaces() > adtran,bsap1840|\ > alfa-network,ap121f|\ > aruba,ap-105|\ > + avm,fritz1750e|\ > avm,fritz300e|\ > comfast,cf-wr752ac-v1|\ > devolo,dvl1200i|\ > @@ -337,6 +338,9 @@ ath79_setup_macs() > alfa-network,ap121f) > label_mac=$(mtd_get_mac_binary art 0x1002) > ;; > + avm,fritz1750e) > + label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs > (1)")) > + ;; > avm,fritz300e) > lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)")) > label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs > (1)")) diff --git a/target/linux/ath79/generic/base- > files/etc/hotplug.d/firmware/10-ath9k-eeprom > b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k- > eeprom > index da2063c58a..782e003911 100644 > --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10- > ath9k-eeprom > +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-at > +++ h9k-eeprom > @@ -9,6 +9,7 @@ board=$(board_name) > case "$FIRMWARE" in > "ath9k-eeprom-ahb-18100000.wmac.bin") > case $board in > + avm,fritz1750e|\ > avm,fritz4020) > caldata_extract_reverse "urlader" 0x1541 0x440 > ;; > diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11- > ath10k-caldata b/target/linux/ath79/generic/base- > files/etc/hotplug.d/firmware/11-ath10k-caldata > index c126d9df6a..014ab03003 100644 > --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11- > ath10k-caldata > +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-at > +++ h10k-caldata > @@ -10,6 +10,9 @@ board=$(board_name) > case "$FIRMWARE" in > "ath10k/cal-pci-0000:00:00.0.bin") > case $board in > + avm,fritz1750e) > + caldata_extract "urlader" 6538 2116 Use hex here as well? > + ;; > comfast,cf-wr650ac-v1|\ > comfast,cf-wr650ac-v2|\ > devolo,magic-2-wifi|\ > diff --git a/target/linux/ath79/generic/base- > files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base- > files/lib/preinit/10_fix_eth_mac.sh > index a0fb9fc717..371efd6a83 100644 > --- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh > +++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.s > +++ h > @@ -4,6 +4,9 @@ > > preinit_set_mac_address() { > case $(board_name) in > + avm,fritz1750e) > + ip link set dev eth0 address $(fritz_tffs -n maca -i > $(find_mtd_part "tffs (1)")) > + ;; > siemens,ws-ap3610) > ip link set dev eth0 address $(mtd_get_mac_ascii cfg1 > ethaddr) > ;; > diff --git a/target/linux/ath79/image/generic.mk > b/target/linux/ath79/image/generic.mk > index 69067c9de0..bd95ba2c3d 100644 > --- a/target/linux/ath79/image/generic.mk > +++ b/target/linux/ath79/image/generic.mk > @@ -162,32 +162,40 @@ define Device/aruba_ap-105 endef > TARGET_DEVICES += aruba_ap-105 > > -define Device/avm_fritz300e > - SOC := ar7242 > +define Device/avm > DEVICE_VENDOR := AVM > - DEVICE_MODEL := FRITZ!WLAN Repeater 300E > KERNEL := kernel-bin | append-dtb | lzma | eva-image > KERNEL_INITRAMFS := $$(KERNEL) > IMAGE_SIZE := 15232k Even though it's the same right now, I wouldn't put IMAGE_SIZE into the common part. This is an invitation for later submissions to overlook it when it's actually different. > IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \ > append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad- > rootfs | \ > append-metadata | check-size > - DEVICE_PACKAGES := fritz-tffs rssileds -swconfig > + DEVICE_PACKAGES := fritz-tffs > +endef > + > +define Device/avm_fritz1750e > + $(Device/avm) > + SOC := qca9556 > + DEVICE_MODEL := FRITZ!WLAN Repeater 1750E > + DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers | \ > + ath10k-firmware-qca988x-ct -swconfig > +endef > +TARGET_DEVICES += avm_fritz1750e > + > +define Device/avm_fritz300e > + $(Device/avm) > + SOC := ar7242 > + DEVICE_MODEL := FRITZ!WLAN Repeater 300E > + DEVICE_PACKAGES += rssileds -swconfig > SUPPORTED_DEVICES += fritz300e > endef > TARGET_DEVICES += avm_fritz300e > > define Device/avm_fritz4020 > + $(Device/avm) > SOC := qca9561 > DEVICE_VENDOR := AVM vendor can be removed (inherited) Best Adrian > DEVICE_MODEL := FRITZ!Box 4020 > - IMAGE_SIZE := 15232k > - KERNEL := kernel-bin | append-dtb | lzma | eva-image > - KERNEL_INITRAMFS := $$(KERNEL) > - IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \ > - append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad- > rootfs | \ > - append-metadata | check-size > - DEVICE_PACKAGES := fritz-tffs > SUPPORTED_DEVICES += fritz4020 > endef > TARGET_DEVICES += avm_fritz4020 > -- > 2.26.0 > > > _______________________________________________ > openwrt-devel mailing list > [email protected] > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
openpgp-digital-signature.asc
Description: PGP signature
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
