From 2d1bbeedd9543d2b36239b83500b0ce6d4714d29 Mon Sep 17 00:00:00 2001 From: Gg Date: Fri, 21 Jul 2023 14:16:14 +0800 Subject: [PATCH] ipq807x: Add the corresponding software content for the hardware device Fixes: WIFI-12804 Signed-off-by: Gg --- .../ipq807x/base-files/etc/board.d/02_network | 13 + .../etc/hotplug.d/firmware/10-ath11k-caldata | 3 + .../base-files/lib/upgrade/platform.sh | 2 + .../boot/dts/qcom-ipq5018-wallys-dr5018.dts | 10 + .../dts/qcom/qcom-ipq5018-wallys-dr5018.dts | 984 ++++++++++++++++++ feeds/ipq807x/ipq807x/image/ipq50xx.mk | 9 + feeds/wifi-ax/ath11k-wifi/Makefile | 2 + .../board-wallys-dr5018.bin.IPQ5018 | Bin 0 -> 131072 bytes .../board-wallys-dr5018.bin.QCN6122 | Bin 0 -> 131072 bytes profiles/wallys_dr5018.yml | 14 + 10 files changed, 1037 insertions(+) create mode 100755 feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-wallys-dr5018.dts create mode 100755 feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-wallys-dr5018.dts create mode 100755 feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.IPQ5018 create mode 100755 feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.QCN6122 create mode 100644 profiles/wallys_dr5018.yml diff --git a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network index 61019712d..8ded2d8ef 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network +++ b/feeds/ipq807x/ipq807x/base-files/etc/board.d/02_network @@ -135,6 +135,12 @@ qcom_setup_interfaces() ucidef_add_switch_attr "switch1" "enable" "false" ucidef_add_switch_attr "switch1" "reset" "true" ;; + wallys,dr5018) + ucidef_set_interface_lan "eth0 eth1" + ucidef_add_switch "switch1" + ucidef_add_switch_attr "switch1" "enable" "false" + ucidef_add_switch_attr "switch1" "reset" "true" + ;; yuncore,fap655) ucidef_add_switch "switch1" \ "6@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" @@ -241,6 +247,13 @@ qcom_setup_macs() wan_mac=$(cat /sys/class/net/eth0/address) lan_mac=$(macaddr_add "$wan_mac" 1) ;; + wallys,dr5018) + mac=$(grep -i -m 1 BaseMacAddress= /dev/`cat /proc/mtd | grep APPSBLENV | cut -d: -f1` | cut -d= -f2) + [ -z "$mac"] && mac="00:11:22:33:44:00" + wan_mac=$(macaddr_canonicalize $mac) + ucidef_set_network_device_mac eth0 $wan_mac + ucidef_set_label_macaddr $wan_mac + ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac diff --git a/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata index 46e050eba..7cd81a6fa 100755 --- a/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata +++ b/feeds/ipq807x/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata @@ -162,6 +162,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin) cybertan,eww622-a1|\ cybertan,eww631-a1|\ cybertan,eww631-b1|\ + wallys,dr5018|\ edgecore,eap104|\ yuncore,fap655|\ hfcl,ion4xi_w|\ @@ -179,6 +180,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin) ath11k/qcn6122/hw1.0/caldata_1.bin) case "$board" in cig,wf186w|\ + wallys,dr5018|\ hfcl,ion4xi_w|\ hfcl,ion4x_w|\ hfcl,ion4xi_HMR|\ @@ -193,6 +195,7 @@ ath11k/qcn6122/hw1.0/caldata_1.bin) ath11k/qcn6122/hw1.0/caldata_2.bin) case "$board" in motorola,q14|\ + wallys,dr5018|\ cybertan,eww631-a1|\ cybertan,eww631-b1|\ edgecore,eap104|\ diff --git a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh index 2f6e7e879..11bf943ed 100755 --- a/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh +++ b/feeds/ipq807x/ipq807x/base-files/lib/upgrade/platform.sh @@ -125,6 +125,7 @@ platform_check_image() { indio,um-310ax-v1|\ indio,um-510axp-v1|\ indio,um-510axm-v1|\ + wallys,dr5018|\ wallys,dr6018|\ wallys,dr6018-v4|\ edgecore,eap101|\ @@ -197,6 +198,7 @@ platform_do_upgrade() { xunison,d50|\ xunison,d50-5g|\ qcom,ipq5018-mp03.3|\ + wallys,dr5018|\ wallys,dr6018|\ wallys,dr6018-v4|\ yuncore,fap650|\ diff --git a/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-wallys-dr5018.dts b/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-wallys-dr5018.dts new file mode 100755 index 000000000..4f87b6303 --- /dev/null +++ b/feeds/ipq807x/ipq807x/files/arch/arm/boot/dts/qcom-ipq5018-wallys-dr5018.dts @@ -0,0 +1,10 @@ +#include "../../../arm64/boot/dts/qcom/qcom-ipq5018-wallys-dr5018.dts" + +/ { + model = "Wallys DR5018"; + compatible = "wallys,dr5018", "qcom,ipq5018"; + + pmuv8: pmu { + compatible = "arm,cortex-a7-pmu"; + }; +}; diff --git a/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-wallys-dr5018.dts b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-wallys-dr5018.dts new file mode 100755 index 000000000..49f4a8c87 --- /dev/null +++ b/feeds/ipq807x/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq5018-wallys-dr5018.dts @@ -0,0 +1,984 @@ +/dts-v1/; +/* Copyright (c) 2018-2020, The Linux Foundation. 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 "qcom-ipq5018.dtsi" + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "Qualcomm Technologies, Inc. IPQ5018/AP-MP03.5-C1"; + compatible = "qcom,ipq5018-mp03.5-c1", "qcom,ipq5018"; + interrupt-parent = <&intc>; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + AUTO_MOUNT; + #endif + + aliases { + sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + }; + + chosen { + bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; + #ifdef __IPQ_MEM_PROFILE_256_MB__ + bootargs-append = " swiotlb=1"; + #else + bootargs-append = " swiotlb=1 coherent_pool=2M"; + #endif + 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 | 15MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E200000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4E400000 | 15MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4F300000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4F400000 | 1MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x4500000>; + }; + + 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 0xF00000>; + }; + + 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_data2: q6_qcn6122_data2@4E400000 { + no-map; + reg = <0x0 0x4E400000 0x0 0xF00000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F300000 { + no-map; + reg = <0x0 0x4F300000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F400000 { + no-map; + reg = <0x0 0x4F400000 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 | 14MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | M3 Dump | 0x4D200000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | QDSS | 0x4D300000 | 1MB | + * +----------+--------------+-------------------------+ + * | IPQ5018 | | | + * | Caldb | 0x4D400000 | 2MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | data | 0x4D600000 | 16MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | M3 Dump | 0x4E600000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | QDSS | 0x4E700000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_1| | | + * | Caldb | 0x4E800000 | 5MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | data | 0x4ED00000 | 16MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | M3 Dump | 0x4FD00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | QDSS | 0x4FE00000 | 1MB | + * +----------+--------------+-------------------------+ + * | QCN6122_2| | | + * | Caldb | 0x4FF00000 | 5MB | + * +----------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +===================================================+ + */ + q6_mem_regions: q6_mem_regions@4B000000 { + no-map; + reg = <0x0 0x4B000000 0x0 0x5400000>; + }; + + 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 0xE00000>; + }; + + m3_dump: m3_dump@4D200000 { + no-map; + reg = <0x0 0x4D200000 0x0 0x100000>; + }; + + q6_etr_region: q6_etr_dump@4D300000 { + no-map; + reg = <0x0 0x4D300000 0x0 0x100000>; + }; + + q6_caldb_region: q6_caldb_region@4D400000 { + no-map; + reg = <0x0 0x4D400000 0x0 0x200000>; + }; + + q6_qcn6122_data1: q6_qcn6122_data1@4D600000 { + no-map; + reg = <0x0 0x4D600000 0x0 0x1000000>; + }; + + m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E600000 { + no-map; + reg = <0x0 0x4E600000 0x0 0x100000>; + }; + + q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E700000 { + no-map; + reg = <0x0 0x4E700000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E800000 { + no-map; + reg = <0x0 0x4E800000 0x0 0x500000>; + }; + + q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { + no-map; + reg = <0x0 0x4ED00000 0x0 0x1000000>; + }; + + m3_dump_qcn6122_2: m3_dump_qcn6122_2@4FD00000 { + no-map; + reg = <0x0 0x4FD00000 0x0 0x100000>; + }; + + q6_qcn6122_etr_2: q6_qcn6122_etr_2@4FE00000 { + no-map; + reg = <0x0 0x4FE00000 0x0 0x100000>; + }; + + q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4FF00000 { + no-map; + reg = <0x0 0x4FF00000 0x0 0x500000>; + }; + + #endif + }; + + soc { + serial@78af000 { + status = "ok"; + }; + + blsp1_uart2: serial@78b0000 { + pinctrl-0 = <&blsp1_uart_pins>; + pinctrl-names = "default"; + }; + + 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 39 0>; + + ethernet-phy@0 { + reg = <0>; + }; + ethernet-phy@1 { + reg = <1>; + }; + ethernet-phy@2 { + reg = <2>; + }; + ethernet-phy@3 { + reg = <3>; + }; + + }; + + 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>; + }; + + port@1 { + 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 = <0x27>; + switch_cpu_bmp = <0x40>; + switch_lan_bmp = <0x1e>; + switch_wan_bmp = <0x0>; + qca,ar8327-initvals = < + 0x00004 0x7600000 + 0x00008 0x1000000 + 0x0000c 0x80 + 0x00010 0x2613a0 + 0x000e4 0xaa545 + 0x000e0 0xc74164de + 0x0007c 0x4e + 0x00094 0x4e + >; + 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>; + }; + }; + }; + + }; + + wifi0: wifi@c000000 { + qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 + 0x0 0x0>; + qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x4CA00000 + 0x0 0x0>; + qcom,caldb-size = <0x200000>; + status = "ok"; + }; + + ess-uniphy@98000 { + status = "ok"; + }; + + qcom,sps { + status = "ok"; + }; + + qcom,usbbam@8B04000 { + status = "ok"; + }; + + qcom,diag@0 { + 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>; + /* qcom,link-poll = <1>; + qcom,phy-mdio-addr = <0 1 2 3>; + mdio-bus = <&mdio1>; */ + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + }; + + qcom,test@0 { + status = "ok"; + }; + + lpass: lpass@0xA000000{ + status = "disabled"; + }; + + pcm: pcm@0xA3C0000{ + pinctrl-0 = <&audio_pins>; + pinctrl-names = "default"; + status = "disabled"; + }; + + pcm_lb: pcm_lb@0 { + status = "disabled"; + }; + }; + + thermal-zones { + status = "ok"; + }; +}; + +&tlmm { + pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; + pinctrl-names = "default"; + + blsp0_uart_pins: blsp0_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_0 { + pins = "gpio7"; + function = "qspi0"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_1 { + pins = "gpio6"; + function = "qspi1"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_2 { + pins = "gpio5"; + function = "qspi2"; + drive-strength = <8>; + bias-disable; + }; + qspi_data_3 { + pins = "gpio4"; + function = "qspi3"; + 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 = "gpio46"; + function = "led0"; + drive-strength = <8>; + bias-pull-down; + }; + }; + + i2c_pins: i2c_pins { + i2c_scl { + pins = "gpio25"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + + i2c_sda { + pins = "gpio26"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + }; + + button_pins: button_pins { + reset_button { + pins = "gpio28"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + audio_pins: audio_pinmux { + mux_1 { + pins = "gpio24"; + function = "audio_rxbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_2 { + pins = "gpio25"; + function = "audio_rxfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_3 { + pins = "gpio26"; + function = "audio_rxd"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_4 { + pins = "gpio27"; + function = "audio_txmclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_5 { + pins = "gpio28"; + function = "audio_txbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_6 { + pins = "gpio29"; + function = "audio_txfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_7 { + pins = "gpio30"; + function = "audio_txd"; + drive-strength = <8>; + bias-pull-down; + }; + }; + leds_pins: leds_pinmux { + sys_blue { + pins = "gpio30"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + sys_red { + pins = "gpio36"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + sys_green { + pins = "gpio37"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + button@1 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 28 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + gpio_leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led@30 { + label = "sys:blue"; + gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; /* GPIO_30 */ + default-state="on"; + /* linux,default-trigger = "timer"; + active-delay = <700>; + inactive-delay = <700>; + default-state="on"; */ + }; + led@36 { + label = "sys:red"; + gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; /* GPIO_36 */ + default-state="off"; + /* linux,default-trigger = "timer"; + active-delay = <700>; + inactive-delay = <700>; + default-state="on"; */ + }; + led@37 { + label = "sys:green"; + gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; /* GPIO_37 */ + default-state="off"; + /* linux,default-trigger = "timer"; + active-delay = <700>; + inactive-delay = <700>; + default-state="on"; */ + }; + }; + +}; + +&usb3 { + status = "disabled"; + device-power-gpio = <&tlmm 24 1>; +}; + +&eud { + status = "ok"; +}; + +&pcie_x1 { + status = "disabled"; + perst-gpio = <&tlmm 18 1>; +}; + +&pcie_x2 { + status = "disabled"; + perst-gpio = <&tlmm 15 1>; +}; + +&bt { + status = "ok"; +}; + +&dwc_0 { + /delete-property/ #phy-cells; + /delete-property/ phys; + /delete-property/ phy-names; +}; + +&hs_m31phy_0 { + status = "ok"; +}; + +&pcie_x1phy { + status = "disabled"; +}; + +&pcie_x2phy { + status = "disabled"; +}; + +&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 >; + + }; +}; + +&qfprom { + status = "ok"; +}; + +&tsens { + status = "ok"; +}; + +&qcom_q6v5_wcss { + qcom,multipd_arch; + memory-region = <&q6_mem_regions>; + qcom,share_bootargs; + qcom,bootargs_smem = <507>; + boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, + <0x2 0x4 0x2 0x12 0x0 0x0>; + /* IPQ5018 */ + q6v5_wcss_userpd1 { + 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"; + qcom,smem-states = <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + qca,asid = <1>; + qca,auto-restart; + qca,int_radio; + #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 + }; + + /* QCN6122 6G */ + q6v5_wcss_userpd2 { + 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"; + qca,asid = <2>; + qca,auto-restart; + #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 + }; + + /* QCN6122 5G */ + q6v5_wcss_userpd3 { + m3_firmware = "qcn6122/m3_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"; + qca,asid = <3>; + qca,auto-restart; + #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 + }; +}; + +&i2c_0 { + pinctrl-0 = <&i2c_pins>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&qgic_msi_0 { + status = "ok"; +}; + +&qgic_msi_1 { + status = "ok"; +}; + +&wifi0 { + /* IPQ5018 */ + qcom,multipd_arch; + 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 = <0x24>; + qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4D400000 0x4D400000 0 0 0>; +#else + qcom,caldb-addr = <0x4D400000>; + m3-dump-addr = <0x4D200000>; +#endif + qcom,caldb-size = <0x200000>; + status = "ok"; +}; + +&wifi1 { + /* QCN6122 6G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0x60>; + qcom,bdf-addr = <0x4ED00000 0x4ED00000 0x4E400000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4FF00000 0x4FF00000 0 0 0>; +#else + qcom,caldb-addr = <0x4FF00000>; + m3-dump-addr = <0x4FD00000>; +#endif + qcom,caldb-size = <0x500000>; + status = "ok"; +}; + +&wifi2 { + /* QCN6122 6G */ + qcom,multipd_arch; + qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + qcom,tgt-mem-mode = <2>; +#else + qcom,tgt-mem-mode = <1>; +#endif + qcom,board_id = <0xb0>; + qcom,bdf-addr = <0x4ED00000 0x4ED00000 0x4E400000 0x0 0x0>; +#ifdef __CNSS2__ + qcom,caldb-addr = <0x4FF00000 0x4FF00000 0 0 0>; +#else + qcom,caldb-addr = <0x4FF00000>; + m3-dump-addr = <0x4FD00000>; +#endif + qcom,caldb-size = <0x500000>; + status = "disabled"; +}; diff --git a/feeds/ipq807x/ipq807x/image/ipq50xx.mk b/feeds/ipq807x/ipq807x/image/ipq50xx.mk index c96d5d3e4..db3eff672 100644 --- a/feeds/ipq807x/ipq807x/image/ipq50xx.mk +++ b/feeds/ipq807x/ipq807x/image/ipq50xx.mk @@ -46,6 +46,15 @@ define Device/cybertan_eww631_a1 endef TARGET_DEVICES += cybertan_eww631_a1 +define Device/wallys_dr5018 + DEVICE_TITLE := Wallys DR5018 + DEVICE_DTS := qcom-ipq5018-wallys-dr5018 + SUPPORTED_DEVICES := wallys,dr5018 + DEVICE_PACKAGES := ath11k-wifi-wallys-dr5018 ath11k-firmware-ipq50xx-spruce ath11k-firmware-qcn6122 + DEVICE_DTS_CONFIG := config@mp03.5-c1 +endef +TARGET_DEVICES += wallys_dr5018 + define Device/cybertan_eww631_b1 DEVICE_TITLE := CyberTan EWW631-B1 DEVICE_DTS := qcom-ipq5018-eww631-b1 diff --git a/feeds/wifi-ax/ath11k-wifi/Makefile b/feeds/wifi-ax/ath11k-wifi/Makefile index 76e950706..532df868e 100644 --- a/feeds/wifi-ax/ath11k-wifi/Makefile +++ b/feeds/wifi-ax/ath11k-wifi/Makefile @@ -46,6 +46,7 @@ ALLWIFIBOARDS:= \ indio-um-510axm-v1 \ muxi-ap3220l \ plasmacloud-pax1800 \ + wallys-dr5018 \ wallys-dr6018 \ wallys-dr6018-v4 \ tplink-ex227 \ @@ -356,6 +357,7 @@ $(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,sercomm-wallaby,Sercomm Kiwi)) +$(eval $(call generate-ath11k-wifi-package,wallys-dr5018,Wallys Dr5018)) $(eval $(call generate-ath11k-wifi-package,wallys-dr6018,Wallys DR6018)) $(eval $(call generate-ath11k-wifi-package,wallys-dr6018-v4,Wallys DR6018 V4)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap101,EdgeCore EAP101)) diff --git a/feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.IPQ5018 b/feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.IPQ5018 new file mode 100755 index 0000000000000000000000000000000000000000..2d45b8c16545cc5098b3f8fe9c90fd7ec7b0e910 GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.QCN6122 b/feeds/wifi-ax/ath11k-wifi/board-wallys-dr5018.bin.QCN6122 new file mode 100755 index 0000000000000000000000000000000000000000..225344646ce966a75cc5f36c497221416fd6f696 GIT binary patch literal 131072 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