aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRytis Zigmantavičius <rytis.z@8devices.com>2019-04-11 19:31:23 +0300
committerPetr Štetiar <ynezz@true.cz>2019-06-05 10:24:45 +0200
commit64493d42b41253aafe1538e325e0692db4201046 (patch)
treefd38fe4f2e41733928de66279f280a20e84ec6f0
parent046263095e007ba80bdf3525de32d7cce11734e8 (diff)
downloadupstream-64493d42b41253aafe1538e325e0692db4201046.tar.gz
upstream-64493d42b41253aafe1538e325e0692db4201046.tar.bz2
upstream-64493d42b41253aafe1538e325e0692db4201046.zip
ath79: add support for 8devices Carambola2 development board
Specifications: - Atheros AR9331 (400 MHz) - 64 MB of RAM (DDR2) - 16 MB of Flash (SPI) - 1T1R 2.4 Wlan (AR9331) - 2x 10/100 Mbps Ethernet - 3x LEDs, 1x gpio button - 1x USB 2.0, 5V - UART over usb, 115200n8 Upgrading from ar71xx target: - Put image into board: scp openwrt-ath79-generic-8dev_carambola2-squashfs-sysupgrade.bin \ root@192.168.1.1/tmp/ - Run sysupgrade sysupgrade /tmp/sysupgrade.bin Upgrading from u-boot: - Set up tftp server with sysupgrade.bin image - Go to u-boot (reboot and press ESC when prompted) - Set TFTP server IP setenv serverip 192.168.1.254 - Set device ip from same subnet setenv ipaddr 192.168.1.1 - Copy new firmware to board tftpboot 0x81000000 sysupgrade.bin - erase flash erase 0x9f050000 +${filesize} - flash firmware cp.b 0x81000000 0x9f050000 ${filesize} - Reset board reset Signed-off-by: Rytis Zigmantavičius <rytis.z@8devices.com> [wrapped long line in commit description, whitespace and art address fix in DTS, keep default lan/wan setup, removed -n in sysupgrade] Signed-off-by: Petr Štetiar <ynezz@true.cz>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/01_leds4
-rw-r--r--target/linux/ath79/dts/ar9331_8dev_carambola2.dts135
-rw-r--r--target/linux/ath79/image/generic.mk9
3 files changed, 148 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds
index 6b3d5077d3..626842b072 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -8,6 +8,10 @@ board=$(board_name)
boardname="${board##*,}"
case "$board" in
+8dev,carambola2)
+ ucidef_set_led_netdev "lan" "LAN" "$boardname:orange:eth0" "eth0"
+ ucidef_set_led_switch "wan" "WAN" "$boardname:orange:eth1" "switch0" "0x04"
+ ;;
avm,fritz300e)
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
ucidef_set_rssimon "wlan0" "200000" "1"
diff --git a/target/linux/ath79/dts/ar9331_8dev_carambola2.dts b/target/linux/ath79/dts/ar9331_8dev_carambola2.dts
new file mode 100644
index 0000000000..eb8ea3b20c
--- /dev/null
+++ b/target/linux/ath79/dts/ar9331_8dev_carambola2.dts
@@ -0,0 +1,135 @@
+// 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 "ar9331.dtsi"
+
+/ {
+ model = "8devices Carambola2";
+ compatible = "8dev,carambola2", "qca,ar9331";
+
+ aliases {
+ serial0 = &uart;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wlan {
+ label = "carambola2:green:wlan";
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ eth0 {
+ label = "carambola2:orange:eth0";
+ gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
+ };
+
+ eth1 {
+ label = "carambola2:orange:eth1";
+ gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ wps {
+ label = "wps";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&ref {
+ clock-frequency = <40000000>;
+};
+
+&uart {
+ status = "okay";
+};
+
+&gpio {
+ status = "okay";
+};
+
+&usb {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_phy {
+ status = "okay";
+};
+
+&spi {
+ num-chipselects = <0>;
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ spi-max-frequency = <104000000>;
+ reg = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ uboot: 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 = <0x50000 0xfa0000>;
+ };
+
+ art: partition@ff0000 {
+ label = "art";
+ reg = <0xff0000 0x010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+};
+
+&eth0 {
+ status = "okay";
+ mtd-mac-address = <&art 0x0>;
+
+ gmac-config {
+ device = <&gmac>;
+
+ switch-phy-addr-swap = <1>;
+ switch-phy-swap = <1>;
+ };
+};
+
+&eth1 {
+ status = "okay";
+ mtd-mac-address = <&art 0x6>;
+};
+
+&wmac {
+ status = "okay";
+ mtd-cal-data = <&art 0x1000>;
+ mtd-mac-address = <&art 0x1002>;
+};
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 3c9b171d35..d5f67b88a6 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -75,6 +75,15 @@ define Device/seama
SEAMA_SIGNATURE :=
endef
+define Device/8dev_carambola2
+ ATH_SOC := ar9331
+ DEVICE_TITLE := 8devices Carambola2
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
+ IMAGE_SIZE := 16000k
+ SUPPORTED_DEVICES += carambola2
+endef
+TARGET_DEVICES += 8dev_carambola2
+
define Device/aruba_ap-105
ATH_SOC := ar7161
DEVICE_TITLE := Aruba AP-105