mirror of
https://github.com/FUjr/gl-infra-builder.git
synced 2025-12-16 17:15:08 +00:00
add patch for qihoo 360T7
This commit is contained in:
parent
7a94327ffc
commit
1de46cd509
482
patches-mt798x-7.6.6.1/4010-support-Qihoo-360T7.patch
Normal file
482
patches-mt798x-7.6.6.1/4010-support-Qihoo-360T7.patch
Normal file
@ -0,0 +1,482 @@
|
||||
From c96d75cce852adf3106112c33b920ed8e52baa35 Mon Sep 17 00:00:00 2001
|
||||
From: fujr <fjrcn@outlook.com>
|
||||
Date: Tue, 28 Feb 2023 05:22:15 +0800
|
||||
Subject: [PATCH 2/2] Add support for qihoo 360T7
|
||||
|
||||
---
|
||||
.../boot/dts/mediatek/mt7981-360-t7-108M.dts | 61 +++++
|
||||
.../boot/dts/mediatek/mt7981-360-t7-base.dtsi | 242 ++++++++++++++++++
|
||||
target/linux/mediatek/image/mt7981.mk | 35 +++
|
||||
.../mt7981/base-files/etc/board.d/01_leds | 6 +
|
||||
.../mt7981/base-files/etc/board.d/02_network | 59 +++++
|
||||
5 files changed, 403 insertions(+)
|
||||
create mode 100644 target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-108M.dts
|
||||
create mode 100644 target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-base.dtsi
|
||||
|
||||
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-108M.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-108M.dts
|
||||
new file mode 100644
|
||||
index 0000000000..c1749442e3
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-108M.dts
|
||||
@@ -0,0 +1,61 @@
|
||||
+/dts-v1/;
|
||||
+#include "mt7981-360-t7-base.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ nmbm_spim_nand {
|
||||
+ compatible = "generic,nmbm";
|
||||
+
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ lower-mtd-device = <&spi_nand>;
|
||||
+ forced-create;
|
||||
+
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "BL2";
|
||||
+ reg = <0x00 0x100000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@100000 {
|
||||
+ label = "u-boot-env";
|
||||
+ reg = <0x100000 0x80000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@180000 {
|
||||
+ label = "Factory";
|
||||
+ reg = <0x180000 0x200000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@380000 {
|
||||
+ label = "FIP";
|
||||
+ reg = <0x380000 0x200000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@580000 {
|
||||
+ label = "ubi";
|
||||
+ reg = <0x580000 0x6c00000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@7180000 {
|
||||
+ label = "stock-config";
|
||||
+ reg = <0x7180000 0x100000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@7280000 {
|
||||
+ label = "stock-factory";
|
||||
+ reg = <0x7280000 0x80000>;
|
||||
+ };
|
||||
+
|
||||
+ partition@7300000 {
|
||||
+ label = "stock-log";
|
||||
+ reg = <0x7300000 0x400000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-base.dtsi b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-base.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..271dc68f57
|
||||
--- /dev/null
|
||||
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-360-t7-base.dtsi
|
||||
@@ -0,0 +1,242 @@
|
||||
+/dts-v1/;
|
||||
+#include "mt7981.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "360 T7";
|
||||
+ compatible = "360,t7", "mediatek,mt7981";
|
||||
+
|
||||
+ aliases {
|
||||
+ led-boot = &red_led;
|
||||
+ led-failsafe = &red_led;
|
||||
+ led-running = &green_led;
|
||||
+ led-upgrade = &green_led;
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ gl-hw {
|
||||
+ compatible = "gl-hw-info";
|
||||
+ model = "mt3000";
|
||||
+ wan = "eth1";
|
||||
+ lan = "eth0";
|
||||
+ temperature = "/sys/devices/virtual/thermal/thermal_zone0/temp";
|
||||
+ switch-button = "gpio-455";
|
||||
+ reset-button = "gpio-456";
|
||||
+ radio = "mt798111 mt798112";
|
||||
+ cfg-partition = "/dev/mtd7";
|
||||
+ flash_size = <128>;
|
||||
+ dfs;
|
||||
+ factory_data {
|
||||
+ device_mac = "stock-factory", "0xb0";
|
||||
+ device_ddns = "stock-factory", "0xc0";
|
||||
+ device_sn_bak = "stock-factory", "0xd0";
|
||||
+ device_sn = "stock-factory", "0xe0";
|
||||
+ country_code = "stock-factory", "0x7a";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "console=ttyS0,115200n1 loglevel=8 \
|
||||
+ earlycon=uart8250,mmio32,0x11002000";
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0 0x40000000 0 0x10000000>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ green_led: green {
|
||||
+ label = "360t7:green";
|
||||
+ gpios = <&pio 7 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ red_led: red {
|
||||
+ label = "360t7:red";
|
||||
+ gpios = <&pio 3 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpio-keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+ reset {
|
||||
+ label = "reset";
|
||||
+ linux,code = <KEY_RESTART>;
|
||||
+ gpios = <&pio 1 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+
|
||||
+ wps {
|
||||
+ label = "wps";
|
||||
+ linux,code = <KEY_WPS_BUTTON>;
|
||||
+ gpios = <&pio 0 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gsw: gsw@0 {
|
||||
+ compatible = "mediatek,mt753x";
|
||||
+ mediatek,ethsys = <ðsys>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&watchdog {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+ð {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ gmac0: mac@0 {
|
||||
+ compatible = "mediatek,eth-mac";
|
||||
+ reg = <0>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gmac1: mac@1 {
|
||||
+ compatible = "mediatek,eth-mac";
|
||||
+ reg = <1>;
|
||||
+ phy-mode = "2500base-x";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ pause;
|
||||
+ };
|
||||
+ };
|
||||
+ mdio: mdio-bus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&gsw {
|
||||
+ mediatek,mdio = <&mdio>;
|
||||
+ mediatek,mdio_master_pinmux = <0>;
|
||||
+ reset-gpios = <&pio 39 0>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port5: port@5 {
|
||||
+ compatible = "mediatek,mt753x-port";
|
||||
+ reg = <5>;
|
||||
+ phy-mode = "sgmii";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ port6: port@6 {
|
||||
+ compatible = "mediatek,mt753x-port";
|
||||
+ mediatek,ssc-on;
|
||||
+ reg = <6>;
|
||||
+ phy-mode = "sgmii";
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <2500>;
|
||||
+ full-duplex;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hnat {
|
||||
+ mtketh-wan = "eth0";
|
||||
+ mtketh-lan = "eth1";
|
||||
+ mtketh-ppd = "eth1";
|
||||
+ mtketh-max-gmac = <2>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_flash_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spi_nand: spi_nand@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "spi-nand";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <52000000>;
|
||||
+ spi-tx-buswidth = <4>;
|
||||
+ spi-rx-buswidth = <4>;
|
||||
+ spi-cal-enable;
|
||||
+ spi-cal-mode = "read-data";
|
||||
+ spi-cal-datalen = <7>;
|
||||
+ spi-cal-data = /bits/ 8 <0x53 0x50 0x49 0x4E 0x41 0x4E 0x44>; /* 'SPINAND' */
|
||||
+ spi-cal-addrlen = <5>;
|
||||
+ spi-cal-addr = /bits/ 32 <0x0 0x0 0x0 0x0 0x0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ pwm0_pin: pwm0-pin-g0 {
|
||||
+ mux {
|
||||
+ function = "pwm";
|
||||
+ groups = "pwm0_0";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pwm1_pin: pwm1-pin-g0 {
|
||||
+ mux {
|
||||
+ function = "pwm";
|
||||
+ groups = "pwm1_0";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pwm2_pin: pwm2-pin {
|
||||
+ mux {
|
||||
+ function = "pwm";
|
||||
+ groups = "pwm2";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ 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>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ uart1_pins: uart1-pins-g1 {
|
||||
+ mux {
|
||||
+ function = "uart";
|
||||
+ groups = "uart1_1";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ uart2_pins: uart2-pins-g1 {
|
||||
+ mux {
|
||||
+ function = "uart";
|
||||
+ groups = "uart2_1";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/target/linux/mediatek/image/mt7981.mk b/target/linux/mediatek/image/mt7981.mk
|
||||
index b7f1f6d437..7a436bb61d 100755
|
||||
--- a/target/linux/mediatek/image/mt7981.mk
|
||||
+++ b/target/linux/mediatek/image/mt7981.mk
|
||||
@@ -222,3 +222,38 @@ define Device/glinet_gl-mt2500
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-gl-metadata
|
||||
endef
|
||||
TARGET_DEVICES += glinet_gl-mt2500
|
||||
+
|
||||
+define Device/mt7981-360-t7
|
||||
+ DEVICE_VENDOR := GL.iNet
|
||||
+ DEVICE_MODEL := 360 T7
|
||||
+ DEVICE_DTS := mt7981-360-t7
|
||||
+ DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
|
||||
+ SUPPORTED_DEVICES := 360,t7
|
||||
+ UBINIZE_OPTS := -E 5
|
||||
+ BLOCKSIZE := 128k
|
||||
+ PAGESIZE := 2048
|
||||
+ IMAGE_SIZE := 36864k
|
||||
+ KERNEL_IN_UBI := 1
|
||||
+ IMAGES += factory.bin
|
||||
+ IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
||||
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
+endef
|
||||
+TARGET_DEVICES += mt7981-360-t7
|
||||
+
|
||||
+define Device/mt7981-360-t7-108M
|
||||
+ DEVICE_VENDOR := GL.iNet
|
||||
+ DEVICE_MODEL := 360 T7 (with 108M ubi)
|
||||
+ DEVICE_DTS := mt7981-360-t7-108M
|
||||
+ DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
|
||||
+ SUPPORTED_DEVICES := 360,t7
|
||||
+ UBINIZE_OPTS := -E 5
|
||||
+ BLOCKSIZE := 128k
|
||||
+ PAGESIZE := 2048
|
||||
+ IMAGE_SIZE := 110592k
|
||||
+ KERNEL_IN_UBI := 1
|
||||
+ IMAGES += factory.bin
|
||||
+ IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
||||
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
+endef
|
||||
+TARGET_DEVICES += mt7981-360-t7-108M
|
||||
+
|
||||
diff --git a/target/linux/mediatek/mt7981/base-files/etc/board.d/01_leds b/target/linux/mediatek/mt7981/base-files/etc/board.d/01_leds
|
||||
index 43905e604d..779ac123b1 100755
|
||||
--- a/target/linux/mediatek/mt7981/base-files/etc/board.d/01_leds
|
||||
+++ b/target/linux/mediatek/mt7981/base-files/etc/board.d/01_leds
|
||||
@@ -13,6 +13,12 @@ glinet,x3000-emmc)
|
||||
ucidef_set_led_default "power" "POWER" "power" "1"
|
||||
;;
|
||||
esac
|
||||
+case "$(board_name)" in
|
||||
+*360,t7*)
|
||||
+ ucidef_set_led_default "green" "GREEN" "360t7:green" "1"
|
||||
+ ucidef_set_led_default "red" "RED" "360t7:red" "0"
|
||||
+ ;;
|
||||
+esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
diff --git a/target/linux/mediatek/mt7981/base-files/etc/board.d/02_network b/target/linux/mediatek/mt7981/base-files/etc/board.d/02_network
|
||||
index c2a22e425b..936ea35aea 100755
|
||||
--- a/target/linux/mediatek/mt7981/base-files/etc/board.d/02_network
|
||||
+++ b/target/linux/mediatek/mt7981/base-files/etc/board.d/02_network
|
||||
@@ -28,18 +28,63 @@ mediatek_setup_interfaces()
|
||||
*mt2500*)
|
||||
ucidef_set_interfaces_lan_wan eth1 eth0
|
||||
;;
|
||||
+ *360,t7*)
|
||||
+ ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
+ ucidef_add_switch "switch0" \
|
||||
+ "0:lan" "1:lan" "2:lan" "3:wan" "6u@eth0" "5u@eth1"
|
||||
+ ;;
|
||||
*)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" eth1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
+mtk_facrory_write_mac()
|
||||
+{
|
||||
+ local part_name=$1
|
||||
+ local offset=$2
|
||||
+ local macaddr=$3 #aa:bb:cc:dd:ee:ff
|
||||
+ local data=""
|
||||
+
|
||||
+ part=$(find_mtd_part $part_name)
|
||||
+ if [ -n "$part" ] && [ -n "$macaddr" ]; then
|
||||
+ local i=1
|
||||
+ for x in ${macaddr//:/ }; do
|
||||
+ [ $i -gt 6 ] && break
|
||||
+ data=${data}"\x${x}"
|
||||
+ i=$((i+1))
|
||||
+ done
|
||||
+ dd if=$part of=/tmp/Factory.backup
|
||||
+ printf "${data}" | dd conv=notrunc of=/tmp/Factory.backup bs=1 seek=$((${offset}))
|
||||
+ mtd write /tmp/Factory.backup $part_name
|
||||
+ rm -rf /tmp/Factory.backup
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+mtk_factory_get_byte()
|
||||
+{
|
||||
+ local part_name=$1
|
||||
+ local offset=$2
|
||||
+ local len=$3
|
||||
+
|
||||
+ part=$(find_mtd_part $part_name)
|
||||
+ if [ -n "$part" ]; then
|
||||
+ hexdump -n $len -s $offset -e ''`expr ${len} - 1`'/1 "%02x-" "%02x"' $part
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
+
|
||||
mediatek_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
local part_name="Factory"
|
||||
local lan_mac=""
|
||||
local wan_mac=""
|
||||
+ local lan_mac_offset="0x2A"
|
||||
+ local wan_mac_offset="0x24"
|
||||
+
|
||||
+ lan_mac=$(mtd_get_mac_binary $part_name $lan_mac_offset)
|
||||
+ wan_mac=$(mtd_get_mac_binary $part_name $wan_mac_offset)
|
||||
|
||||
case $board in
|
||||
*mt3000*)
|
||||
@@ -55,6 +100,20 @@ mediatek_setup_macs()
|
||||
wan_mac=$(get_mac_binary /dev/mmcblk0p3 0x0a)
|
||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||
;;
|
||||
+ *360,t7*)
|
||||
+ local part=$(find_mtd_part "stock-factory")
|
||||
+ if [ -n "$part" ]; then
|
||||
+ local factoryMac="$(dd if=$part bs=1 count=200 2>/dev/null |grep "^lanMac=")"
|
||||
+ if [ -n "$factoryMac" ]; then
|
||||
+ lan_mac="${factoryMac#lanMac=}"
|
||||
+ wan_mac="$(macaddr_add $lan_mac 0x1)"
|
||||
+ if [ "$(mtk_factory_get_byte "Factory" 4 2)" = "00-0c" ]; then
|
||||
+ local wifi_mac="$(macaddr_add $lan_mac 0x2)"
|
||||
+ mtk_facrory_write_mac "Factory" 4 $wifi_mac
|
||||
+ fi
|
||||
+ fi
|
||||
+ fi
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
|
||||
--
|
||||
2.25.1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user