mirror of https://github.com/hak5/openwrt.git
ramips: add support for ipTIME A104ns
ipTIME A104ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A. Specifications: - SoC: MT7620A - RAM: DDR2 64MB - Flash: SPI NOR 8MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7610EN - Ethernet: 5x 10/100Mbps - Switch: SoC internal - USB: 1x 2.0 - UART: - J2: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1 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: 1. Perform sysupgrade with stock image. In contrast to to-be-supported A1004ns, the A104ns has no usable value in 0x1fc40 (uboot), so wan_mac needs to be calculated. Also note that GPIOs for the LEDs really are inverted compared to the A1004ns. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [moved state_default to device DTS, reordered properties in wmac, added comment about wan_mac and LED GPIOs] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>master
parent
01d39cd18c
commit
38bdfcdb87
|
@ -0,0 +1,86 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
|
||||||
|
#include "mt7620a.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
label-mac-device = ðernet;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&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>;
|
||||||
|
|
||||||
|
uboot: partition@0 {
|
||||||
|
label = "u-boot";
|
||||||
|
reg = <0x0 0x20000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@20000 {
|
||||||
|
label = "config";
|
||||||
|
reg = <0x20000 0x10000>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
firmware: partition@30000 {
|
||||||
|
compatible = "denx,uimage";
|
||||||
|
label = "firmware";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ðernet {
|
||||||
|
mtd-mac-address = <&uboot 0x1fc20>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&ehci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie0 {
|
||||||
|
wifi@0,0 {
|
||||||
|
compatible = "mediatek,mt76";
|
||||||
|
reg = <0x0000 0 0 0 0>;
|
||||||
|
mediatek,mtd-eeprom = <&uboot 0x1f800>;
|
||||||
|
ieee80211-freq-limit = <5000000 6000000>;
|
||||||
|
|
||||||
|
led {
|
||||||
|
led-sources = <0>;
|
||||||
|
led-active-low;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&wmac {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&wled_pins>;
|
||||||
|
|
||||||
|
ralink,mtd-eeprom = <&uboot 0x1f400>;
|
||||||
|
};
|
|
@ -0,0 +1,59 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "mt7620a_iptime.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "iptime,a104ns", "ralink,mt7620a-soc";
|
||||||
|
model = "ipTIME A104ns";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led-boot = &led_cpu;
|
||||||
|
led-failsafe = &led_cpu;
|
||||||
|
led-running = &led_cpu;
|
||||||
|
led-upgrade = &led_cpu;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
usb {
|
||||||
|
label = "a104ns:blue:usb";
|
||||||
|
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
||||||
|
trigger-sources = <&ohci_port1>, <&ehci_port1>;
|
||||||
|
linux,default-trigger = "usbport";
|
||||||
|
};
|
||||||
|
|
||||||
|
led_cpu: cpu {
|
||||||
|
label = "a104ns:blue:cpu";
|
||||||
|
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
wps {
|
||||||
|
label = "wps";
|
||||||
|
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_WPS_BUTTON>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reset {
|
||||||
|
label = "reset";
|
||||||
|
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&firmware {
|
||||||
|
reg = <0x30000 0x7d0000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&state_default {
|
||||||
|
gpio {
|
||||||
|
ralink,group = "uartf", "spi refclk";
|
||||||
|
ralink,function = "gpio";
|
||||||
|
};
|
||||||
|
};
|
|
@ -494,6 +494,16 @@ define Device/iodata_wn-ac733gr3
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += iodata_wn-ac733gr3
|
TARGET_DEVICES += iodata_wn-ac733gr3
|
||||||
|
|
||||||
|
define Device/iptime_a104ns
|
||||||
|
MTK_SOC := mt7620a
|
||||||
|
IMAGE_SIZE := 8000k
|
||||||
|
UIMAGE_NAME := a104ns
|
||||||
|
DEVICE_VENDOR := ipTIME
|
||||||
|
DEVICE_MODEL := A104ns
|
||||||
|
DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += iptime_a104ns
|
||||||
|
|
||||||
define Device/kimax_u25awf-h1
|
define Device/kimax_u25awf-h1
|
||||||
MTK_SOC := mt7620a
|
MTK_SOC := mt7620a
|
||||||
IMAGE_SIZE := 16064k
|
IMAGE_SIZE := 16064k
|
||||||
|
|
|
@ -139,6 +139,10 @@ ramips_setup_interfaces()
|
||||||
ucidef_add_switch "switch1" \
|
ucidef_add_switch "switch1" \
|
||||||
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
|
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
|
||||||
;;
|
;;
|
||||||
|
iptime,a104ns)
|
||||||
|
ucidef_add_switch "switch0" \
|
||||||
|
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
|
||||||
|
;;
|
||||||
kingston,mlw221)
|
kingston,mlw221)
|
||||||
ucidef_set_interface_lan "eth0.2"
|
ucidef_set_interface_lan "eth0.2"
|
||||||
;;
|
;;
|
||||||
|
@ -301,6 +305,9 @@ ramips_setup_macs()
|
||||||
iodata,wn-ac733gr3)
|
iodata,wn-ac733gr3)
|
||||||
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
||||||
;;
|
;;
|
||||||
|
iptime,a104ns)
|
||||||
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary u-boot 0x1fc20)" 2)
|
||||||
|
;;
|
||||||
lenovo,newifi-y1|\
|
lenovo,newifi-y1|\
|
||||||
lenovo,newifi-y1s|\
|
lenovo,newifi-y1s|\
|
||||||
ohyeah,oy-0001|\
|
ohyeah,oy-0001|\
|
||||||
|
|
Loading…
Reference in New Issue