aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ramips')
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6606.dts8
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6608.dts8
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6609.dts8
-rw-r--r--target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi192
-rw-r--r--target/linux/ramips/image/mt7621.mk34
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/01_leds5
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/02_network3
-rwxr-xr-xtarget/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh3
8 files changed, 261 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>;
+ };
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index a461c57f15..f229ec1fa7 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -1721,6 +1721,40 @@ define Device/xiaomi_mi-router-ac2100
endef
TARGET_DEVICES += xiaomi_mi-router-ac2100
+define Device/xiaomi_mi-router-cr660x
+ $(Device/dsa-migration)
+ $(Device/uimage-lzma-loader)
+ DEVICE_VENDOR := Xiaomi
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL_SIZE := 4096k
+ UBINIZE_OPTS := -E 5
+ IMAGE_SIZE := 128512k
+ IMAGES += firmware.bin
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ IMAGE/firmware.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
+ check-size
+ DEVICE_PACKAGES += kmod-mt7915e uboot-envtools
+endef
+
+define Device/xiaomi_mi-router-cr6606
+ $(Device/xiaomi_mi-router-cr660x)
+ DEVICE_MODEL := Mi Router CR6606
+endef
+TARGET_DEVICES += xiaomi_mi-router-cr6606
+
+define Device/xiaomi_mi-router-cr6608
+ $(Device/xiaomi_mi-router-cr660x)
+ DEVICE_MODEL := Mi Router CR6608
+endef
+TARGET_DEVICES += xiaomi_mi-router-cr6608
+
+define Device/xiaomi_mi-router-cr6609
+ $(Device/xiaomi_mi-router-cr660x)
+ DEVICE_MODEL := Mi Router CR6609
+endef
+TARGET_DEVICES += xiaomi_mi-router-cr6609
+
define Device/xiaomi_redmi-router-ac2100
$(Device/xiaomi_nand_separate)
DEVICE_MODEL := Redmi Router AC2100
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index 29962f41d7..b167cff857 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -120,6 +120,11 @@ tplink,re650-v1)
xiaomi,mi-router-ac2100)
ucidef_set_led_netdev "wan-blue" "WAN (blue)" "blue:wan" "wan"
;;
+xiaomi,mi-router-cr6606|\
+xiaomi,mi-router-cr6608|\
+xiaomi,mi-router-cr6609)
+ ucidef_set_led_netdev "internet" "Internet" "blue:net" "wan"
+ ;;
xiaomi,redmi-router-ac2100)
ucidef_set_led_netdev "wan" "wan" "white:wan" "wan"
;;
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 52e0b6b572..3f758f26a1 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -26,6 +26,9 @@ ramips_setup_interfaces()
hiwifi,hc5962|\
xiaomi,mi-router-3-pro|\
xiaomi,mi-router-ac2100|\
+ xiaomi,mi-router-cr6606|\
+ xiaomi,mi-router-cr6608|\
+ xiaomi,mi-router-cr6609|\
xiaomi,redmi-router-ac2100)
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
;;
diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
index 8e1bdc157f..9575ced1b9 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -86,6 +86,9 @@ platform_do_upgrade() {
xiaomi,mi-router-3-pro|\
xiaomi,mi-router-4|\
xiaomi,mi-router-ac2100|\
+ xiaomi,mi-router-cr6606|\
+ xiaomi,mi-router-cr6608|\
+ xiaomi,mi-router-cr6609|\
xiaomi,redmi-router-ac2100)
nand_do_upgrade "$1"
;;