From a1deab0ec9ced8f1a2c997483efc1fc6e364ae34 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Mon, 2 Aug 2021 00:43:34 +0900 Subject: [PATCH] ramips: add support for ipTIME T5004 ipTIME T5004 is a 5-port Gigabit Ethernet router, based on MediaTek MT7621A. Specifications: * SoC: MT7621AT * RAM: 128 MiB * Flash: NAND 128 MiB * Ethernet: 5x 1GbE * Switch: SoC built-in * UART: J4 (57600 baud) * Pinout: [3V3] (TXD) (RXD) (GND) Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware via recovery mode: 1. Press reset button, power up the device, wait >15s for CPU LED to stop blinking. 2. Upload stock image to TFTP server at 192.168.0.1. Signed-off-by: Sungbo Eo --- .../linux/ramips/dts/mt7621_iptime_t5004.dts | 121 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 15 +++ .../mt7621/base-files/etc/board.d/02_network | 4 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 141 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_iptime_t5004.dts diff --git a/target/linux/ramips/dts/mt7621_iptime_t5004.dts b/target/linux/ramips/dts/mt7621_iptime_t5004.dts new file mode 100644 index 0000000000..c6c919cfb1 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_iptime_t5004.dts @@ -0,0 +1,121 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include +#include + +/ { + compatible = "iptime,t5004", "mediatek,mt7621-soc"; + model = "ipTIME T5004"; + + aliases { + led-boot = &led_cpu; + led-failsafe = &led_cpu; + led-running = &led_cpu; + led-upgrade = &led_cpu; + }; + + leds { + compatible = "gpio-leds"; + + led_cpu: led-0 { + label = "blue:cpu"; + color = ; + function = LED_FUNCTION_CPU; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&nand { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "config"; + reg = <0x80000 0xc0000>; + read-only; + }; + + partition@140000 { + label = "firmware"; + reg = <0x140000 0x7e40000>; + + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + partition@400000 { + label = "ubi"; + reg = <0x400000 0x7a40000>; + }; + }; + }; +}; + +&state_default { + gpio { + groups = "i2c", "wdt"; + function = "gpio"; + }; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "wan"; + }; + + port@1 { + status = "okay"; + label = "lan4"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@3 { + status = "okay"; + label = "lan2"; + }; + + port@4 { + status = "okay"; + label = "lan1"; + }; + }; +}; + +&xhci { + status = "disabled"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index e1cb0195b0..99884ec1d9 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -804,6 +804,21 @@ define Device/iptime_a8004t endef TARGET_DEVICES += iptime_a8004t +define Device/iptime_t5004 + $(Device/dsa-migration) + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 4096k + IMAGE_SIZE := 129280k + UBINIZE_OPTS := -E 5 + UIMAGE_NAME := t5004 + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_VENDOR := ipTIME + DEVICE_MODEL := T5004 + DEVICE_PACKAGES := -wpad-basic-wolfssl +endef +TARGET_DEVICES += iptime_t5004 + define Device/jcg_jhr-ac876m $(Device/dsa-migration) IMAGE_SIZE := 16064k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 342704ee30..0b11c05c84 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -135,6 +135,10 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac ;; + iptime,t5004) + lan_mac=$(mtd_get_mac_ascii config ethaddr) + wan_mac=$(macaddr_add "$lan_mac" 1) + ;; jcg,y2|\ wavlink,wl-wn531a6|\ winstars,ws-wn583a6|\ diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 790de22f40..c7ddb55b34 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -59,6 +59,7 @@ platform_do_upgrade() { dlink,dir-853-a3|\ hiwifi,hc5962|\ iptime,a3004t|\ + iptime,t5004|\ jcg,q20|\ linksys,e5600|\ linksys,ea7300-v1|\ -- 2.30.2