mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
c46584ab30
These devices have a partition table stored in flash, which compensates for any pre-existing bad blocks by enlarging the respective partition. This means that the current static partition table is only correct for devices without any bad blocks. Typical results of this mismatch are degraded wireless performance and wrong MAC addresses, when the factory partition is shifted due to a bad block somewhere before it. If there is a bad block already before the ubi partition, then OpenWrt may not run at all because the kernel can't find the rootfs. Use the on-flash partition table to fix these issues. Replace the two reserved partitions by the full partition list, as the driver does not allow merging them. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
442 lines
7.4 KiB
Plaintext
442 lines
7.4 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#include "mt7621.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
compatible = "mediatek,mt7621-soc";
|
|
|
|
aliases {
|
|
label-mac-device = &gmac0;
|
|
led-boot = &led_power_white;
|
|
led-failsafe = &led_power_orange;
|
|
led-running = &led_power_white;
|
|
led-upgrade = &led_power_orange;
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
rfkill {
|
|
label = "rfkill";
|
|
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RFKILL>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
leds: leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led_power_orange: power_orange {
|
|
gpios = <&gpio_expander 0 GPIO_ACTIVE_LOW>;
|
|
label = "orange:power";
|
|
};
|
|
|
|
led_power_white: power_white {
|
|
gpios = <&gpio_expander 1 GPIO_ACTIVE_LOW>;
|
|
label = "white:power";
|
|
};
|
|
|
|
wan_orange {
|
|
gpios = <&gpio_expander 2 GPIO_ACTIVE_LOW>;
|
|
label = "orange:wan";
|
|
};
|
|
|
|
wan_white {
|
|
gpios = <&gpio_expander 3 GPIO_ACTIVE_LOW>;
|
|
label = "white:wan";
|
|
};
|
|
|
|
wlan2g {
|
|
gpios = <&gpio_expander 4 GPIO_ACTIVE_LOW>;
|
|
label = "white:wlan2g";
|
|
linux,default-trigger = "phy0radio";
|
|
};
|
|
|
|
wlan5g {
|
|
gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>;
|
|
label = "white:wlan5g";
|
|
linux,default-trigger = "phy1radio";
|
|
};
|
|
|
|
usb3 {
|
|
gpios = <&gpio_expander 7 GPIO_ACTIVE_LOW>;
|
|
label = "white:usb3";
|
|
linux,default-trigger = "usbport";
|
|
trigger-sources = <&xhci_ehci_port1>;
|
|
};
|
|
|
|
lan1_orange {
|
|
gpios = <&gpio_expander 8 GPIO_ACTIVE_LOW>;
|
|
label = "orange:lan1";
|
|
};
|
|
|
|
lan1_white {
|
|
gpios = <&gpio_expander 9 GPIO_ACTIVE_LOW>;
|
|
label = "white:lan1";
|
|
};
|
|
|
|
lan2_orange {
|
|
gpios = <&gpio_expander 10 GPIO_ACTIVE_LOW>;
|
|
label = "orange:lan2";
|
|
};
|
|
|
|
lan2_white {
|
|
gpios = <&gpio_expander 11 GPIO_ACTIVE_LOW>;
|
|
label = "white:lan2";
|
|
};
|
|
|
|
lan3_orange {
|
|
gpios = <&gpio_expander 12 GPIO_ACTIVE_LOW>;
|
|
label = "orange:lan3";
|
|
};
|
|
|
|
lan3_white {
|
|
gpios = <&gpio_expander 13 GPIO_ACTIVE_LOW>;
|
|
label = "white:lan3";
|
|
};
|
|
|
|
lan4_orange {
|
|
gpios = <&gpio_expander 14 GPIO_ACTIVE_LOW>;
|
|
label = "orange:lan4";
|
|
};
|
|
|
|
lan4_white {
|
|
gpios = <&gpio_expander 15 GPIO_ACTIVE_LOW>;
|
|
label = "white:lan4";
|
|
};
|
|
|
|
wps {
|
|
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
|
label = "white:wps";
|
|
};
|
|
|
|
wlan {
|
|
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
|
|
label = "white:wlan";
|
|
};
|
|
};
|
|
};
|
|
|
|
&state_default {
|
|
gpio {
|
|
groups = "uart3", "uart2", "jtag", "wdt";
|
|
function = "gpio";
|
|
};
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie0 {
|
|
wifi@0,0 {
|
|
compatible = "mediatek,mt76";
|
|
reg = <0x0 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x0>;
|
|
ieee80211-freq-limit = <2400000 2500000>;
|
|
};
|
|
};
|
|
|
|
&pcie1 {
|
|
wifi@0,0 {
|
|
compatible = "mediatek,mt76";
|
|
reg = <0x0 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x8000>;
|
|
ieee80211-freq-limit = <5000000 6000000>;
|
|
};
|
|
};
|
|
|
|
&gmac0 {
|
|
nvmem-cells = <&macaddr_factory_4>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
&gmac1 {
|
|
status = "okay";
|
|
label = "wan";
|
|
phy-handle = <ðphy4>;
|
|
|
|
nvmem-cells = <&macaddr_factory_4>;
|
|
nvmem-cell-names = "mac-address";
|
|
mac-address-increment = <2>;
|
|
};
|
|
|
|
&mdio {
|
|
ethphy4: ethernet-phy@4 {
|
|
reg = <4>;
|
|
};
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
port@0 {
|
|
status = "okay";
|
|
label = "lan4";
|
|
};
|
|
|
|
port@1 {
|
|
status = "okay";
|
|
label = "lan3";
|
|
};
|
|
|
|
port@2 {
|
|
status = "okay";
|
|
label = "lan2";
|
|
};
|
|
|
|
port@3 {
|
|
status = "okay";
|
|
label = "lan1";
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c {
|
|
status = "okay";
|
|
|
|
gpio_expander: i2c0gpio-expander@20{
|
|
#gpio-cells = <2>;
|
|
#interrupt-cells = <2>;
|
|
compatible = "semtech,sx1503q";
|
|
reg = <0x20>;
|
|
|
|
gpio-controller;
|
|
};
|
|
};
|
|
|
|
&nand {
|
|
status = "okay";
|
|
|
|
partitions {
|
|
compatible = "sercomm,sc-partitions", "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0x100000>;
|
|
sercomm,scpart-id = <0>;
|
|
read-only;
|
|
};
|
|
|
|
partition@100000 {
|
|
label = "SC PART_MAP";
|
|
reg = <0x100000 0x100000>;
|
|
sercomm,scpart-id = <1>;
|
|
read-only;
|
|
};
|
|
|
|
partition@200000 {
|
|
label = "kernel";
|
|
reg = <0x200000 0x400000>;
|
|
sercomm,scpart-id = <2>;
|
|
};
|
|
|
|
partition@600000 {
|
|
label = "ubi";
|
|
reg = <0x600000 0x2800000>;
|
|
sercomm,scpart-id = <3>;
|
|
};
|
|
|
|
partition@2e00000 {
|
|
label = "English UI";
|
|
reg = <0x2e00000 0x200000>;
|
|
sercomm,scpart-id = <4>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3000000 {
|
|
label = "ML1";
|
|
reg = <0x3000000 0x200000>;
|
|
sercomm,scpart-id = <5>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3200000 {
|
|
label = "ML2";
|
|
reg = <0x3200000 0x200000>;
|
|
sercomm,scpart-id = <6>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3400000 {
|
|
label = "ML3";
|
|
reg = <0x3400000 0x200000>;
|
|
sercomm,scpart-id = <7>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3600000 {
|
|
label = "ML4";
|
|
reg = <0x3600000 0x200000>;
|
|
sercomm,scpart-id = <8>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3800000 {
|
|
label = "ML5";
|
|
reg = <0x3800000 0x200000>;
|
|
sercomm,scpart-id = <9>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3a00000 {
|
|
label = "ML6";
|
|
reg = <0x3a00000 0x200000>;
|
|
sercomm,scpart-id = <10>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3c00000 {
|
|
label = "ML7";
|
|
reg = <0x3c00000 0x200000>;
|
|
sercomm,scpart-id = <11>;
|
|
read-only;
|
|
};
|
|
|
|
partition@3e00000 {
|
|
label = "ML8";
|
|
reg = <0x3e00000 0x200000>;
|
|
sercomm,scpart-id = <12>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4000000 {
|
|
label = "ML9";
|
|
reg = <0x4000000 0x200000>;
|
|
sercomm,scpart-id = <13>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4200000 {
|
|
label = "ML10";
|
|
reg = <0x4200000 0x200000>;
|
|
sercomm,scpart-id = <14>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4400000 {
|
|
label = "ML11";
|
|
reg = <0x4400000 0x200000>;
|
|
sercomm,scpart-id = <15>;
|
|
read-only;
|
|
};
|
|
|
|
factory: partition@4600000 {
|
|
label = "factory";
|
|
reg = <0x4600000 0x200000>;
|
|
sercomm,scpart-id = <16>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4800000 {
|
|
label = "SC Private Data";
|
|
reg = <0x4800000 0x200000>;
|
|
sercomm,scpart-id = <17>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4a00000 {
|
|
label = "POT";
|
|
reg = <0x4a00000 0x200000>;
|
|
sercomm,scpart-id = <18>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4c00000 {
|
|
label = "Traffic Meter";
|
|
reg = <0x4c00000 0x200000>;
|
|
sercomm,scpart-id = <19>;
|
|
read-only;
|
|
};
|
|
|
|
partition@4e00000 {
|
|
label = "SC PID";
|
|
reg = <0x4e00000 0x200000>;
|
|
sercomm,scpart-id = <20>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5000000 {
|
|
label = "SC Nvram";
|
|
reg = <0x5000000 0x200000>;
|
|
sercomm,scpart-id = <21>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5200000 {
|
|
label = "Ralink Nvram";
|
|
reg = <0x5200000 0x200000>;
|
|
sercomm,scpart-id = <22>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5400000 {
|
|
label = "reserved0";
|
|
reg = <0x5400000 0x200000>;
|
|
sercomm,scpart-id = <23>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5600000 {
|
|
label = "reserved1";
|
|
reg = <0x5600000 0x200000>;
|
|
sercomm,scpart-id = <24>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5800000 {
|
|
label = "reserved2";
|
|
reg = <0x5800000 0x200000>;
|
|
sercomm,scpart-id = <25>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5a00000 {
|
|
label = "reserved3";
|
|
reg = <0x5a00000 0x200000>;
|
|
sercomm,scpart-id = <26>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5c00000 {
|
|
label = "reserved4";
|
|
reg = <0x5c00000 0x200000>;
|
|
sercomm,scpart-id = <27>;
|
|
read-only;
|
|
};
|
|
|
|
partition@5e00000 {
|
|
label = "reserved5";
|
|
reg = <0x5e00000 0x2180000>;
|
|
sercomm,scpart-id = <28>;
|
|
read-only;
|
|
};
|
|
};
|
|
};
|
|
|
|
&factory {
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
macaddr_factory_4: macaddr@4 {
|
|
reg = <0x4 0x6>;
|
|
};
|
|
};
|