From 717b0ce261be906c4bb53ebe423fb6eca9642501 Mon Sep 17 00:00:00 2001 From: jackcybertan Date: Tue, 10 Dec 2024 01:47:46 +0000 Subject: [PATCH] ipq50xx: Support Cybertan RAP630W-312G Fixes: WIFI-14318 Signed-off-by: jackcybertan --- feeds/ipq807x_v5.4/ath11k-wifi/Makefile | 10 +- .../board-cybertan-rap630w-312g.bin.IPQ5018 | Bin 0 -> 131072 bytes .../board-cybertan-rap630w-312g.bin.QCN6122 | Bin 0 -> 131072 bytes .../ipq50xx/base-files/etc/board.d/01_leds | 5 + .../ipq50xx/base-files/etc/board.d/02_network | 4 + .../etc/hotplug.d/firmware/10-ath11k-caldata | 3 + .../base-files/lib/upgrade/platform.sh | 20 +- .../dts/qcom/qcom-ipq5018-rap630w-312g.dts | 925 ++++++++++++++++++ feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk | 11 + feeds/ipq807x_v5.4/ipq50xx/modules.mk | 177 ++++ ...0xx-fix-compile-error-with-scsi-core.patch | 28 + profiles/cybertan_rap630w-312g.yml | 17 + 12 files changed, 1187 insertions(+), 13 deletions(-) mode change 100644 => 100755 feeds/ipq807x_v5.4/ath11k-wifi/Makefile create mode 100755 feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.IPQ5018 create mode 100755 feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.QCN6122 create mode 100755 feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-312g.dts mode change 100644 => 100755 feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk mode change 100644 => 100755 feeds/ipq807x_v5.4/ipq50xx/modules.mk create mode 100755 patches/0081-ipq50xx-fix-compile-error-with-scsi-core.patch create mode 100755 profiles/cybertan_rap630w-312g.yml diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile old mode 100644 new mode 100755 index 42db32320..840139021 --- a/feeds/ipq807x_v5.4/ath11k-wifi/Makefile +++ b/feeds/ipq807x_v5.4/ath11k-wifi/Makefile @@ -32,8 +32,7 @@ ALLWIFIBOARDS:= \ cybertan-eww622-a1 \ cybertan-eww631-a1 \ cybertan-eww631-b1 \ - sonicfi-rap630c-311g \ - sonicfi-rap630w-311g \ + cybertan-rap630w-312g \ edgecore-eap101 \ gl-ax1800 \ gl-axt1800 \ @@ -51,6 +50,8 @@ ALLWIFIBOARDS:= \ wallys-dr5018 \ wallys-dr6018 \ wallys-dr6018-v4 \ + sonicfi-rap630c-311g \ + sonicfi-rap630w-311g \ tplink-ex227 \ tplink-ex447 \ yuncore-ax840 \ @@ -393,8 +394,7 @@ $(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4)) $(eval $(call generate-ath11k-wifi-package,cybertan-eww622-a1,CyberTan EWW622 A1)) $(eval $(call generate-ath11k-wifi-package,cybertan-eww631-a1,CyberTan EWW631 A1)) $(eval $(call generate-ath11k-wifi-package,cybertan-eww631-b1,CyberTan EWW631 B1)) -$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) -$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G)) +$(eval $(call generate-ath11k-wifi-package,cybertan-rap630w-312g,CyberTan RAP630W 312G)) $(eval $(call generate-ath11k-wifi-package,sercomm-wallaby,Sercomm Kiwi)) $(eval $(call generate-ath11k-wifi-package,wallys-dr6018,Wallys DR6018)) $(eval $(call generate-ath11k-wifi-package,wallys-dr6018-v4,Wallys DR6018 V4)) @@ -406,6 +406,8 @@ $(eval $(call generate-ath11k-wifi-package,liteon-wpx8324,Liteon WPX8324)) $(eval $(call generate-ath11k-wifi-package,indio-um-310ax-v1,Indio UM-310AX V1)) $(eval $(call generate-ath11k-wifi-package,indio-um-510axp-v1,Indio UM-510AXP V1)) $(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1)) +$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G)) +$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G)) $(eval $(call generate-ath11k-wifi-package,tplink-ex227,TP-Link EX227)) $(eval $(call generate-ath11k-wifi-package,tplink-ex447,TP-Link EX447)) $(eval $(call generate-ath11k-wifi-package,yuncore-ax840,YunCore AX840)) diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.IPQ5018 b/feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.IPQ5018 new file mode 100755 index 0000000000000000000000000000000000000000..0f883f31811ffae71340ba70e94d8058caae6355 GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.QCN6122 b/feeds/ipq807x_v5.4/ath11k-wifi/board-cybertan-rap630w-312g.bin.QCN6122 new file mode 100755 index 0000000000000000000000000000000000000000..1ce7599aad5d3ce6d43906815f745bd454f98cd2 GIT binary patch literal 131072 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 Q8Bhk40cAiLm?sAQKkfmGxc~qF literal 0 HcmV?d00001 diff --git a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds index 8c8ec1846..0b53c4358 100755 --- a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds +++ b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/01_leds @@ -24,6 +24,11 @@ cybertan,eww631-a1|\ cybertan,eww631-b1) ucidef_set_led_default "power" "POWER" "sys:blue" "on" ;; +cybertan,rap630w-312g) + ucidef_set_led_default "power" "POWER" "red:power" "on" + ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy0tpt" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy1tpt" + ;; sonicfi,rap630c-311g|\ sonicfi,rap630w-311g) ucidef_set_led_default "power" "POWER" "pwm:blue" "on" diff --git a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/02_network b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/02_network index 6f0accb86..bed9bc8bb 100755 --- a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/02_network +++ b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/board.d/02_network @@ -27,6 +27,10 @@ qcom_setup_interfaces() cybertan,eww631-b1) ucidef_add_switch "switch1" "5:wan" "2:lan" "3:lan" "4:lan" "6@eth0" ;; + cybertan,rap630w-312g) + ucidef_add_switch "switch1" \ + "6@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" + ;; udaya,a6-id2) ucidef_set_interface_wan "eth1" ucidef_set_interface_lan "eth0" diff --git a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/hotplug.d/firmware/10-ath11k-caldata index 22b1a2ce7..49c17f14a 100755 --- a/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/hotplug.d/firmware/10-ath11k-caldata +++ b/feeds/ipq807x_v5.4/ipq50xx/base-files/etc/hotplug.d/firmware/10-ath11k-caldata @@ -123,6 +123,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin) sonicfi,rap630w-311g|\ cybertan,eww631-a1|\ cybertan,eww631-b1|\ + cybertan,rap630w-312g|\ edgecore,eap104|\ edgecore,oap101|\ edgecore,oap101-6e|\ @@ -151,6 +152,7 @@ ath11k/qcn6122/hw1.0/caldata_1.bin) sonicfi,rap630w-311g|\ cybertan,eww631-a1|\ cybertan,eww631-b1|\ + cybertan,rap630w-312g|\ edgecore,oap101|\ edgecore,oap101-6e|\ edgecore,oap101e|\ @@ -217,6 +219,7 @@ ath11k-macs) optimcloud,d60-5g|\ optimcloud,d50|\ optimcloud,d50-5g|\ + cybertan,rap630w-312g|\ yuncore,fap655) ath11k_generate_macs ;; diff --git a/feeds/ipq807x_v5.4/ipq50xx/base-files/lib/upgrade/platform.sh b/feeds/ipq807x_v5.4/ipq50xx/base-files/lib/upgrade/platform.sh index 788cc2e9a..461772f31 100755 --- a/feeds/ipq807x_v5.4/ipq50xx/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x_v5.4/ipq50xx/base-files/lib/upgrade/platform.sh @@ -74,6 +74,7 @@ platform_check_image() { sonicfi,rap630w-311g|\ cybertan,eww631-a1|\ cybertan,eww631-b1|\ + cybertan,rap630w-312g|\ edgecore,eap104|\ wallys,dr5018|\ hfcl,ion4x_w|\ @@ -145,16 +146,17 @@ platform_do_upgrade() { sonicfi,rap630c-311g|\ sonicfi,rap630w-311g|\ cybertan,eww631-a1|\ - cybertan,eww631-b1) + cybertan,eww631-b1|\ + cybertan,rap630w-312g) boot_part=$(fw_printenv bootfrom | cut -d = -f2) - echo "Current bootfrom is $boot_part" - if [[ $boot_part == 1 ]]; then - CI_UBIPART="rootfs" - CI_FWSETENV="bootfrom 0" - else - CI_UBIPART="rootfs_1" - CI_FWSETENV="bootfrom 1" - fi + echo "Current bootfrom is $boot_part" + if [[ $boot_part == 1 ]]; then + CI_UBIPART="rootfs" + CI_FWSETENV="bootfrom 0" + elif [[ $boot_part == 0 ]]; then + CI_UBIPART="rootfs_1" + CI_FWSETENV="bootfrom 1" + fi nand_upgrade_tar "$1" ;; esac diff --git a/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-312g.dts b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-312g.dts new file mode 100755 index 000000000..17f168a49 --- /dev/null +++ b/feeds/ipq807x_v5.4/ipq50xx/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-rap630w-312g.dts @@ -0,0 +1,925 @@ +/dts-v1/; +/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. + * + * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ipq5018.dtsi" +#include + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "Cybertan RAP630W-312G"; + compatible = "cybertan,rap630w-312g", "qcom,ipq5018-mp03.3", "qcom,ipq5018"; + interrupt-parent = <&intc>; + + aliases { + sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; + bootargs-append = " swiotlb=1 coherent_pool=2M"; + stdout-path = "serial0"; + }; + + reserved-memory { + #ifdef __IPQ_MEM_PROFILE_256_MB__ + /* 256 MB Profile + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 8MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x40800000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 13MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D100000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D300000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E000000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E100000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E200000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4EF00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F000000 | 1MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4100000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x1400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xD00000>; + }; + + m3_dump: m3_dump@4D100000 { + no-map; + reg = <0x0 0x4D100000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E000000 { + no-map; + reg = <0x0 0x4E000000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E100000 { + no-map; + reg = <0x0 0x4E100000 0x0 0x100000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E200000 { + no-map; + reg = <0x0 0x4E200000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4EF00000 { + no-map; + reg = <0x0 0x4EF00000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F000000 { + no-map; + reg = <0x0 0x4F000000 0x0 0x100000>; + }; + #else + /* 512MB/1GB Profiles + * +==========+==============+=========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +----------+--------------+-------------------------+ + * | NSS | 0x40000000 | 16MB | + * +----------+--------------+-------------------------+ + * | Linux | 0x41000000 | Depends on total memory | + * +----------+--------------+-------------------------+ + * | uboot | 0x4A600000 | 4MB | + * +----------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +----------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +----------+--------------+-------------------------+ + * | TZ | 0x4AC00000 | 4MB | + * +----------+--------------+-------------------------+ + * | Q6 | | | + * | code/ | 0x4B000000 | 20MB | + * | data | | | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | data | 0x4C400000 | 13MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D100000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | Caldb | 0x4D300000 | 2MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D500000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | Caldb | 0x4E400000 | 5MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E900000 | 13MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4F600000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F700000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | Caldb | 0x4F800000 | 5MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4D00000>; + }; + + q6_code_data: q6_code_data@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 01400000>; + }; + + q6_ipq5018_data: q6_ipq5018_data@4C400000 { + no-map; + reg = <0x0 0x4C400000 0x0 0xD00000>; + }; + + m3_dump: m3_dump@4D100000 { + no-map; + reg = <0x0 0x4D100000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_caldb_region: q6_caldb_region@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0x200000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D500000 { + no-map; + reg = <0x0 0x4D500000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E200000 { + no-map; + reg = <0x0 0x4E200000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E300000 { + no-map; + reg = <0x0 0x4E300000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E400000 { + no-map; + reg = <0x0 0x4E400000 0x0 0x500000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { + no-map; + reg = <0x0 0x4E900000 0x0 0xD00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F600000 { + no-map; + reg = <0x0 0x4F600000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F700000 { + no-map; + reg = <0x0 0x4F700000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4F800000 { + no-map; + reg = <0x0 0x4F800000 0x0 0x500000>; + }; + + #endif + }; + + soc { + serial@78af000 { + status = "ok"; + }; + + blsp1_uart2: serial@78b0000 { + pinctrl-0 = <&blsp1_uart_pins>; + pinctrl-names = "default"; + status = "disabled"; + }; + + qpic_bam: dma@7984000{ + status = "ok"; + }; + + nand: qpic-nand@79b0000 { + pinctrl-0 = <&qspi_nand_pins>; + pinctrl-names = "default"; + status = "ok"; + }; + + spi_0: spi@78b5000 { /* BLSP1 QUP0 */ + pinctrl-0 = <&blsp0_spi_pins>; + pinctrl-names = "default"; + cs-select = <0>; + status = "ok"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "n25q128a11"; + linux,modalias = "m25p80", "n25q128a11"; + spi-max-frequency = <50000000>; + use-default-sizes; + }; + }; + + mdio0: mdio@88000 { + status = "ok"; + + ethernet-phy@0 { + reg = <7>; + }; + }; + + mdio1: mdio@90000 { + status = "ok"; + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 16 0>; + ethernet-phy@0 { + reg = <0>; + }; + + ethernet-phy@1 { + reg = <1>; + }; + + ethernet-phy@2 { + reg = <2>; + }; + + ethernet-phy@3 { + reg = <3>; + }; + ethernet-phy@4 { + reg = <4>; + }; + }; + + ess-instance { + num_devices = <0x2>; + ess-switch@0x39c00000 { + compatible = "qcom,ess-switch-ipq50xx"; + device_id = <0>; + switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ + cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <7>; + phy_dac = <0x10 0x10>; + mdiobus = <&mdio0>; + }; + port@1 { + mdio-bus = <&mdio0>; + port_id = <2>; + forced-speed = <1000>; + forced-duplex = <1>; + }; + }; + led_source@0 { + source = <0>; + mode = "normal"; + speed = "all"; + blink_en = "enable"; + active = "high"; + }; + }; + ess-switch1@1 { + compatible = "qcom,ess-switch-qca83xx"; + device_id = <1>; + switch_access_mode = "mdio"; + mdio-bus = <&mdio1>; + reset_gpio = <&tlmm 0x10 0>; /* gpio 16 */ + switch_cpu_bmp = <0x40>; /* cpu port bitmap */ + switch_lan_bmp = <0x3e>; /* lan port bitmap */ + switch_wan_bmp = <0x0>; /* wan port bitmap */ + qca,ar8327-initvals = < + 0x00004 0x7600000 /* PAD0_MODE */ + 0x00008 0x1000000 /* PAD5_MODE */ + 0x0000c 0x80 /* PAD6_MODE */ + 0x00010 0x2613a0 /* PORT6 FORCE MODE*/ + 0x000e4 0xaa545 /* MAC_POWER_SEL */ + 0x000e0 0xc74164de /* SGMII_CTRL */ + 0x0007c 0x4e /* PORT0_STATUS */ + 0x00094 0x4e /* PORT6_STATUS */ + >; + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + port@1 { + port_id = <2>; + phy_address = <1>; + }; + port@2 { + port_id = <3>; + phy_address = <2>; + }; + port@3 { + port_id = <4>; + phy_address = <3>; + }; + port@4 { + port_id = <5>; + phy_address = <4>; + }; + }; + }; + }; + + wifi0: wifi@c000000 { + status = "ok"; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <1>; + reg = <0x39C00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <7>; + mdio-bus = <&mdio0>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <2>; + reg = <0x39D00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + mdio-bus = <&mdio1>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + }; + + nss-macsec1 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x1c>; + mdiobus = <&mdio1>; + }; + }; + + qcom,test@0 { + status = "ok"; + }; + + thermal-zones { + status = "ok"; + }; +}; + +&tlmm { + pinctrl-0 = <&blsp0_uart_pins>; + pinctrl-names = "default"; + + blsp0_uart_pins: uart_pins { + blsp0_uart_rx_tx { + pins = "gpio20", "gpio21"; + function = "blsp0_uart0"; + bias-disable; + }; + }; + + blsp1_uart_pins: blsp1_uart_pins { + blsp1_uart_rx_tx { + pins = "gpio23", "gpio25", "gpio24", "gpio26"; + function = "blsp1_uart2"; + bias-disable; + }; + }; + + blsp0_spi_pins: blsp0_spi_pins { + mux { + pins = "gpio10", "gpio11", "gpio12", "gpio13"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-disable; + }; + }; + + qspi_nand_pins: qspi_nand_pins { + qspi_clock { + pins = "gpio9"; + function = "qspi_clk"; + drive-strength = <8>; + bias-disable; + }; + + qspi_cs { + pins = "gpio8"; + function = "qspi_cs"; + drive-strength = <8>; + bias-disable; + }; + + qspi_data { + pins = "gpio4", "gpio5", "gpio6", "gpio7"; + function = "qspi_data"; + drive-strength = <8>; + bias-disable; + }; + }; + + mdio1_pins: mdio_pinmux { + mux_0 { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mux_1 { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + +// phy_led_pins: phy_led_pins { +// gephy_led_pin { +// pins = "gpio50"; +// function = "led0"; +// drive-strength = <8>; +// bias-pull-down; +// }; +// }; + + button_pins: button_pins { + wps_button { + pins = "gpio38"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + leds_pins: leds_pins { + led_sys { + pins = "gpio24"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + led_5g { + pins = "gpio22"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + + led_2g { + pins = "gpio23"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_onekey { + pins = "gpio46"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + button@1 { + label = "restart"; + linux,code = ; + gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led_power: led24 { + label = "red:power"; + gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + linux,default-trigger = "default-on"; + default-state = "on"; + }; + + led22 { + label = "green:wifi5"; + gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; + linux,default-trigger = "default-on"; + default-state = "off"; + }; + + led23 { + label = "green:wifi2"; + gpios = <&tlmm 23 GPIO_ACTIVE_LOW>; + linux,default-trigger = "default-on"; + default-state = "off"; + }; + led46 { + label = "led_onekey"; + gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; + linux,default-trigger = "led_onekey"; + default-state = "off"; + }; + }; + + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + wps { + label = "reset"; + linux,code = ; + gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; +}; + +&q6v5_wcss { + compatible = "qcom,ipq5018-q6-mpd"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + firmware = "IPQ5018/q6_fw.mdt"; + reg = <0x0cd00000 0x4040>, + <0x1938000 0x8>, + <0x193d204 0x4>; + reg-names = "qdsp6", + "tcsr-msip", + "tcsr-q6"; + resets = <&gcc GCC_WCSSAON_RESET>, + <&gcc GCC_WCSS_Q6_BCR>; + + reset-names = "wcss_aon_reset", + "wcss_q6_reset"; + + clocks = <&gcc GCC_Q6_AXIS_CLK>, + <&gcc GCC_WCSS_ECAHB_CLK>, + <&gcc GCC_Q6_AXIM_CLK>, + <&gcc GCC_Q6_AXIM2_CLK>, + <&gcc GCC_Q6_AHB_CLK>, + <&gcc GCC_Q6_AHB_S_CLK>, + <&gcc GCC_WCSS_AXI_S_CLK>; + clock-names = "gcc_q6_axis_clk", + "gcc_wcss_ecahb_clk", + "gcc_q6_axim_clk", + "gcc_q6_axim2_clk", + "gcc_q6_ahb_clk", + "gcc_q6_ahb_s_clk", + "gcc_wcss_axi_s_clk"; + + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_mem_regions>, <&q6_etr_region>; + #else + memory-region = <&q6_mem_regions>, <&q6_etr_region>, + <&q6_caldb_region>; + #endif + + qcom,rproc = <&q6v5_wcss>; + qcom,bootargs_smem = <507>; + boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, + <0x2 0x4 0x2 0x12 0x0 0x0>; + status = "ok"; + q6_wcss_pd1: remoteproc_pd1@4ab000 { + compatible = "qcom,ipq5018-wcss-ahb-mpd"; + reg = <0x4ab000 0x20>; + reg-names = "rmb"; + firmware = "IPQ5018/q6_fw.mdt"; + m3_firmware = "IPQ5018/m3_fw.mdt"; + 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"; + + 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"; + + qcom,halt-regs = <&tcsr_q6_block 0xa000 0xd000 0x0>; + + qcom,smem-states = <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>; + #else + memory-region = <&q6_ipq5018_data>, <&m3_dump>, + <&q6_etr_region>, <&q6_caldb_region>; + #endif + + }; + + q6_wcss_pd2: remoteproc_pd2 { + compatible = "qcom,ipq5018-wcss-pcie-mpd"; + firmware = "IPQ5018/q6_fw.mdt"; + m3_firmware = "qcn6122/m3_fw.mdt"; + interrupts-extended = <&wcss_smp2p_in 16 0>, + <&wcss_smp2p_in 17 0>, + <&wcss_smp2p_in 20 0>, + <&wcss_smp2p_in 19 0>; + interrupt-names = "fatal", + "ready", + "spawn-ack", + "stop-ack"; + + qcom,smem-states = <&wcss_smp2p_out 16>, + <&wcss_smp2p_out 17>, + <&wcss_smp2p_out 18>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>; + #else + memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, + <&q6_qcn6122_etr_1>, <&q6_qcn6122_caldb_1>; + #endif + + }; + + q6_wcss_pd3: remoteproc_pd3 { + compatible = "qcom,ipq5018-wcss-pcie-mpd"; + firmware = "IPQ5018/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"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>; + #else + memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, + <&q6_qcn6122_etr_2>, <&q6_qcn6122_caldb_2>; + #endif + }; +}; + +&wifi0 { + /* IPQ5018 */ + qcom,multipd_arch; + qcom,rproc = <&q6_wcss_pd1>; + qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x23>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; + qcom,caldb-addr = <0x4D300000 0x4D300000 0 0 0>; + qcom,caldb-size = <0x200000>; + mem-region = <&q6_ipq5018_data>; +#else + memory-region = <&q6_ipq5018_data>; +#endif + status = "ok"; +}; + +&wifi1 { + /* QCN6122 5G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; + qcom,rproc = <&q6_wcss_pd2>; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x60>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4D500000 0x4D500000 0x4D300000 0x0 0x0>; + qcom,caldb-addr = <0x4E400000 0x4E400000 0 0 0>; + qcom,caldb-size = <0x500000>; + mem-region = <&q6_qcn6122_data1>; +#else + memory-region = <&q6_qcn6122_data1>; +#endif + status = "ok"; +}; + +&wifi2 { + /* QCN6122 6G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; + qcom,rproc = <&q6_wcss_pd3>; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0xb0>; +#ifdef __CNSS2__ + qcom,bdf-addr = <0x4E900000 0x4E900000 0x4E200000 0x0 0x0>; + qcom,caldb-addr = <0x4F800000 0x4F800000 0 0 0>; + qcom,caldb-size = <0x500000>; + mem-region = <&q6_qcn6122_data2>; +#else + memory-region = <&q6_qcn6122_data2>; +#endif + status = "disabled"; +}; + +&usb3 { + status = "ok"; + /* device-power-gpio = <&tlmm 24 1>; */ +}; + +&dwc_0 { + /delete-property/ #phy-cells; + /delete-property/ phys; + /delete-property/ phy-names; +}; + +&hs_m31phy_0 { + status = "ok"; +}; + +&eud { + status = "ok"; +}; + +&pcie_x1 { + perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>; +}; + +&pcie_x2 { + perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; +}; + +&pcie_x1_rp { + status = "disabled"; + + mhi_0: qcom,mhi@0 { + reg = <0 0 0 0 0 >; + }; +}; + +&pcie_x2_rp { + status = "disabled"; + + mhi_1: qcom,mhi@1 { + reg = <0 0 0 0 0 >; + + }; +}; diff --git a/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk b/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk old mode 100644 new mode 100755 index 40d84a394..c3ce88a47 --- a/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk +++ b/feeds/ipq807x_v5.4/ipq50xx/image/ipq50xx.mk @@ -40,6 +40,17 @@ define Device/cybertan_eww631_b1 endef TARGET_DEVICES += cybertan_eww631_b1 +define Device/cybertan_rap630w_312g + DEVICE_TITLE := CyberTan RAP630W-312G + DEVICE_DTS := qcom-ipq5018-rap630w-312g + SUPPORTED_DEVICES := cybertan,rap630w-312g + DEVICE_PACKAGES := ath11k-wifi-cybertan-rap630w-312g ath11k-firmware-ipq50xx-map-spruce \ + -kmod-usb-dwc3-of-simple kmod-usb-dwc3-qcom kmod-usb3 \ + kmod-usb-uas kmod-fs-msdos kmod-fs-ntfs + DEVICE_DTS_CONFIG := config@mp03.3 +endef +TARGET_DEVICES += cybertan_rap630w_312g + define Device/sonicfi_rap630c_311g DEVICE_TITLE := Sonicfi RAP630C-311G DEVICE_DTS := qcom-ipq5018-rap630c-311g diff --git a/feeds/ipq807x_v5.4/ipq50xx/modules.mk b/feeds/ipq807x_v5.4/ipq50xx/modules.mk old mode 100644 new mode 100755 index 05c753aba..3f3d1c7aa --- a/feeds/ipq807x_v5.4/ipq50xx/modules.mk +++ b/feeds/ipq807x_v5.4/ipq50xx/modules.mk @@ -52,6 +52,183 @@ define KernelPackage/tpm-tis-i2c/description endef $(eval $(call KernelPackage,tpm-tis-i2c)) +define KernelPackage/usb-dwc3-internal + TITLE:=DWC3 USB controller driver + DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget + KCONFIG:= \ + CONFIG_USB_DWC3 \ + CONFIG_USB_DWC3_HOST=n \ + CONFIG_USB_DWC3_GADGET=n \ + CONFIG_USB_DWC3_DUAL_ROLE=y \ + CONFIG_EXTCON=y \ + CONFIG_USB_DWC3_DEBUG=n \ + CONFIG_USB_DWC3_VERBOSE=n + FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko + AUTOLOAD:=$(call AutoLoad,84,dwc3) + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-dwc3-internal/description + This driver provides support for the Dual Role SuperSpeed + USB Controller based on the Synopsys DesignWare USB3 IP Core +endef + +$(eval $(call KernelPackage,usb-dwc3-internal)) + +define KernelPackage/usb-dwc3-qcom-internal + TITLE:=DWC3 QTI USB driver + DEPENDS:=@!LINUX_4_14 @(TARGET_ipq40xx||TARGET_ipq806x||TARGET_ipq807x||TARGET_ipq60xx||TARGET_ipq95xx||TARGET_ipq50xx||TARGET_ipq53xx) +kmod-usb-dwc3-internal + KCONFIG:= CONFIG_USB_DWC3_QCOM + FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko + AUTOLOAD:=$(call AutoLoad,83,dwc3-qcom) + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-dwc3-qcom-internal/description + Some QTI SoCs use DesignWare Core IP for USB2/3 functionality. + This driver also handles Qscratch wrapper which is needed for + peripheral mode support. +endef + +$(eval $(call KernelPackage,usb-dwc3-qcom-internal)) + +define KernelPackage/usb-configfs + TITLE:= USB functions + KCONFIG:=CONFIG_USB_CONFIGFS \ + CONFIG_USB_CONFIGFS_SERIAL=n \ + CONFIG_USB_CONFIGFS_ACM=n \ + CONFIG_USB_CONFIGFS_OBEX=n \ + CONFIG_USB_CONFIGFS_NCM=n \ + CONFIG_USB_CONFIGFS_ECM=n \ + CONFIG_USB_CONFIGFS_ECM_SUBSET=n \ + CONFIG_USB_CONFIGFS_RNDIS=n \ + CONFIG_USB_CONFIGFS_EEM=n \ + CONFIG_USB_CONFIGFS_MASS_STORAGE=n \ + CONFIG_USB_CONFIGFS_F_LB_SS=n \ + CONFIG_USB_CONFIGFS_F_FS=n \ + CONFIG_USB_CONFIGFS_F_UAC1=n \ + CONFIG_USB_CONFIGFS_F_UAC2=n \ + CONFIG_USB_CONFIGFS_F_MIDI=n \ + CONFIG_USB_CONFIGFS_F_HID=n \ + CONFIG_USB_CONFIGFS_F_PRINTER=n \ + CONFIG_USB_CONFIGFS_F_QDSS=n + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-configfs/description + USB functions +endef + +$(eval $(call KernelPackage,usb-configfs)) + +define KernelPackage/usb-f-diag + TITLE:=USB DIAG + KCONFIG:=CONFIG_USB_F_DIAG \ + CONFIG_USB_CONFIGFS_F_DIAG=y \ + CONFIG_DIAG_OVER_USB=y + DEPENDS:=+kmod-usb-lib-composite +kmod-usb-configfs + FILES:=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_diag.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_diag) + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-f-diag/description + USB DIAG +endef + +$(eval $(call KernelPackage,usb-f-diag)) + +define KernelPackage/usb-uas + TITLE:=USB Attched SCSI support + DEPENDS:= +kmod-scsi-core +kmod-usb-storage + KCONFIG:=CONFIG_USB_UAS + FILES:=$(LINUX_DIR)/drivers/usb/storage/uas.ko + AUTOLOAD:=$(call AutoProbe,uas) + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-uas/description + Kernel support for USB Attached SCSI devices (UAS) +endef + +$(eval $(call KernelPackage,usb-uas)) + + +define KernelPackage/diag-char + TITLE:=CHAR DIAG + KCONFIG:= CONFIG_DIAG_MHI=y@ge5.4 \ + CONFIG_DIAG_OVER_PCIE=n@ge5.4 \ + CONFIG_DIAGFWD_BRIDGE_CODE=y \ + CONFIG_DIAG_CHAR + DEPENDS:=+kmod-lib-crc-ccitt +USB_CONFIGFS_F_DIAG:kmod-usb-f-diag +USB_CONFIGFS_F_DIAG:kmod-usb-core + FILES:=$(LINUX_DIR)/drivers/char/diag/diagchar.ko +ifneq (,$(findstring $(CONFIG_KERNEL_IPQ_MEM_PROFILE), 256)$(CONFIG_LOWMEM_FLASH)) + AUTOLOAD:= +else + AUTOLOAD:=$(call AutoLoad,52,diagchar) +endif +endef + +define KernelPackage/diag-char/description + CHAR DIAG +endef + +$(eval $(call KernelPackage,diag-char)) + +define KernelPackage/usb-f-qdss + TITLE:=USB QDSS + KCONFIG:=CONFIG_USB_F_QDSS \ + CONFIG_USB_CONFIGFS_F_QDSS=y + DEPENDS:=@TARGET_ipq807x||TARGET_ipq60xx||TARGET_ipq_ipq807x||TARGET_ipq_ipq807x_64||TARGET_ipq_ipq60xx||TARGET_ipq_ipq60xx_64||TARGET_ipq_ipq50xx||TARGET_ipq_ipq50xx_64 +kmod-usb-lib-composite +kmod-usb-configfs +kmod-lib-crc-ccitt +kmod-usb-dwc3 +TARGET_ipq_ipq60xx:kmod-usb-dwc3-qcom +TARGET_ipq_ipq60xx_64:kmod-usb-dwc3-qcom +TARGET_ipq_ipq50xx:kmod-usb-dwc3-qcom +TARGET_ipq_ipq50xx_64:kmod-usb-dwc3-qcom +TARGET_ipq_ipq807x:kmod-usb-dwc3-of-simple +TARGET_ipq_ipq807x_64:kmod-usb-dwc3-of-simple +TARGET_ipq60xx:kmod-usb-dwc3-qcom +TARGET_ipq60xx:kmod-usb-dwc3-of-simple +TARGET_ipq807x:kmod-usb-dwc3-qcom +TARGET_ipq807x:kmod-usb-dwc3-of-simple + FILES:=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_qdss.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/u_qdss.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_qdss) + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-f-qdss/description + USB QDSS +endef + +$(eval $(call KernelPackage,usb-f-qdss)) + +define KernelPackage/usb-gdiag + TITLE:=USB GDIAG support + KCONFIG:=CONFIG_USB_G_DIAG + FILES:=\ + $(LINUX_DIR)/drivers/usb/gadget/legacy/g_diag.ko + AUTOLOAD:=$(call AutoLoad,52,g_diag) + DEPENDS:=@TARGET_ipq807x||TARGET_ipq60xx||TARGET_ipq95xx||TARGET_ipq_ipq60xx||TARGET_ipq_ipq60xx_64||TARGET_ipq50xx||TARGET_ipq53xx +kmod-usb-gadget +kmod-usb-lib-composite + $(call AddPlatformDepends/usb) +endef + +define KernelPackage/usb-gdiag/description + Kernel support for USB gdiag mode +endef + +$(eval $(call KernelPackage,usb-gdiag)) + +define KernelPackage/usb-phy-ipq5018 + TITLE:=DWC3 USB PHY driver for IPQ5018 + DEPENDS:=@TARGET_ipq50xx||TARGET_ipq53xx + KCONFIG:= \ + CONFIG_USB_QCA_M31_PHY \ + CONFIG_PHY_IPQ_UNIPHY_USB + FILES:= \ + $(LINUX_DIR)/drivers/usb/phy/phy-qca-m31.ko \ + $(LINUX_DIR)/drivers/phy/phy-qca-uniphy.ko@le4.4 \ + $(LINUX_DIR)/drivers/phy/qualcomm/phy-qca-uniphy.ko@ge5.4 + AUTOLOAD:=$(call AutoLoad,85,phy-qca-m31 phy-qca-uniphy) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-phy-ipq5018/description + This driver provides support for the USB PHY drivers + within the IPQ5018 SoCs. +endef + +$(eval $(call KernelPackage,usb-phy-ipq5018)) + define KernelPackage/bootconfig SUBMENU:=Other modules TITLE:=Bootconfig partition for failsafe diff --git a/patches/0081-ipq50xx-fix-compile-error-with-scsi-core.patch b/patches/0081-ipq50xx-fix-compile-error-with-scsi-core.patch new file mode 100755 index 000000000..378f66f2e --- /dev/null +++ b/patches/0081-ipq50xx-fix-compile-error-with-scsi-core.patch @@ -0,0 +1,28 @@ +From c3b15680de7b17c2c67c9d523463d8689cb811e0 Mon Sep 17 00:00:00 2001 +From: "wingate.chi" +Date: Mon, 2 Dec 2024 03:16:27 +0000 +Subject: [PATCH] ipq50xx: fix compile error of scsi-core\n this is reference + qsdk 12.2 SPF + +--- + package/kernel/linux/modules/block.mk | 1 - + 1 file changed, 1 deletion(-) + mode change 100644 => 100755 package/kernel/linux/modules/block.mk + +diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk +old mode 100644 +new mode 100755 +index 4ee3f78f38..5e8c69a202 +--- a/package/kernel/linux/modules/block.mk ++++ b/package/kernel/linux/modules/block.mk +@@ -525,7 +525,6 @@ define KernelPackage/scsi-core + CONFIG_BLK_DEV_SD + FILES:= \ + $(LINUX_DIR)/drivers/scsi/scsi_mod.ko \ +- $(LINUX_DIR)/drivers/scsi/scsi_common.ko \ + $(LINUX_DIR)/drivers/scsi/sd_mod.ko + AUTOLOAD:=$(call AutoLoad,40,scsi_mod scsi_common sd_mod,1) + endef +-- +2.17.1 + diff --git a/profiles/cybertan_rap630w-312g.yml b/profiles/cybertan_rap630w-312g.yml new file mode 100755 index 000000000..30c83805e --- /dev/null +++ b/profiles/cybertan_rap630w-312g.yml @@ -0,0 +1,17 @@ +--- +profile: cybertan_rap630w_312g +target: ipq50xx +subtarget: generic +description: Build image for the Cybertan Wallmount EAP RAP630W-312G +image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-cybertan_rap630w_312g-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x_v5.4 +packages: + - ipq50xx + - e2fsprogs + - losetup +include: + - ucentral-ap +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=512