diff options
author | David Bauer <mail@david-bauer.net> | 2020-06-29 12:24:01 +0200 |
---|---|---|
committer | David Bauer <mail@david-bauer.net> | 2020-06-29 12:24:01 +0200 |
commit | e959048c128e4350b78df653be7cd7277787518e (patch) | |
tree | ceddd96491f1ab585ed7ff57dd0f802dcbc6554a /target/linux | |
parent | f49063ba9214cd679bd9b0d5504eadd5d6d86d4e (diff) | |
download | upstream-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.dts | 202 | ||||
-rw-r--r-- | target/linux/ramips/image/Makefile | 6 | ||||
-rw-r--r-- | target/linux/ramips/image/mt76x8.mk | 11 | ||||
-rwxr-xr-x | target/linux/ramips/mt76x8/base-files/etc/board.d/02_network | 1 |
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"; +}; + +ðernet { + 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|\ |