aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2020-06-29 12:24:01 +0200
committerDavid Bauer <mail@david-bauer.net>2020-06-29 12:24:01 +0200
commite959048c128e4350b78df653be7cd7277787518e (patch)
treeceddd96491f1ab585ed7ff57dd0f802dcbc6554a /target/linux
parentf49063ba9214cd679bd9b0d5504eadd5d6d86d4e (diff)
downloadupstream-e959048c128e4350b78df653be7cd7277787518e.tar.gz
upstream-e959048c128e4350b78df653be7cd7277787518e.tar.bz2
upstream-e959048c128e4350b78df653be7cd7277787518e.zip
ramips: add support for RAVPower RP-WD009
The RAVPower RP-WD009 is a batter-powered pocket sized router with SD card lot and USB port. Hardware -------- CPU: MediaTek MT7628AN RAM: 64M DDR2 FLASH: 16M GigaDevices SPI-NOR WLAN: MediaTek MT7628AN 2T2R b/g/n MediaTek MT7610E 1T1R n/ac ETH: 1x FastEthernet SD: SD Card slot USB: USB 2.0 Custom PMIC on the I2C bus (address 0x0a). Installation ------------ 1. Press and hold down the reset button. 2. Power up the Device. Keep pressing the reset button for 10 more seconds until the Globe LED lights up. 3. Attach your Computer to the Ethernet port. Assign yourself the address 10.10.10.1/24. 4. Access the recovery page at 10.10.10.128 and upload the OpenWrt factory image. 5. The flashing will take around 1 minute. The device will reboot automatically into OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts202
-rw-r--r--target/linux/ramips/image/Makefile6
-rw-r--r--target/linux/ramips/image/mt76x8.mk11
-rwxr-xr-xtarget/linux/ramips/mt76x8/base-files/etc/board.d/02_network1
4 files changed, 220 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts
new file mode 100644
index 0000000000..5f556af1d3
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts
@@ -0,0 +1,202 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "ravpower,rp-wd009", "mediatek,mt7628an-soc";
+ model = "RAVPower RP-WD009";
+
+ aliases {
+ led-boot = &led_globe;
+ led-failsafe = &led_globe;
+ led-running = &led_globe;
+ led-upgrade = &led_globe;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,57600";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_globe: globe {
+ label = "rp-wd009:white:globe";
+ gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+ };
+
+ wlan2 {
+ label = "rp-wd009:white:wlan2";
+ gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wlan5 {
+ label = "rp-wd009:white:wlan5";
+ gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+
+ sd_white {
+ label = "rp-wd009:white:sd";
+ gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
+ };
+
+ sd_red {
+ label = "rp-wd009:red:sd";
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "reset";
+ gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ /* Power interrupt on Pin 39 */
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RFKILL>;
+ };
+
+ backup {
+ label = "backup";
+ gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_COPY>;
+ };
+ };
+};
+
+&gpio {
+ mt7610-power {
+ gpio-hog;
+ gpios = <20 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "mt7610-power";
+ };
+};
+
+&state_default {
+ gpio {
+ groups = "uart1", "wled_an", "p0led_an", "p2led_an", "p3led_an",
+ "p4led_an", "uart2", "pwm0", "i2s";
+ function = "gpio";
+ };
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ohci {
+ status = "okay";
+};
+
+&sdhci {
+ status = "okay";
+};
+
+&i2c {
+ status = "okay";
+
+ /* Custom PMIC at 0x0a */
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ wifi@0,0 {
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "bootloader";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition@30000 {
+ label = "config";
+ reg = <0x30000 0x10000>;
+ read-only;
+ };
+
+ factory: partition@40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition@50000 {
+ label = "loader";
+ reg = <0x50000 0x180000>;
+ };
+
+ partition@1d0000 {
+ label = "params";
+ reg = <0x1d0000 0x10000>;
+ read-only;
+ };
+
+ partition@1e0000 {
+ label = "user_backup";
+ reg = <0x1e0000 0x10000>;
+ read-only;
+ };
+
+ partition@1f0000 {
+ label = "user";
+ reg = <0x1f0000 0x10000>;
+ read-only;
+ };
+
+ partition@200000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x200000 0xdf0000>;
+ };
+
+ partition@ff0000 {
+ label = "mode";
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index b00e6d8726..93ce59e262 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -111,6 +111,12 @@ define Build/poray-header
mv $@.new $@
endef
+define Build/ravpower-wd009-factory
+ mkimage -A mips -T standalone -C none -a 0x80010000 -e 0x80010000 -n "OpenWrt Bootloader" -d $(UBOOT_PATH) $@.new
+ cat $@ >> $@.new
+ @mv $@.new $@
+endef
+
define Build/relocate-kernel
rm -rf $@.relocate
$(CP) ../../generic/image/relocate $@.relocate
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 605537ace3..9fa81406c9 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -253,6 +253,17 @@ define Device/rakwireless_rak633
endef
TARGET_DEVICES += rakwireless_rak633
+define Device/ravpower_rp-wd009
+ IMAGE_SIZE := 14272k
+ DEVICE_VENDOR := RAVPower
+ DEVICE_MODEL := RP-WD009
+ UBOOT_PATH := $(STAGING_DIR_IMAGE)/ravpower_rp-wd009-u-boot.bin
+ DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 kmod-i2c-mt7628
+ IMAGES += factory.bin
+ IMAGE/factory.bin := $$(sysupgrade_bin) | ravpower-wd009-factory
+endef
+TARGET_DEVICES += ravpower_rp-wd009
+
define Device/skylab_skw92a
IMAGE_SIZE := 16064k
DEVICE_VENDOR := Skylab
diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
index 1cccc16415..bdb5e5867b 100755
--- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
@@ -14,6 +14,7 @@ ramips_setup_interfaces()
mediatek,linkit-smart-7688|\
onion,omega2p|\
onion,omega2|\
+ ravpower,rp-wd009|\
tama,w06|\
tplink,re200-v2|\
tplink,re305-v1|\