123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379 |
- From 09d5ae78b47a9d893a570c1d5ef69cba5680565c Mon Sep 17 00:00:00 2001
- From: coolsnowwolf <[email protected]>
- Date: Thu, 16 Nov 2023 23:02:33 +0800
- Subject: [PATCH] mediatek: add support for JDCloud AX6000
- ---
- .../mediatek/dts/mt7986a-jdcloud-re-cs-05.dts | 281 ++++++++++++++++++
- .../filogic/base-files/etc/board.d/02_network | 6 +
- .../etc/hotplug.d/firmware/11-mt76-caldata | 3 +-
- .../base-files/lib/preinit/81_fix_eeprom | 3 +-
- .../base-files/lib/upgrade/platform.sh | 6 +-
- 5 files changed, 295 insertions(+), 4 deletions(-)
- create mode 100644 target/linux/mediatek/dts/mt7986a-jdcloud-re-cs-05.dts
- diff --git a/target/linux/mediatek/dts/mt7986a-jdcloud-re-cs-05.dts b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cs-05.dts
- new file mode 100644
- index 0000000000000..00b4c79c6bf8f
- --- /dev/null
- +++ b/target/linux/mediatek/dts/mt7986a-jdcloud-re-cs-05.dts
- @@ -0,0 +1,275 @@
- +// 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 "mt7986a.dtsi"
- +
- +/ {
- + model = "JDCloud RE-CS-05";
- + compatible = "jdcloud,re-cs-05", "mediatek,mt7986a";
- +
- + aliases {
- + serial0 = &uart0;
- + led-boot = &led_status_green;
- + led-failsafe = &led_status_red;
- + led-running = &led_status_blue;
- + led-upgrade = &led_status_red;
- + };
- +
- + chosen {
- + stdout-path = "serial0:115200n8";
- + bootargs = "console=ttyS0,115200n8 root=PARTLABEL=rootfs rootwait";
- + };
- +
- + keys {
- + compatible = "gpio-keys";
- +
- + reset {
- + label = "reset";
- + linux,code = <KEY_RESTART>;
- + gpios = <&pio 9 GPIO_ACTIVE_LOW>;
- + };
- +
- + wps {
- + label = "wps";
- + linux,code = <KEY_WPS_BUTTON>;
- + gpios = <&pio 10 GPIO_ACTIVE_LOW>;
- + };
- + };
- +
- + leds {
- + compatible = "gpio-leds";
- +
- + led_status_blue: blue {
- + label = "blue:status";
- + gpios = <&pio 7 GPIO_ACTIVE_HIGH>;
- + };
- +
- + led_status_red: red {
- + label = "red:status";
- + gpios = <&pio 11 GPIO_ACTIVE_HIGH>;
- + };
- +
- + led_status_green: green {
- + label = "green:status";
- + gpios = <&pio 12 GPIO_ACTIVE_LOW>;
- + };
- + };
- +
- + reg_1p8v: regulator-1p8v {
- + compatible = "regulator-fixed";
- + regulator-name = "fixed-1.8V";
- + regulator-min-microvolt = <1800000>;
- + regulator-max-microvolt = <1800000>;
- + regulator-boot-on;
- + regulator-always-on;
- + };
- +
- + reg_3p3v: regulator-3p3v {
- + compatible = "regulator-fixed";
- + regulator-name = "fixed-3.3V";
- + regulator-min-microvolt = <3300000>;
- + regulator-max-microvolt = <3300000>;
- + regulator-boot-on;
- + regulator-always-on;
- + };
- +};
- +
- +&crypto {
- + 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-handle = <&phy6>;
- + phy-mode = "2500base-x";
- + };
- +
- + mdio: mdio-bus {
- + #address-cells = <1>;
- + #size-cells = <0>;
- + };
- +};
- +
- +&mdio {
- + phy6: ethernet-phy@6 {
- + compatible = "ethernet-phy-ieee802.3-c45";
- + reg = <6>;
- + reset-assert-us = <100000>;
- + reset-deassert-us = <100000>;
- + reset-gpios = <&pio 6 GPIO_ACTIVE_LOW>;
- + realtek,aldps-enable;
- + };
- +
- + switch: switch@0 {
- + compatible = "mediatek,mt7531";
- + reg = <31>;
- + reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>;
- + interrupt-controller;
- + #interrupt-cells = <1>;
- + interrupt-parent = <&pio>;
- + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
- + };
- +};
- +
- +&switch {
- + ports {
- + #address-cells = <1>;
- + #size-cells = <0>;
- +
- + port@1 {
- + reg = <1>;
- + label = "lan1";
- + };
- +
- + port@2 {
- + reg = <2>;
- + label = "lan2";
- + };
- +
- + port@3 {
- + reg = <3>;
- + label = "lan3";
- + };
- +
- + port@4 {
- + reg = <4>;
- + label = "lan4";
- + };
- +
- + port@6 {
- + reg = <6>;
- + ethernet = <&gmac0>;
- + phy-mode = "2500base-x";
- +
- + fixed-link {
- + speed = <2500>;
- + full-duplex;
- + pause;
- + };
- + };
- + };
- +};
- +
- +&mmc0 {
- + pinctrl-names = "default", "state_uhs";
- + pinctrl-0 = <&mmc0_pins_default>;
- + pinctrl-1 = <&mmc0_pins_uhs>;
- + bus-width = <8>;
- + cap-mmc-highspeed;
- + hs400-ds-delay = <0x14014>;
- + max-frequency = <200000000>;
- + mmc-hs200-1_8v;
- + mmc-hs400-1_8v;
- + non-removable;
- + vmmc-supply = <®_3p3v>;
- + vqmmc-supply = <®_1p8v>;
- + status = "okay";
- +};
- +
- +&pio {
- + mmc0_pins_default: mmc0-pins {
- + mux {
- + function = "emmc";
- + groups = "emmc_51";
- + };
- + conf-cmd-dat {
- + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
- + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
- + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
- + input-enable;
- + drive-strength = <4>;
- + mediatek,pull-up-adv = <1>; /* pull-up 10K */
- + };
- + conf-clk {
- + pins = "EMMC_CK";
- + drive-strength = <6>;
- + mediatek,pull-down-adv = <2>; /* pull-down 50K */
- + };
- + conf-ds {
- + pins = "EMMC_DSL";
- + mediatek,pull-down-adv = <2>; /* pull-down 50K */
- + };
- + conf-rst {
- + pins = "EMMC_RSTB";
- + drive-strength = <4>;
- + mediatek,pull-up-adv = <1>; /* pull-up 10K */
- + };
- + };
- +
- + mmc0_pins_uhs: mmc0-uhs-pins {
- + mux {
- + function = "emmc";
- + groups = "emmc_51";
- + };
- + conf-cmd-dat {
- + pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
- + "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
- + "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
- + input-enable;
- + drive-strength = <4>;
- + mediatek,pull-up-adv = <1>; /* pull-up 10K */
- + };
- + conf-clk {
- + pins = "EMMC_CK";
- + drive-strength = <6>;
- + mediatek,pull-down-adv = <2>; /* pull-down 50K */
- + };
- + conf-ds {
- + pins = "EMMC_DSL";
- + mediatek,pull-down-adv = <2>; /* pull-down 50K */
- + };
- + conf-rst {
- + pins = "EMMC_RSTB";
- + drive-strength = <4>;
- + mediatek,pull-up-adv = <1>; /* pull-up 10K */
- + };
- + };
- +
- + wf_2g_5g_pins: wf_2g_5g-pins {
- + mux {
- + function = "wifi";
- + groups = "wf_2g", "wf_5g";
- + };
- + conf {
- + pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
- + "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
- + "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
- + "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
- + "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
- + "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
- + "WF1_TOP_CLK", "WF1_TOP_DATA";
- + drive-strength = <4>;
- + };
- + };
- +};
- +
- +&trng {
- + status = "okay";
- +};
- +
- +&uart0 {
- + status = "okay";
- +};
- +
- +&watchdog {
- + status = "okay";
- +};
- 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 2e978be6804bf..aac60c4ca509e 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
- @@ -19,6 +19,7 @@ mediatek_setup_interfaces()
- confiabits,mt7981|\
- cudy,wr3000-v1|\
- jcg,q30-pro|\
- + jdcloud,re-cs-05|\
- qihoo,360t7|\
- routerich,ax3000)
- ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" wan
- @@ -130,6 +131,11 @@ mediatek_setup_macs()
- lan_mac=$(mtd_get_mac_ascii u-boot-env mac)
- label_mac=$lan_mac
- ;;
- + jdcloud,re-cs-05)
- + wan_mac=$(mmc_get_mac_binary factory 0x24)
- + lan_mac=$(mmc_get_mac_binary factory 0x2a)
- + label_mac=$lan_mac
- + ;;
- qihoo,360t7)
- lan_mac=$(mtd_get_mac_ascii factory lanMac)
- wan_mac=$(macaddr_add "$lan_mac" 1)
- diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
- index 8eda14f82b51d..82b1bb8f88ef6 100644
- --- a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
- +++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata
- @@ -55,7 +55,8 @@ case "$FIRMWARE" in
- ;;
- "mediatek/mt7986_eeprom_mt7976_dual.bin")
- case "$board" in
- - glinet,gl-mt6000)
- + glinet,gl-mt6000|\
- + jdcloud,re-cs-05)
- caldata_extract_mmc "factory" 0x0 0x1000
- ;;
- esac
- diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
- index e3b042c876d50..1a3f329f4cf66 100755
- --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
- +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
- @@ -109,7 +109,8 @@ platform_do_upgrade() {
- cudy,wr3000-v1)
- default_do_upgrade "$1"
- ;;
- - glinet,gl-mt6000)
- + glinet,gl-mt6000|\
- + jdcloud,re-cs-05)
- CI_KERNPART="kernel"
- CI_ROOTPART="rootfs"
- emmc_do_upgrade "$1"
- @@ -185,6 +186,7 @@ platform_copy_config() {
- esac
- ;;
- glinet,gl-mt6000|\
- + jdcloud,re-cs-05|\
- ubnt,unifi-6-plus)
- emmc_copy_config
- ;;
- --- a/target/linux/mediatek/image/filogic.mk
- +++ b/target/linux/mediatek/image/filogic.mk
- @@ -296,6 +296,21 @@
- endef
- TARGET_DEVICES += jcg_q30-pro
-
- +define Device/jdcloud_re-cs-05
- + DEVICE_VENDOR := JDCloud
- + DEVICE_MODEL := AX6000
- + DEVICE_DTS := mt7986a-jdcloud-re-cs-05
- + DEVICE_DTS_DIR := ../dts
- + DEVICE_PACKAGES := e2fsprogs f2fsck mkf2fs kmod-mt7986-firmware mt7986-wo-firmware
- + UBINIZE_OPTS := -E 5
- + BLOCKSIZE := 128k
- + PAGESIZE := 2048
- + IMAGES := sysupgrade.bin
- + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
- +endef
- +TARGET_DEVICES += jdcloud_re-cs-05
- +
- +
- define Device/netgear_wax220
- DEVICE_VENDOR := NETGEAR
- DEVICE_MODEL := WAX220
|