diff options
author | INAGAKI Hiroshi <musashino.open@gmail.com> | 2019-04-09 14:48:31 +0900 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-02-05 17:03:27 +0100 |
commit | 3c0e2aa63ef040dbfbd7fe5f05bc9dfaf5ae9242 (patch) | |
tree | 3462ba56042d1e1a28f75e5a04dc4d34c5d88511 /target/linux/ramips/dts | |
parent | be4d53bf69b63f0534fba37fad56dcf4c6de3e5c (diff) | |
download | upstream-3c0e2aa63ef040dbfbd7fe5f05bc9dfaf5ae9242.tar.gz upstream-3c0e2aa63ef040dbfbd7fe5f05bc9dfaf5ae9242.tar.bz2 upstream-3c0e2aa63ef040dbfbd7fe5f05bc9dfaf5ae9242.zip |
ramips: add support for I-O DATA WN-DX1167R
I-O DATA WN-DX1167R is a 2.4/5 GHz band 11ac rotuer, based on MediaTek
MT7621A.
Specification:
- SoC : MediaTek MT7621A
- RAM : DDR3 128 MiB
- Flash : NAND 128 MiB
- WLAN : MediaTek MT7615D (2.4/5 GHz, 2T2R)
- Ethernet : 5x 10/100/1000 Mbps
- Switch : MediaTek MT7621A (MT7530)
- LEDs/Input : 2x/3x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
- J5: Vcc, TX, RX, NC, GND
- 57600 bps
Flash instruction using initramfs image:
1. Boot WN-DX1167R normally
2. Access to "http://192.168.0.1/" and open firmware update page
("ファームウェア")
3. Select the OpenWrt initramfs image and click update ("更新")
button to perform firmware update
4. On the initramfs image, perform sysupgrade with squashfs-sysupgrade
image
5. Wait ~120 seconds to complete flashing
Notes:
- configuration in DeviceTree of DBDC (Dual-Band-Dual-Concurrent) mode
for MT7615D chip is not supported in mt76 driver
- last 0x80000 (512 KiB) in NAND flash is not used on stock firmware
- stock firmware requires "customized uImage header" by MSTC
(MitraStar Technology Corp.), but U-Boot doesn't
- uImage magic (0x0 - 0x3) : 0x434F4D43 (COMC)
- header crc32 (0x4 - 0x7) : with data length and data crc32
- image name (0x20 - 0x37) : model ID and firmware versions
- data length (0x38 - 0x3b): kernel + rootfs
- data crc32 (0x3c - 0x3f) : kernel + rootfs
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
Diffstat (limited to 'target/linux/ramips/dts')
-rw-r--r-- | target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts | 31 | ||||
-rw-r--r-- | target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi | 140 |
2 files changed, 171 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts b/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts new file mode 100644 index 0000000000..ee69b97e44 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "mt7621_iodata_wn-xx-xr.dtsi" + +/ { + compatible = "iodata,wn-dx1167r", "mediatek,mt7621-soc"; + model = "I-O DATA WN-DX1167R"; +}; + +&partitions { + partition@6b00000 { + label = "idmkey"; + reg = <0x6b00000 0x0100000>; + read-only; + }; + + partition@6c00000 { + label = "Backup"; + reg = <0x6c00000 0x1380000>; + read-only; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi new file mode 100644 index 0000000000..8b3329113f --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + wps { + label = "iodata:green:wps"; + gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; + }; + + led_power: power { + label = "iodata:green:power"; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + repeater { + label = "repeater"; + gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + linux,input-type = <EV_SW>; + }; + + wps { + label = "wps"; + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; + +&nand { + status = "okay"; + + partitions: partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x0100000>; + read-only; + }; + + partition@100000 { + label = "u-boot-env"; + reg = <0x0100000 0x0100000>; + read-only; + }; + + factory: partition@200000 { + label = "factory"; + reg = <0x0200000 0x0100000>; + }; + + partition@300000 { + label = "SecondBoot"; + reg = <0x0300000 0x0100000>; + read-only; + }; + + partition@400000 { + label = "kernel"; + reg = <0x0400000 0x0400000>; + }; + + partition@800000 { + label = "ubi"; + reg = <0x0800000 0x2e00000>; + }; + + partition@3600000 { + label = "Config"; + reg = <0x3600000 0x0100000>; + read-only; + }; + + partition@3700000 { + label = "firmware_2"; + reg = <0x3700000 0x3200000>; + }; + + partition@6900000 { + label = "Config_2"; + reg = <0x6900000 0x0100000>; + read-only; + }; + + partition@6a00000 { + label = "persist"; + reg = <0x6a00000 0x0100000>; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&pcie { + status = "okay"; +}; + +&state_default { + gpio { + ralink,group = "uart2", "uart3", "wdt"; + ralink,function = "gpio"; + }; +}; + +&xhci { + status = "disabled"; +}; |