|
@@ -1,265 +1,3 @@
|
|
-From 64a881cfb100a28ba20ffe4066a1758cee07dc91 Mon Sep 17 00:00:00 2001
|
|
|
|
-From: Chen Minqiang <[email protected]>
|
|
|
|
-Date: Sat, 16 Dec 2023 07:25:04 +0800
|
|
|
|
-Subject: [PATCH] mediatek: add CMCC A10 uboot layout
|
|
|
|
-
|
|
|
|
----
|
|
|
|
- .../dts/mt7981b-cmcc-a10.dts | 241 ++++++++++++++++++
|
|
|
|
- .../filogic/base-files/etc/board.d/02_network | 1 +
|
|
|
|
- .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 1 +
|
|
|
|
- target/linux/mediatek/image/filogic.mk | 22 ++
|
|
|
|
- 4 files changed, 265 insertions(+)
|
|
|
|
- create mode 100644 target/linux/mediatek/dts/mt7981b-cmcc-a10.dts
|
|
|
|
-
|
|
|
|
-diff --git a/target/linux/mediatek/dts/mt7981b-cmcc-a10.dts b/target/linux/mediatek/dts/mt7981b-cmcc-a10.dts
|
|
|
|
-new file mode 100644
|
|
|
|
-index 0000000000000..cc5b93cba35dc
|
|
|
|
---- /dev/null
|
|
|
|
-+++ b/target/linux/mediatek/dts/mt7981b-cmcc-a10.dts
|
|
|
|
-@@ -0,0 +1,241 @@
|
|
|
|
-+// 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 = "CMCC A10 (uboot layout)";
|
|
|
|
-+ compatible = "cmcc,a10", "mediatek,mt7981";
|
|
|
|
-+
|
|
|
|
-+ aliases {
|
|
|
|
-+ led-boot = &boot_led;
|
|
|
|
-+ led-failsafe = &boot_led;
|
|
|
|
-+ led-running = &running_led;
|
|
|
|
-+ led-upgrade = &running_led;
|
|
|
|
-+ serial0 = &uart0;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ chosen {
|
|
|
|
-+ stdout-path = "serial0:115200n8";
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ memory {
|
|
|
|
-+ reg = <0 0x40000000 0 0x10000000>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ gpio-keys {
|
|
|
|
-+ compatible = "gpio-keys";
|
|
|
|
-+
|
|
|
|
-+ button-reset {
|
|
|
|
-+ label = "reset";
|
|
|
|
-+ linux,code = <KEY_RESTART>;
|
|
|
|
-+ gpios = <&pio 1 GPIO_ACTIVE_LOW>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ button-wps {
|
|
|
|
-+ label = "wps";
|
|
|
|
-+ linux,code = <KEY_WPS_BUTTON>;
|
|
|
|
-+ gpios = <&pio 0 GPIO_ACTIVE_LOW>;
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ gpio-leds {
|
|
|
|
-+ compatible = "gpio-leds";
|
|
|
|
-+
|
|
|
|
-+ led-0 {
|
|
|
|
-+ label = "blue:status";
|
|
|
|
-+ gpios = <&pio 9 GPIO_ACTIVE_LOW>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ running_led: led-1 {
|
|
|
|
-+ label = "green:status";
|
|
|
|
-+ gpios = <&pio 10 GPIO_ACTIVE_LOW>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ boot_led: led-2 {
|
|
|
|
-+ label = "red:status";
|
|
|
|
-+ gpios = <&pio 11 GPIO_ACTIVE_LOW>;
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+ð {
|
|
|
|
-+ status = "okay";
|
|
|
|
-+
|
|
|
|
-+ gmac0: mac@0 {
|
|
|
|
-+ compatible = "mediatek,eth-mac";
|
|
|
|
-+ reg = <0>;
|
|
|
|
-+ phy-mode = "2500base-x";
|
|
|
|
-+
|
|
|
|
-+ nvmem-cells = <&macaddr_factory_2a 0>;
|
|
|
|
-+ nvmem-cell-names = "mac-address";
|
|
|
|
-+
|
|
|
|
-+ fixed-link {
|
|
|
|
-+ speed = <2500>;
|
|
|
|
-+ full-duplex;
|
|
|
|
-+ pause;
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+&mdio_bus {
|
|
|
|
-+ switch: switch@1f {
|
|
|
|
-+ 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: flash@0 {
|
|
|
|
-+ #address-cells = <1>;
|
|
|
|
-+ #size-cells = <1>;
|
|
|
|
-+ compatible = "spi-nand";
|
|
|
|
-+ reg = <0>;
|
|
|
|
-+
|
|
|
|
-+ spi-max-frequency = <52000000>;
|
|
|
|
-+ spi-tx-bus-width = <4>;
|
|
|
|
-+ spi-rx-bus-width = <4>;
|
|
|
|
-+ mediatek,nmbm;
|
|
|
|
-+ mediatek,bmt-max-ratio = <1>;
|
|
|
|
-+ mediatek,bmt-max-reserved-blocks = <64>;
|
|
|
|
-+
|
|
|
|
-+ partitions {
|
|
|
|
-+ compatible = "fixed-partitions";
|
|
|
|
-+ #address-cells = <1>;
|
|
|
|
-+ #size-cells = <1>;
|
|
|
|
-+
|
|
|
|
-+ partition@0 {
|
|
|
|
-+ label = "BL2";
|
|
|
|
-+ reg = <0x00000 0x100000>;
|
|
|
|
-+ read-only;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ partition@100000 {
|
|
|
|
-+ label = "u-boot-env";
|
|
|
|
-+ reg = <0x100000 0x80000>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ factory: partition@180000 {
|
|
|
|
-+ label = "Factory";
|
|
|
|
-+ reg = <0x180000 0x200000>;
|
|
|
|
-+
|
|
|
|
-+ 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 {
|
|
|
|
-+ label = "FIP";
|
|
|
|
-+ reg = <0x380000 0x200000>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ partition@580000 {
|
|
|
|
-+ label = "ubi";
|
|
|
|
-+ reg = <0x580000 0x7000000>;
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+&switch {
|
|
|
|
-+ ports {
|
|
|
|
-+ #address-cells = <1>;
|
|
|
|
-+ #size-cells = <0>;
|
|
|
|
-+
|
|
|
|
-+ port@0 {
|
|
|
|
-+ reg = <0>;
|
|
|
|
-+ label = "lan1";
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ port@2 {
|
|
|
|
-+ reg = <2>;
|
|
|
|
-+ label = "lan2";
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ port@3 {
|
|
|
|
-+ reg = <3>;
|
|
|
|
-+ label = "lan3";
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ port@4 {
|
|
|
|
-+ reg = <4>;
|
|
|
|
-+ label = "wan";
|
|
|
|
-+
|
|
|
|
-+ nvmem-cells = <&macaddr_factory_24 0>;
|
|
|
|
-+ nvmem-cell-names = "mac-address";
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ 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 = <MTK_DRIVE_8mA>;
|
|
|
|
-+ bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
|
|
|
|
-+ };
|
|
|
|
-+
|
|
|
|
-+ conf-pd {
|
|
|
|
-+ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
|
|
|
|
-+ drive-strength = <MTK_DRIVE_8mA>;
|
|
|
|
-+ bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
|
|
|
|
-+ };
|
|
|
|
-+ };
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+&uart0 {
|
|
|
|
-+ status = "okay";
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+&watchdog {
|
|
|
|
-+ status = "okay";
|
|
|
|
-+};
|
|
|
|
-+
|
|
|
|
-+&wifi {
|
|
|
|
-+ status = "okay";
|
|
|
|
-+
|
|
|
|
-+ mediatek,mtd-eeprom = <&factory 0x0>;
|
|
|
|
-+};
|
|
|
|
-diff --git a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
|
|
|
|
-index 53e7b024e40fb..61637e09c7f0e 100644
|
|
|
|
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
|
|
--- a/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
|
|
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
|
|
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network
|
|
@@ -17,6 +17,7 @@ mediatek_setup_interfaces()
|
|
@@ -17,6 +17,7 @@ mediatek_setup_interfaces()
|
|
@@ -271,31 +9,22 @@ index 53e7b024e40fb..61637e09c7f0e 100644
|
|
cudy,wr3000-v1|\
|
|
cudy,wr3000-v1|\
|
|
tenbay,wr3000k|\
|
|
tenbay,wr3000k|\
|
|
|
|
|
|
---- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
|
|
|
|
-+++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac
|
|
|
|
-@@ -65,6 +65,9 @@ case "$board" in
|
|
|
|
- esac
|
|
|
|
- [ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress
|
|
|
|
- ;;
|
|
|
|
-+ cmcc,a10)
|
|
|
|
-+ [ "$PHYNBR" = "1" ] && mtd_get_mac_binary Factory 0xa > /sys${DEVPATH}/macaddress
|
|
|
|
-+ ;;
|
|
|
|
- comfast,cf-e393ax)
|
|
|
|
- addr=$(mtd_get_mac_binary "Factory" 0x8000)
|
|
|
|
- [ "$PHYNBR" = "1" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
|
|
|
|
-diff --git a/target/linux/mediatek/image/filogic.mk b/target/linux/mediatek/image/filogic.mk
|
|
|
|
-index 6976a399e86dc..83428f0d981e7 100644
|
|
|
|
--- a/target/linux/mediatek/image/filogic.mk
|
|
--- a/target/linux/mediatek/image/filogic.mk
|
|
+++ b/target/linux/mediatek/image/filogic.mk
|
|
+++ b/target/linux/mediatek/image/filogic.mk
|
|
-@@ -349,6 +349,27 @@ define Device/cetron_ct3003
|
|
|
|
|
|
+@@ -349,6 +349,30 @@ define Device/cetron_ct3003
|
|
endef
|
|
endef
|
|
TARGET_DEVICES += cetron_ct3003
|
|
TARGET_DEVICES += cetron_ct3003
|
|
|
|
|
|
+define Device/cmcc_a10
|
|
+define Device/cmcc_a10
|
|
+ DEVICE_VENDOR := CMCC
|
|
+ DEVICE_VENDOR := CMCC
|
|
+ DEVICE_MODEL := A10
|
|
+ DEVICE_MODEL := A10
|
|
|
|
++ DEVICE_ALT0_VENDOR := SuperElectron
|
|
|
|
++ DEVICE_ALT0_MODEL := ZN-M5
|
|
|
|
++ DEVICE_ALT1_VENDOR := SuperElectron
|
|
|
|
++ DEVICE_ALT1_MODEL := ZN-M8
|
|
+ DEVICE_DTS := mt7981b-cmcc-a10
|
|
+ DEVICE_DTS := mt7981b-cmcc-a10
|
|
+ DEVICE_DTS_DIR := ../dts
|
|
+ DEVICE_DTS_DIR := ../dts
|
|
|
|
++ SUPPORTED_DEVICES += mediatek,mt7981-spim-snand-rfb
|
|
+ DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
|
|
+ DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware
|
|
+ UBINIZE_OPTS := -E 5
|
|
+ UBINIZE_OPTS := -E 5
|
|
+ BLOCKSIZE := 128k
|
|
+ BLOCKSIZE := 128k
|
|
@@ -305,11 +34,6 @@ index 6976a399e86dc..83428f0d981e7 100644
|
|
+ IMAGES += factory.bin
|
|
+ IMAGES += factory.bin
|
|
+ IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
|
+ IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
|
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
-+ KERNEL = kernel-bin | lzma | \
|
|
|
|
-+ fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
|
|
|
|
-+ KERNEL_INITRAMFS = kernel-bin | lzma | \
|
|
|
|
-+ fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
|
|
|
|
-+endef
|
|
|
|
+TARGET_DEVICES += cmcc_a10
|
|
+TARGET_DEVICES += cmcc_a10
|
|
+
|
|
+
|
|
define Device/cmcc_rax3000m
|
|
define Device/cmcc_rax3000m
|