From 3ca571f1a10f7f9d34ecca080643bde405505ca6 Mon Sep 17 00:00:00 2001 From: JiaY-shi Date: Mon, 17 Jun 2024 22:17:45 +0800 Subject: [PATCH] qualcommax: ipq50xx: add glinet gl-b3000 support Signed-off-by: JiaY-shi --- package/firmware/ipq-wifi/Makefile | 2 + .../ipq-wifi/src/board-gl-b3000.bin.IPQ5018 | Bin 0 -> 655724 bytes .../ipq-wifi/src/board-gl-b3000.bin.qcn6122 | Bin 0 -> 786860 bytes .../arm64/boot/dts/qcom/ipq5000-gl-b3000.dts | 478 ++++++++++++++++++ target/linux/qualcommax/image/ipq50xx.mk | 14 + .../ipq50xx/base-files/etc/board.d/02_network | 3 + .../etc/hotplug.d/firmware/11-ath11k-caldata | 8 + .../base-files/lib/upgrade/platform.sh | 3 + 8 files changed, 508 insertions(+) create mode 100644 package/firmware/ipq-wifi/src/board-gl-b3000.bin.IPQ5018 create mode 100644 package/firmware/ipq-wifi/src/board-gl-b3000.bin.qcn6122 create mode 100644 target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq5000-gl-b3000.dts diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 3e2953be6ecb21..eb473b263127d8 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -37,6 +37,7 @@ ALLWIFIBOARDS:= \ dynalink_dl-wrx36 \ edgecore_eap102 \ edimax_cax1800 \ + gl-b3000 \ linksys_mx2000 \ linksys_mx4200 \ linksys_mx5300 \ @@ -170,6 +171,7 @@ $(eval $(call generate-ipq-wifi-package,compex_wpq873,Compex WPQ-873)) $(eval $(call generate-ipq-wifi-package,dynalink_dl-wrx36,Dynalink DL-WRX36)) $(eval $(call generate-ipq-wifi-package,edgecore_eap102,Edgecore EAP102)) $(eval $(call generate-ipq-wifi-package,edimax_cax1800,Edimax CAX1800)) +$(eval $(call generate-ipq-wifi-package,gl-b3000,Gl.iNet B3000)) $(eval $(call generate-ipq-wifi-package,linksys_mx2000,Linksys MX2000)) $(eval $(call generate-ipq-wifi-package,linksys_mx4200,Linksys MX4200)) $(eval $(call generate-ipq-wifi-package,linksys_mx5300,Linksys MX5300)) diff --git a/package/firmware/ipq-wifi/src/board-gl-b3000.bin.IPQ5018 b/package/firmware/ipq-wifi/src/board-gl-b3000.bin.IPQ5018 new file mode 100644 index 0000000000000000000000000000000000000000..2738dc3fabeb44cdb93132b60abe1cf6d3f72192 GIT binary patch literal 655724 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 NfD%vwO5iLB{C~yku_FKg literal 0 HcmV?d00001 diff --git a/package/firmware/ipq-wifi/src/board-gl-b3000.bin.qcn6122 b/package/firmware/ipq-wifi/src/board-gl-b3000.bin.qcn6122 new file mode 100644 index 0000000000000000000000000000000000000000..9b7763b7a315309d83b369a6dd119607a6e0c59d GIT binary patch literal 786860 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 +#include +/ { + model = "GL.iNET B3000"; + compatible = "glinet,gl-b3000", "qcom,ipq5018"; + + interrupt-parent = <&intc>; + + aliases { + serial0 = &blsp1_uart1; + + ethernet0 = &dp1; + ethernet1 = &dp2; + label-mac-device = &dp2; + + led-boot = &led_system_blue; + led-failsafe = &led_status_white; + led-running = &led_status_white; + led-upgrade = &led_system_blue; + }; + chosen { + bootargs-append = " root=/dev/ubiblock0_1 swiotlb=1 coherent_pool=2M"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + led_system_blue: led_system_blue { + label = "led_system_blue"; + gpio = <&tlmm 24 0>; + default-state = "on"; + }; + + led_status_white: led_status_white { + label = "led_status_white"; + gpio = <&tlmm 23 0>; + default-state = "off"; + }; + }; + + button { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + button_reset { + label = "reset"; + gpios = <&tlmm 27 GPIO_ACTIVE_LOW>; + linux,input-type = ;//<1>; + linux,code = ; + debounce-interval = <60>; + }; + }; + reserved-memory { + tz_appps@4a400000 { + no-map; + reg = <0x0 0x4a400000 0x0 0x400000>; + }; + + q6_mem_regions: q6_mem_regions@4b000000 { + no-map; + reg = <0x0 0x4b000000 0x0 0x3000000>; + }; + }; +}; +&switch { + status = "okay"; + switch_mac_mode = ; + qcom,port_phyinfo { + // MAC0 -> GE Phy -> QCA8337 Phy2 + port@0 { + port_id = <1>; + mdiobus = <&mdio0>; + phy_address = <7>; + phy_dac = <0x10 0x10>; + // status = "disabled"; + }; + // MAC1 ---SGMII---> QCA8337 SerDes + port@1 { + port_id = <2>; + forced-speed = <1000>; + forced-duplex = <1>; + }; + }; +}; +// MAC0 -> GE Phy +&dp1 { + status = "okay"; +}; +// MAC1 ---SGMII---> QCA8337 SerDes +&dp2 { + status = "okay"; + phy-mode = "sgmii"; + nvmem-cells = <&macaddr_dp2>; + nvmem-cell-names = "mac-address"; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; +&mdio0 { + status = "okay"; +}; +// IPQ5018 GE Phy -> QCA8337 Phy1 +&ge_phy { + status = "okay"; +}; +&mdio1 { + status = "okay"; + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; + // QCA8337 Phy0 -> WAN + qca8337_0: ethernet-phy@0 { + reg = <0>; + }; + // QCA8337 Phy1 -> LAN1 + qca8337_1: ethernet-phy@1 { + reg = <1>; + }; + // QCA8337 Phy3 -> LAN2 + qca8337_2: ethernet-phy@2 { + reg = <2>; + }; + // QCA8337 Phy2 -> IPQ5018 GE Phy + qca8337_3: ethernet-phy@3 { + reg = <3>; + }; + // QCA8337 switch + switch0: ethernet-switch@17 { + compatible = "qca,qca8337"; + reg = <17>; + #address-cells = <1>; + #size-cells = <0>; + switch_cpu_bmp = <0x40>; /* cpu port bitmap */ + switch_lan_bmp = <0x0c>; /* lan port bitmap */ + switch_wan_bmp = <0x02>; /* wan port bitmap */ + ports { + #address-cells = <1>; + #size-cells = <0>; + + switch0cpu: port@0 { + reg = <0>; + label = "cpu"; + phy-mode = "sgmii"; + ethernet = <&dp2>; + qca,sgmii-enable-pll; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + // QCA8337 Phy0 -> WAN + port@1 { + reg = <1>; + label = "wan"; + phy-handle = <&qca8337_0>; + port_id = <1>; + phy_address = <0>; + }; + + // QCA8337 Phy1 -> LAN1 + port@2 { + reg = <2>; + label = "lan1"; + phy-handle = <&qca8337_1>; + port_id = <2>; + phy_address = <1>; + }; + // QCA8337 Phy3 -> LAN2 + port@3 { + reg = <3>; + label = "lan2"; + phy-handle = <&qca8337_2>; + port_id = <3>; + phy_address = <2>; + + }; + }; + }; +}; +&sleep_clk { + clock-frequency = <32000>; +}; +&xo_board_clk { + clock-frequency = <24000000>; +}; +&blsp1_uart1 { + status = "okay"; + pinctrl-0 = <&blsp_uart0_pins>; + pinctrl-names = "default"; +}; +&crypto { + status = "okay"; +}; +&cryptobam { + status = "okay"; +}; +&qpic_bam { + status = "okay"; +}; +&qpic_nand { + pinctrl-0 = <&qpic_pins>; + pinctrl-names = "default"; + status = "okay"; + partitions { + status = "disabled"; + }; + nand@0 { + compatible = "spi-nand"; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + nand-ecc-engine = <&qpic_nand>; + nand-ecc-strength = <8>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "0:SBL1"; + reg = <0x00000000 0x80000>; + read-only; + }; + partition@80000 { + label = "0:MIBIB"; + reg = <0x00080000 0x80000>; + read-only; + }; + partition@100000 { + label = "0:BOOTCONFIG"; + reg = <0x00100000 0x40000>; + read-only; + }; + partition@140000 { + label = "0:QSEE"; + reg = <0x00140000 0x100000>; + read-only; + }; + partition@240000 { + label = "0:DEVCFG"; + reg = <0x00240000 0x40000>; + read-only; + }; + partition@280000 { + label = "0:CDT"; + reg = <0x00280000 0x40000>; + read-only; + }; + partition@2c0000 { + label = "0:APPSBLENV"; + reg = <0x002c0000 0x80000>; + }; + partition@340000 { + label = "0:APPSBL"; + reg = <0x00340000 0x140000>; + read-only; + }; + partition@480000 { + label = "0:ART"; + reg = <0x00480000 0x100000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + macaddr_dp2: macaddr@0 { + reg = <0x0 0x6>; + }; + }; + }; + partition@580000 { + label = "0:TRAINING"; + reg = <0x00580000 0x80000>; + read-only; + }; + partition@600000 { + label = "CFG"; + reg = <0x00600000 0x200000>; + }; + partition@800000 { + label = "rootfs"; + reg = <0x00800000 0x7800000>; + }; + }; + }; +}; +&tlmm { + mdio1_pins: mdio-state { + mdc-pins { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + mdio-pins { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + leds_pins: leds_pins { + led_system_blue { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + led_status_white { + pins = "gpio23"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; + button_pins: button_pins { + button_reset { + pins = "gpio27"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + qpic_pins: qpic-state { + clock-pins { + pins = "gpio9"; + function = "qspi_clk"; + drive-strength = <8>; + bias-disable; + }; + cs-pins { + pins = "gpio8"; + function = "qspi_cs"; + drive-strength = <8>; + bias-disable; + }; + data-pins { + pins = "gpio4", "gpio5", "gpio6", "gpio7"; + function = "qspi_data"; + drive-strength = <8>; + bias-disable; + }; + }; + blsp_uart0_pins: blsp_uart0_pins { + pins = + "gpio20", // RX + "gpio21"; // TX + function = "blsp0_uart0"; + drive-strength = <8>; + bias-disable; + }; +}; + +&tsens { + status = "disabled"; +}; + +&pcie_x2phy { + status = "disabled"; +}; + +&pcie_x2 { + status = "disabled"; + perst-gpios = <&tlmm 15 GPIO_ACTIVE_LOW>; +}; + +&q6v5_wcss { + status = "okay"; + memory-region = <&q6_mem_regions>; + firmware-name = "ath11k/IPQ5018/hw1.0/q6_fw.mdt", + "ath11k/IPQ5018/hw1.0/m3_fw.mdt", + "ath11k/qcn6122/hw1.0/m3_fw.mdt"; + + boot-args = + ; + + // IPQ5018 + q6_wcss_pd1: pd-1 { + firmware-name = "ath11k/IPQ5018/hw1.0/q6_fw.mdt"; + resets = + <&gcc GCC_WCSSAON_RESET>, + <&gcc GCC_WCSS_BCR>, + <&gcc GCC_CE_BCR>; + reset-names = + "wcss_aon_reset", + "wcss_reset", + "ce_reset"; + clocks = + <&gcc GCC_WCSS_AHB_S_CLK>, + <&gcc GCC_WCSS_ACMT_CLK>, + <&gcc GCC_WCSS_AXI_M_CLK>; + clock-names = + "gcc_wcss_ahb_s_clk", + "gcc_wcss_acmt_clk", + "gcc_wcss_axi_m_clk"; + + interrupts-extended = + <&wcss_smp2p_in 8 0>, + <&wcss_smp2p_in 9 0>, + <&wcss_smp2p_in 12 0>, + <&wcss_smp2p_in 11 0>; + interrupt-names = + "fatal", + "ready", + "spawn-ack", + "stop-ack"; + qcom,smem-states = + <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = + "shutdown", + "stop", + "spawn"; + status = "okay"; + }; + + // QCN6102 5G + q6_wcss_pd3: pd-3 { + firmware-name = "ath11k/IPQ5018/hw1.0/q6_fw.mdt"; + interrupts-extended = + <&wcss_smp2p_in 24 0>, + <&wcss_smp2p_in 25 0>, + <&wcss_smp2p_in 28 0>, + <&wcss_smp2p_in 27 0>; + interrupt-names = + "fatal", + "ready", + "spawn-ack", + "stop-ack"; + qcom,smem-states = + <&wcss_smp2p_out 24>, + <&wcss_smp2p_out 25>, + <&wcss_smp2p_out 26>; + qcom,smem-state-names = + "shutdown", + "stop", + "spawn"; + + status = "okay"; + }; +}; +&wifi0 { + // IPQ5018 + qcom,rproc = <&q6_wcss_pd1>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; + qcom,ath11k-calibration-variant = "GL-iNet-GL-B3000"; + qcom,ath11k-fw-memory-mode = <2>; + qcom,bdf-addr = <0x4c400000>; + status = "okay"; +}; +&wifi1 { + qcom,rproc = <&q6_wcss_pd3>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; + qcom,ath11k-calibration-variant = "GL-iNet-GL-B3000"; + qcom,ath11k-fw-memory-mode = <2>; + qcom,bdf-addr = <0x4d100000>; + qcom,m3-dump-addr = <0x4df00000>; + status = "okay"; +}; \ No newline at end of file diff --git a/target/linux/qualcommax/image/ipq50xx.mk b/target/linux/qualcommax/image/ipq50xx.mk index 997a2ecf67e793..2af8e55c6d01ac 100644 --- a/target/linux/qualcommax/image/ipq50xx.mk +++ b/target/linux/qualcommax/image/ipq50xx.mk @@ -1,3 +1,17 @@ +define Device/glinet_gl-b3000 + $(call Device/FitImage) + $(call Device/UbiFit) + SOC := ipq5000 + DEVICE_VENDOR := GL.iNET + DEVICE_MODEL := GL-B3000 + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_DTS_CONFIG := config@mp03.5-c1 + UBINIZE_OPTS := -E 5 + DEVICE_PACKAGES := ath11k-firmware-qcn6122 ipq-wifi-gl-b3000 +endef +TARGET_DEVICES += glinet_gl-b3000 + define Device/linksys_mx2000 $(call Device/FitImageLzma) DEVICE_VENDOR := Linksys diff --git a/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network b/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network index bcf606c75680b9..3fa76e36e2ec0d 100644 --- a/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network +++ b/target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network @@ -7,6 +7,9 @@ ipq50xx_setup_interfaces() { local board="$1" case $board in + glinet,gl-b3000) + ucidef_set_interfaces_lan_wan "lan1 lan2" "wan" + ;; linksys,mx2000|\ linksys,mx5500) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan" diff --git a/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata b/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata index ad1e0f153528ad..1369788e3a642b 100644 --- a/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata +++ b/target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata @@ -17,6 +17,9 @@ case "$FIRMWARE" in ath11k_remove_regdomain ath11k_set_macflag ;; + glinet,gl-b3000) + caldata_extract "0:ART" 0x1000 0x20000 + ;; esac ;; "ath11k/qcn6122/hw1.0/cal-ahb-soc@0:wifi1@c000000.bin") @@ -28,6 +31,9 @@ case "$FIRMWARE" in ath11k_remove_regdomain ath11k_set_macflag ;; + glinet,gl-b3000) + caldata_extract "0:ART" 0x26800 0x20000 + ;; esac ;; "ath11k/QCN9074/hw1.0/cal-pci-0001:01:00.0.bin") @@ -39,6 +45,8 @@ case "$FIRMWARE" in ath11k_remove_regdomain ath11k_set_macflag ;; + glinet,gl-b3000) + caldata_extract "0:ART" 0x26800 0x20000 esac ;; *) diff --git a/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh index 5be51c77fd68d1..1702201f15e99f 100644 --- a/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh @@ -10,6 +10,9 @@ platform_check_image() { platform_do_upgrade() { case "$(board_name)" in + glinet,gl-b3000) + nand_do_upgrade "$1" + ;; linksys,mx2000|\ linksys,mx5500) boot_part="$(fw_printenv -n boot_part)"