diff options
Diffstat (limited to 'target/linux/ramips/dts')
4 files changed, 216 insertions, 0 deletions
diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6606.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6606.dts new file mode 100644 index 0000000000..59112fd06a --- /dev/null +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6606.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_xiaomi_mi-router-cr660x.dtsi" + +/ { + compatible = "xiaomi,mi-router-cr6606", "mediatek,mt7621-soc"; + model = "Xiaomi Mi Router CR6606"; +}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6608.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6608.dts new file mode 100644 index 0000000000..825435d0ba --- /dev/null +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6608.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_xiaomi_mi-router-cr660x.dtsi" + +/ { + compatible = "xiaomi,mi-router-cr6608", "mediatek,mt7621-soc"; + model = "Xiaomi Mi Router CR6608"; +}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6609.dts b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6609.dts new file mode 100644 index 0000000000..719b88caae --- /dev/null +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6609.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_xiaomi_mi-router-cr660x.dtsi" + +/ { + compatible = "xiaomi,mi-router-cr6609", "mediatek,mt7621-soc"; + model = "Xiaomi Mi Router CR6609"; +}; diff --git a/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi new file mode 100644 index 0000000000..dfdbcc77d4 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi @@ -0,0 +1,192 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + aliases { + led-boot = &led_sys_yellow; + led-failsafe = &led_sys_yellow; + led-running = &led_sys_blue; + led-upgrade = &led_sys_yellow; + label-mac-device = &gmac0; + }; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led_sys_yellow: sys_yellow { + label = "yellow:sys"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led_sys_blue: sys_blue { + label = "blue:sys"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + + net_yellow { + label = "yellow:net"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + net_blue { + label = "blue:net"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; + +&nand { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "Nvram"; + reg = <0x80000 0x40000>; + read-only; + }; + + partition@c0000 { + label = "Bdata"; + reg = <0xc0000 0x40000>; + read-only; + }; + + factory: partition@100000 { + label = "Factory"; + reg = <0x100000 0x80000>; + read-only; + }; + + partition@180000 { + label = "crash"; + reg = <0x180000 0x40000>; + read-only; + }; + + partition@1c0000 { + label = "crash_log"; + reg = <0x1c0000 0x40000>; + read-only; + }; + + /* "kernel" and "ubi" partition is the result of + * squashing next consecutive stock partitions: + * 1. firmware 0x0200000 - 0x2000000 (Stock firmware 0) + * 2. firmware1 0x2000000 - 0x3e00000 (Stock firmware 1) + * 3. overlay 0x3e00000 - 0x7000000 (Stock fw Ubi overlay) + * 4. obr 0x7000000 - 0x8000000 (Unallocated?) + */ + + partition@200000 { + label = "kernel"; + reg = <0x200000 0x400000>; + }; + + partition@600000 { + label = "ubi"; + reg = <0x600000 0x7980000>; + }; + + /* + * Leave 512 KiB for the bad block table + */ + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_factory_3fff4>; + nvmem-cell-names = "mac-address"; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan1"; + }; + + port@1 { + status = "okay"; + label = "lan2"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@4 { + status = "okay"; + label = "wan"; + nvmem-cells = <&macaddr_factory_3fffa>; + nvmem-cell-names = "mac-address"; + }; + }; +}; + +&state_default { + gpio { + groups = "jtag", "uart3", "wdt"; + function = "gpio"; + }; +}; + +&factory { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_3fff4: macaddr@3fff4 { + reg = <0x3fff4 0x6>; + }; + + macaddr_factory_3fffa: macaddr@3fffa { + reg = <0x3fffa 0x6>; + }; +}; |