mediatek: filogic: add JCG Q30 PRO support
Hardware specification:
SoC: MediaTek MT7981B 2x A53
Flash: Winbond 128MB
RAM: DDR3 256MB
Ethernet: 4x 10/100/1000 Mbps
Switch: MediaTek MT7531AE
WiFi: MediaTek MT7976C
Button: Reset
Power: DC 12V 1A
Flash instructions:
1. Connect to your PC via the Gigabit port of the router,
set a static ip on the ethernet interface of your PC.
(ip 192.168.1.254, gateway 192.168.1.1)
2. Attach UART, pause at u-boot menu.
3. Select "Upgrade ATF BL2", then use preloader.bin
4. Select "Upgrade ATF FIP", then use bl31-uboot.fip
5. Download the initramfs image, and type "reset",
waiting for tftp recovery to complete.
6. After openwrt boots up, perform sysupgrade.
Note:
1. Since NMBM is disabled, we must back up all partitions.
2. Although we can upgrade new firmware in the stock firmware,
we need the special fit image signature of MediaTek and
dual boot (hack kernel) to make u-boot boot it. So just
abandon these hacks and flash it via the serial port.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 626344c9926dcf2db2e10681c19aab0328fee160)
2023-06-16 15:16:30 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
|
|
|
|
#include "mt7981.dtsi"
|
|
|
|
|
|
|
|
/ {
|
|
|
|
model = "JCG Q30 PRO";
|
|
|
|
compatible = "jcg,q30-pro", "mediatek,mt7981";
|
|
|
|
|
|
|
|
aliases {
|
|
|
|
serial0 = &uart0;
|
|
|
|
label-mac-device = &gmac0;
|
|
|
|
led-boot = &led_status_red;
|
|
|
|
led-failsafe = &led_status_red;
|
|
|
|
led-running = &led_status_blue;
|
|
|
|
led-upgrade = &led_status_blue;
|
|
|
|
};
|
|
|
|
|
|
|
|
chosen {
|
|
|
|
stdout-path = "serial0:115200n8";
|
|
|
|
};
|
|
|
|
|
|
|
|
memory {
|
|
|
|
reg = <0 0x40000000 0 0x10000000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
gpio-keys {
|
|
|
|
compatible = "gpio-keys";
|
|
|
|
|
|
|
|
reset {
|
|
|
|
label = "reset";
|
|
|
|
linux,code = <KEY_RESTART>;
|
|
|
|
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
leds {
|
|
|
|
compatible = "gpio-leds";
|
|
|
|
|
|
|
|
led_status_red: red {
|
|
|
|
label = "red:status";
|
|
|
|
gpios = <&pio 8 GPIO_ACTIVE_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
led_status_blue: blue {
|
|
|
|
label = "blue:status";
|
|
|
|
gpios = <&pio 13 GPIO_ACTIVE_LOW>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
ð {
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
gmac0: mac@0 {
|
|
|
|
compatible = "mediatek,eth-mac";
|
|
|
|
reg = <0>;
|
|
|
|
phy-mode = "2500base-x";
|
|
|
|
|
|
|
|
nvmem-cells = <&macaddr_lan>;
|
|
|
|
nvmem-cell-names = "mac-address";
|
|
|
|
|
|
|
|
fixed-link {
|
|
|
|
speed = <2500>;
|
|
|
|
full-duplex;
|
|
|
|
pause;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&mdio_bus {
|
2023-11-22 17:38:06 +00:00
|
|
|
switch: switch@1f {
|
mediatek: filogic: add JCG Q30 PRO support
Hardware specification:
SoC: MediaTek MT7981B 2x A53
Flash: Winbond 128MB
RAM: DDR3 256MB
Ethernet: 4x 10/100/1000 Mbps
Switch: MediaTek MT7531AE
WiFi: MediaTek MT7976C
Button: Reset
Power: DC 12V 1A
Flash instructions:
1. Connect to your PC via the Gigabit port of the router,
set a static ip on the ethernet interface of your PC.
(ip 192.168.1.254, gateway 192.168.1.1)
2. Attach UART, pause at u-boot menu.
3. Select "Upgrade ATF BL2", then use preloader.bin
4. Select "Upgrade ATF FIP", then use bl31-uboot.fip
5. Download the initramfs image, and type "reset",
waiting for tftp recovery to complete.
6. After openwrt boots up, perform sysupgrade.
Note:
1. Since NMBM is disabled, we must back up all partitions.
2. Although we can upgrade new firmware in the stock firmware,
we need the special fit image signature of MediaTek and
dual boot (hack kernel) to make u-boot boot it. So just
abandon these hacks and flash it via the serial port.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 626344c9926dcf2db2e10681c19aab0328fee160)
2023-06-16 15:16:30 +00:00
|
|
|
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 {
|
|
|
|
compatible = "spi-nand";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
reg = <0>;
|
|
|
|
|
|
|
|
spi-max-frequency = <52000000>;
|
|
|
|
spi-tx-bus-width = <4>;
|
|
|
|
spi-rx-bus-width = <4>;
|
|
|
|
|
|
|
|
partitions {
|
|
|
|
compatible = "fixed-partitions";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
partition@0 {
|
|
|
|
label = "bl2";
|
|
|
|
reg = <0x0000000 0x0100000>;
|
|
|
|
read-only;
|
|
|
|
};
|
|
|
|
|
|
|
|
partition@100000 {
|
|
|
|
label = "u-boot-env";
|
|
|
|
reg = <0x0100000 0x0080000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
factory: partition@180000 {
|
|
|
|
label = "Factory";
|
|
|
|
reg = <0x0180000 0x0200000>;
|
|
|
|
read-only;
|
|
|
|
};
|
|
|
|
|
|
|
|
partition@380000 {
|
|
|
|
label = "fip";
|
|
|
|
reg = <0x0380000 0x0200000>;
|
|
|
|
read-only;
|
|
|
|
};
|
|
|
|
|
|
|
|
partition@580000 {
|
|
|
|
label = "ubi";
|
|
|
|
reg = <0x0580000 0x7000000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
&switch {
|
|
|
|
ports {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
port@0 {
|
|
|
|
reg = <0>;
|
|
|
|
label = "wan";
|
|
|
|
nvmem-cells = <&macaddr_wan>;
|
|
|
|
nvmem-cell-names = "mac-address";
|
|
|
|
};
|
|
|
|
|
|
|
|
port@1 {
|
|
|
|
reg = <1>;
|
|
|
|
label = "lan1";
|
|
|
|
};
|
|
|
|
|
|
|
|
port@2 {
|
|
|
|
reg = <2>;
|
|
|
|
label = "lan2";
|
|
|
|
};
|
|
|
|
|
|
|
|
port@3 {
|
|
|
|
reg = <3>;
|
|
|
|
label = "lan3";
|
|
|
|
};
|
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
|
|
|
|
&watchdog {
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&wifi {
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
mediatek,mtd-eeprom = <&factory 0x0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
&factory {
|
|
|
|
compatible = "nvmem-cells";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
macaddr_wan: macaddr@a0024 {
|
|
|
|
reg = <0xa0024 0x6>;
|
|
|
|
};
|
|
|
|
|
|
|
|
macaddr_lan: macaddr@a002a {
|
|
|
|
reg = <0xa002a 0x6>;
|
|
|
|
};
|
|
|
|
};
|