forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
meditek: add support for RouteRich AX3000 - MediaTek MT7981 RFB
NoNameChina router - RouteRich AX3000 - MediaTek MT7981 RFB - ZROUTER R-ZCQ1 SoC: MT7981BA RAM: ESMT M15T2G16128A (1G) Flash: SPI-NAND ESMT F50L1G41LB (128M) Switch: MT7531AE Wi-Fi: MT7976GN PCB: ZR-3020_V1.2 USB 2.0x1 Button: 2 (Mesh, Reset) LED: 7 GPIO (Power, WiFi, MESH, LAN1-3, WAN) Signed-off-by: Maximilian Weinmann <[email protected]> fix init fix fix lan Signed-off-by: mishar some changes some changes Signed-off-by: Mikhail Zhilkin <[email protected]> (cherry picked from commit 6848375)
- Loading branch information
1 parent
50690dd
commit f9c385c
Showing
6 changed files
with
357 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,325 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
/dts-v1/; | ||
#include "mt7981.dtsi" | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
// #include <dt-bindings/input/linux-event-codes.h> | ||
|
||
/ { | ||
model = "Routerich AX3000"; | ||
compatible = "routerich,ax3000", "mediatek,mt7981"; | ||
|
||
aliases { | ||
label-mac-device = &wan; | ||
|
||
led-boot = &led_status_blue; | ||
led-failsafe = &led_status_blue; | ||
led-running = &led_status_blue; | ||
led-upgrade = &led_status_blue; | ||
|
||
serial0 = &uart0; | ||
}; | ||
|
||
chosen { | ||
stdout-path = "serial0:115200n8"; | ||
}; | ||
|
||
memory { | ||
reg = <0 0x40000000 0 0x10000000>; | ||
}; | ||
|
||
gpio-keys { | ||
compatible = "gpio-keys"; | ||
|
||
mesh { | ||
label = "mesh"; | ||
linux,code = <KEY_WPS_BUTTON>; | ||
gpios = <&pio 0 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
reset { | ||
label = "Reset Button"; | ||
gpios = <&pio 1 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_RESTART>; | ||
}; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; // led@0 | ||
|
||
led-0 { | ||
label = "blue:wifi_5g"; | ||
gpios = <&pio 5 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "phy1radio"; | ||
}; | ||
|
||
led-1 { | ||
label = "amber:wan"; | ||
gpios = <&pio 6 GPIO_ACTIVE_HIGH>; | ||
}; | ||
|
||
led_status_blue: led-2 { | ||
label = "blue:status"; | ||
gpios = <&pio 7 GPIO_ACTIVE_LOW>; | ||
panic-indicator; | ||
}; | ||
|
||
led-3 { | ||
label = "blue:lan1"; | ||
gpios = <&pio 9 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-4 { | ||
label = "blue:lan2"; | ||
gpios = <&pio 10 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-5 { | ||
label = "blue:lan3"; | ||
gpios = <&pio 11 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-6 { | ||
label = "blue:wan"; | ||
gpios = <&pio 12 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-7 { | ||
label = "blue:wifi_2g"; | ||
gpios = <&pio 34 GPIO_ACTIVE_LOW>; | ||
linux,default-trigger = "phy0radio"; | ||
}; | ||
|
||
led-8 { | ||
label = "blue:mesh"; | ||
gpios = <&pio 35 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
}; | ||
|
||
ð { | ||
status = "okay"; | ||
|
||
gmac0: mac@0 { | ||
compatible = "mediatek,eth-mac"; | ||
reg = <0>; | ||
phy-mode = "2500base-x"; | ||
|
||
nvmem-cell-names = "mac-address"; | ||
nvmem-cells = <&macaddr_factory_2a 0>; | ||
|
||
fixed-link { | ||
speed = <2500>; | ||
full-duplex; | ||
pause; | ||
}; | ||
}; | ||
}; | ||
|
||
&mdio_bus { | ||
switch: switch@0 { | ||
compatible = "mediatek,mt7531"; | ||
reg = <31>; | ||
reset-gpios = <&pio 39 GPIO_ACTIVE_HIGH>; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
interrupt-parent = <&pio>; | ||
interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; | ||
}; | ||
}; | ||
|
||
&spi0 { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&spi0_flash_pins>; | ||
status = "okay"; | ||
|
||
spi_nand@0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "spi-nand"; | ||
reg = <0>; | ||
|
||
spi-max-frequency = <52000000>; | ||
|
||
spi-cal-enable; | ||
spi-cal-mode = "read-data"; | ||
spi-cal-datalen = <7>; | ||
spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4E 0x41 0x4E 0x44>; | ||
spi-cal-addrlen = <5>; | ||
spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>; | ||
|
||
spi-tx-buswidth = <4>; | ||
spi-rx-buswidth = <4>; | ||
mediatek,nmbm; | ||
mediatek,bmt-max-ratio = <1>; | ||
mediatek,bmt-max-reserved-blocks = <64>; | ||
|
||
mediatek,bmt-remap-range = | ||
<0x0 0x580000>, | ||
<0x6580000 0x6680000>; | ||
|
||
partitions { // ESMT F50L1G41LB (128M) | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
partition@0_all { | ||
label = "spi0.0"; | ||
reg = <0x0 0x8000000>; | ||
read-only; | ||
}; | ||
|
||
partition@0 { | ||
label = "BL2"; | ||
reg = <0x0 0x100000>; | ||
read-only; | ||
}; | ||
|
||
partition@100000 { | ||
label = "u-boot-env"; | ||
reg = <0x100000 0x80000>; | ||
}; | ||
|
||
factory: partition@180000 { // Calibr | ||
label = "Factory"; | ||
reg = <0x180000 0x200000>; | ||
read-only; | ||
|
||
compatible = "nvmem-cells"; | ||
nvmem-layout { | ||
compatible = "fixed-layout"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
macaddr_factory_24: macaddr@24 { | ||
compatible = "mac-base"; | ||
reg = <0x24 0x6>; | ||
#nvmem-cell-cells = <1>; | ||
}; | ||
|
||
macaddr_factory_2a: macaddr@2a { | ||
compatible = "mac-base"; | ||
reg = <0x2a 0x6>; | ||
#nvmem-cell-cells = <1>; | ||
}; | ||
}; | ||
}; | ||
|
||
partition@380000 { // ftd | ||
label = "FIP"; | ||
reg = <0x380000 0x200000>; | ||
read-only; | ||
}; | ||
|
||
partition@580000 { | ||
label = "ubi"; | ||
reg = <0x580000 0x4000000>; | ||
}; | ||
|
||
partition@4580000 { | ||
label = "firmware_backup"; | ||
reg = <0x4580000 0x2000000>; | ||
read-only; | ||
}; | ||
|
||
partition@6580000 { // ? | ||
label = "zrsave"; | ||
reg = <0x6580000 0x100000>; | ||
read-only; | ||
}; | ||
|
||
partition@6680000 { | ||
label = "config2"; | ||
reg = <0x6680000 0x100000>; | ||
read-only; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&switch { | ||
ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
port@1 { | ||
reg = <0>; | ||
label = "lan1"; | ||
}; | ||
|
||
port@2 { | ||
reg = <2>; | ||
label = "lan2"; | ||
}; | ||
|
||
port@3 { | ||
reg = <3>; | ||
label = "lan3"; | ||
}; | ||
|
||
wan: port@4 { | ||
reg = <4>; | ||
label = "wan"; | ||
|
||
nvmem-cell-names = "mac-address"; | ||
nvmem-cells = <&macaddr_factory_24 0>; | ||
}; | ||
|
||
port@6 { | ||
reg = <6>; | ||
ethernet = <&gmac0>; | ||
phy-mode = "2500base-x"; | ||
|
||
fixed-link { | ||
speed = <2500>; | ||
full-duplex; | ||
pause; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&pio { | ||
spi0_flash_pins: spi0-pins { | ||
mux { | ||
function = "spi"; | ||
groups = "spi0", "spi0_wp_hold"; | ||
}; | ||
|
||
conf-pu { | ||
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP"; | ||
drive-strength = <8>; | ||
mediatek,pull-up-adv = <0>; /* bias-disable */ | ||
}; | ||
|
||
conf-pd { | ||
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; | ||
drive-strength = <8>; | ||
mediatek,pull-up-adv = <0>; /* bias-disable */ | ||
}; | ||
}; | ||
}; | ||
|
||
&uart0 { | ||
status = "okay"; | ||
}; | ||
|
||
&usb_phy { | ||
status = "okay"; | ||
}; | ||
|
||
&watchdog { | ||
status = "okay"; | ||
}; | ||
|
||
&wifi { | ||
mediatek,mtd-eeprom = <&factory 0x0>; | ||
|
||
status = "okay"; | ||
}; | ||
|
||
&xhci { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters