-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
991 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,318 @@ | ||
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 | ||
+++ b/target/linux/mediatek/filogic/base-files/etc/board.d/02_network | ||
@@ -17,6 +17,7 @@ mediatek_setup_interfaces() | ||
asus,rt-ax59u|\ | ||
cetron,ct3003|\ | ||
cetron,ct3003|\ | ||
+ cmcc,a10|\ | ||
confiabits,mt7981|\ | ||
cudy,wr3000-v1|\ | ||
tenbay,wr3000k|\ | ||
diff --git 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 | ||
index cb476d84d9115..125bec12cdb88 100644 | ||
--- 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 | ||
@@ -62,6 +62,9 @@ | ||
esac | ||
[ "$PHYNBR" = "1" ] && echo "$addr" > /sys${DEVPATH}/macaddress | ||
;; | ||
+ cmcc,a10) | ||
+ [ "$PHYNBR" = "1" ] && mtd_get_mac_binary factory 0xa > /sys${DEVPATH}/macaddress | ||
+ ;; | ||
cudy,wr3000-v1) | ||
addr=$(mtd_get_mac_binary bdinfo 0xde00) | ||
# Originally, phy0 is phy1 mac with LA bit set. However, this would conflict | ||
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 | ||
+++ b/target/linux/mediatek/image/filogic.mk | ||
@@ -349,6 +349,27 @@ define Device/cetron_ct3003 | ||
endef | ||
TARGET_DEVICES += cetron_ct3003 | ||
|
||
+define Device/cmcc_a10 | ||
+ DEVICE_VENDOR := CMCC | ||
+ DEVICE_MODEL := A10 | ||
+ DEVICE_DTS := mt7981b-cmcc-a10 | ||
+ DEVICE_DTS_DIR := ../dts | ||
+ DEVICE_PACKAGES := kmod-mt7981-firmware mt7981-wo-firmware | ||
+ UBINIZE_OPTS := -E 5 | ||
+ BLOCKSIZE := 128k | ||
+ PAGESIZE := 2048 | ||
+ IMAGE_SIZE := 114688k | ||
+ KERNEL_IN_UBI := 1 | ||
+ IMAGES += factory.bin | ||
+ IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE) | ||
+ 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 | ||
+ | ||
define Device/cmcc_rax3000m | ||
DEVICE_VENDOR := CMCC | ||
DEVICE_MODEL := RAX3000M |
Oops, something went wrong.