From 326e488c7b02fb291e0b01970db3482284307c8d Mon Sep 17 00:00:00 2001 From: Andrey Bondar Date: Fri, 26 Jun 2020 11:16:00 +0300 Subject: [PATCH] ath79: add support for 8devices Rambutan board MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Rambutan is a Wifi module based on QCA9550/9557 http://www.8devices.com/products/rambutan Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of DDR2 RAM - 128 MB of NAND Flash - 1x 100Mbps Ethernet - 1x 1000Mbps Ethernet (PHY on dev-kit) - 1x Wifi radio 2x2 MIMO, dualband 2.4 and 5 GHz - 2x U.FL connectors on module, chip antennas on dev-kit - 1x miniPCIe slot - 2x USB2.0 host - 2x UART - SPI, I2C, GPIO Flash instructions: Upgrade from ar71xx target: sysupgrade -F /tmp/openwrt-ath79-nand-8dev_rambutan-squashfs-sysupgrade.tar or upgrade from GUI (don't save config) Use factory image to flash from U-Boot: tftpboot 80060000 openwrt-ath79-nand-8dev_rambutan-squashfs-factory.ubi nand erase.part ubi nand write 80060000 ubi ${filesize} Signed-off-by: Petr Å tetiar [copy&pasted missing commit description] Signed-off-by: Andrey Bondar --- target/linux/ath79/config-4.19 | 1 + target/linux/ath79/config-5.4 | 1 + .../linux/ath79/dts/qca9557_8dev_rambutan.dts | 131 ++++++++++++++++++ target/linux/ath79/image/nand.mk | 15 ++ .../etc/hotplug.d/firmware/10-ath9k-eeprom | 3 + 5 files changed, 151 insertions(+) create mode 100644 target/linux/ath79/dts/qca9557_8dev_rambutan.dts diff --git a/target/linux/ath79/config-4.19 b/target/linux/ath79/config-4.19 index 92af6ba970..c1b15301ef 100644 --- a/target/linux/ath79/config-4.19 +++ b/target/linux/ath79/config-4.19 @@ -18,6 +18,7 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_AT803X_PHY=y CONFIG_ATH79=y CONFIG_ATH79_WDT=y CONFIG_BLK_MQ_PCI=y diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4 index 449f42bba7..f0679933ae 100644 --- a/target/linux/ath79/config-5.4 +++ b/target/linux/ath79/config-5.4 @@ -23,6 +23,7 @@ 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 diff --git a/target/linux/ath79/dts/qca9557_8dev_rambutan.dts b/target/linux/ath79/dts/qca9557_8dev_rambutan.dts new file mode 100644 index 0000000000..cf1c00c642 --- /dev/null +++ b/target/linux/ath79/dts/qca9557_8dev_rambutan.dts @@ -0,0 +1,131 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "qca955x.dtsi" + +/ { + compatible = "8dev,rambutan", "qca,qca9557"; + model = "8devices Rambutan"; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <60>; + }; + }; +}; + +&nand { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x300000>; + read-only; + }; + + partition@300000 { + label = "u-boot-env"; + reg = <0x300000 0x200000>; + }; + + art: partition@500000 { + label = "art"; + reg = <0x500000 0x100000>; + read-only; + }; + + partition@600000 { + label = "ubi"; + reg = <0x600000 0x7a00000>; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + reset-gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; +}; + +&mdio1 { + status = "okay"; + + phy1: ethernet-phy@0 { + reg = <0>; + reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + phy-mode = "sgmii"; + at803x-override-sgmii-link-check; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&art 0x0>; + phy-mode = "mii"; + phy-handle = <&phy0>; +}; + +ð1 { + status = "okay"; + + pll-data = <0x17000000 0x101 0x1313>; + phy-handle = <&phy1>; + phy-mode = "sgmii"; + qca955x-sgmii-fixup; + mtd-mac-address = <&art 0x6>; +}; + +&wmac { + status = "okay"; + + gpio-controller; + mtd-cal-data = <&art 0x1000>; +}; + +&pcie0 { + status = "okay"; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb1 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; +}; + +&uart { + status = "okay"; +}; diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk index dc06b65371..240d96729b 100644 --- a/target/linux/ath79/image/nand.mk +++ b/target/linux/ath79/image/nand.mk @@ -30,6 +30,21 @@ define Build/zyxel-factory fi endef +define Device/8dev_rambutan + SOC := qca9557 + DEVICE_VENDOR := 8devices + DEVICE_MODEL := Rambutan + DEVICE_PACKAGES := kmod-usb2 + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 4096k + KERNEL_IN_UBI := 1 + IMAGES := factory.bin sysupgrade.tar + IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata + IMAGE/factory.bin := append-ubi +endef +TARGET_DEVICES += 8dev_rambutan + define Device/aerohive_hiveap-121 SOC := ar9344 DEVICE_VENDOR := Aerohive diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 355be93ead..60defa5f8b 100644 --- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -9,6 +9,9 @@ board=$(board_name) case "$FIRMWARE" in "ath9k-eeprom-ahb-18100000.wmac.bin") case $board in + 8dev,rambutan) + caldata_extract "caldata" 0x1000 0x800 + ;; netgear,wndr3700-v4|\ netgear,wndr4300|\ netgear,wndr4300sw|\ -- 2.30.2