ath79: add support for 8devices Rambutan board

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 <ynezz@true.cz> [copy&pasted missing commit description]
Signed-off-by: Andrey Bondar <a.bondar@8devices.com>
master
Andrey Bondar 2020-06-26 11:16:00 +03:00 committed by Petr Štetiar
parent 4e57fd5ada
commit 326e488c7b
5 changed files with 151 additions and 0 deletions

View File

@ -18,6 +18,7 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y CONFIG_ATH79=y
CONFIG_ATH79_WDT=y CONFIG_ATH79_WDT=y
CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_PCI=y

View File

@ -23,6 +23,7 @@ CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_AT803X_PHY=y
CONFIG_ATH79=y CONFIG_ATH79=y
CONFIG_ATH79_WDT=y CONFIG_ATH79_WDT=y
CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_PCI=y

View File

@ -0,0 +1,131 @@
// 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 "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 = <KEY_RESTART>;
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;
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
phy-mode = "mii";
phy-handle = <&phy0>;
};
&eth1 {
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";
};

View File

@ -30,6 +30,21 @@ define Build/zyxel-factory
fi fi
endef 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 define Device/aerohive_hiveap-121
SOC := ar9344 SOC := ar9344
DEVICE_VENDOR := Aerohive DEVICE_VENDOR := Aerohive

View File

@ -9,6 +9,9 @@ board=$(board_name)
case "$FIRMWARE" in case "$FIRMWARE" in
"ath9k-eeprom-ahb-18100000.wmac.bin") "ath9k-eeprom-ahb-18100000.wmac.bin")
case $board in case $board in
8dev,rambutan)
caldata_extract "caldata" 0x1000 0x800
;;
netgear,wndr3700-v4|\ netgear,wndr3700-v4|\
netgear,wndr4300|\ netgear,wndr4300|\
netgear,wndr4300sw|\ netgear,wndr4300sw|\