From 1a3054218f4c96a3898d6fecb12d605f6eaf0050 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 28 Oct 2021 13:37:31 +0200 Subject: [PATCH] ipq807x: add support for wallystech dr6018 Signed-off-by: John Crispin --- feeds/wifi-ax/ath11k-wifi/Makefile | 2 + .../board-wallys-dr6018.bin.IPQ6018 | Bin 0 -> 65536 bytes ...x-add-the-Qualcomm-AX-target-support.patch | 525 +++++++++++++++++- profiles/wallys_dr6018.yml | 14 + 4 files changed, 523 insertions(+), 18 deletions(-) create mode 100644 feeds/wifi-ax/ath11k-wifi/board-wallys-dr6018.bin.IPQ6018 create mode 100644 profiles/wallys_dr6018.yml diff --git a/feeds/wifi-ax/ath11k-wifi/Makefile b/feeds/wifi-ax/ath11k-wifi/Makefile index 45a1a82d7..2b82d07b8 100644 --- a/feeds/wifi-ax/ath11k-wifi/Makefile +++ b/feeds/wifi-ax/ath11k-wifi/Makefile @@ -31,6 +31,7 @@ ALLWIFIBOARDS:= \ edgecore-eap101 \ sercomm-wallaby \ edgecore-eap102 \ + wallys-dr6018 tplink-ex227 \ tplink-ex447 @@ -132,6 +133,7 @@ $(eval $(call generate-ath11k-wifi-package,cig-wf188n,Cigtech WF188n)) $(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c)) $(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4)) $(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,edgecore-eap101,EdgeCore EAP101)) $(eval $(call generate-ath11k-wifi-package,edgecore-eap102,Edgecore EAP102)) $(eval $(call generate-ath11k-wifi-package,tplink-ex227,TP-Link EX227)) diff --git a/feeds/wifi-ax/ath11k-wifi/board-wallys-dr6018.bin.IPQ6018 b/feeds/wifi-ax/ath11k-wifi/board-wallys-dr6018.bin.IPQ6018 new file mode 100644 index 0000000000000000000000000000000000000000..108e2cc441d957d9d7aaa8529ac62dd7627c6859 GIT binary patch literal 65536 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 B3giF) literal 0 HcmV?d00001 diff --git a/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch b/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch index ce84f6405..f05b7fe05 100644 --- a/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch +++ b/patches/0017-ipq807x-add-the-Qualcomm-AX-target-support.patch @@ -1,7 +1,7 @@ -From 59f9b63a349de9e550aa7f386e917035a78d7d95 Mon Sep 17 00:00:00 2001 +From 9b33e2fdee38684fbc1eb08446f277823ee113e1 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 18 Jul 2020 08:53:44 +0200 -Subject: [PATCH 01/32] ipq807x: add the Qualcomm AX target support +Subject: [PATCH 01/30] ipq807x: add the Qualcomm AX target support Signed-off-by: John Crispin --- @@ -12,19 +12,20 @@ Signed-off-by: John Crispin .../etc/hotplug.d/firmware/11-ath10k-caldata | 5 + target/linux/ipq807x/109-logspam.patch | 24 + target/linux/ipq807x/Makefile | 22 + - .../ipq807x/base-files/etc/board.d/01_leds | 37 + - .../ipq807x/base-files/etc/board.d/02_network | 81 + - .../etc/hotplug.d/firmware/10-ath11k-caldata | 94 + + .../ipq807x/base-files/etc/board.d/01_leds | 38 + + .../ipq807x/base-files/etc/board.d/02_network | 82 + + .../etc/hotplug.d/firmware/10-ath11k-caldata | 95 ++ .../ipq807x/base-files/etc/init.d/aq_phy | 16 + .../ipq807x/base-files/etc/init.d/bootcount | 12 + .../linux/ipq807x/base-files/etc/init.d/wdt | 14 + ...G4_v5.4.B-AQR_CIG_WIFI_ID44715_VER1673.cld | Bin 0 -> 391170 bytes - .../base-files/lib/upgrade/platform.sh | 70 + + .../base-files/lib/upgrade/platform.sh | 72 + target/linux/ipq807x/config-4.4 | 828 +++++++++ .../arm/boot/dts/qcom-ipq6018-cig-wf188.dts | 18 + .../arm/boot/dts/qcom-ipq6018-cig-wf188n.dts | 18 + .../boot/dts/qcom-ipq6018-edgecore-eap101.dts | 18 + .../boot/dts/qcom-ipq6018-miwifi-ax1800.dts | 18 + + .../boot/dts/qcom-ipq6018-wallys-dr6018.dts | 18 + .../arch/arm/boot/dts/qcom-ipq807x-eap102.dts | 26 + .../arch/arm/boot/dts/qcom-ipq807x-eap106.dts | 26 + .../arch/arm/boot/dts/qcom-ipq807x-ex227.dts | 26 + @@ -33,11 +34,12 @@ Signed-off-by: John Crispin .../arch/arm/boot/dts/qcom-ipq807x-wf194c.dts | 26 + .../arm/boot/dts/qcom-ipq807x-wf194c4.dts | 26 + .../dts/qcom/qcom-ipq6018-miwifi-ax1800.dts | 419 +++++ + .../dts/qcom/qcom-ipq6018-wallys-dr6018.dts | 441 +++++ .../boot/dts/qcom/qcom-ipq807x-eap102.dts | 918 ++++++++++ .../boot/dts/qcom/qcom-ipq807x-wf194c4.dts | 942 ++++++++++ target/linux/ipq807x/image/Makefile | 26 + target/linux/ipq807x/image/ipq50xx.mk | 10 + - target/linux/ipq807x/image/ipq60xx.mk | 47 + + target/linux/ipq807x/image/ipq60xx.mk | 56 + target/linux/ipq807x/image/ipq807x.mk | 90 + target/linux/ipq807x/ipq50xx/config-default | 84 + target/linux/ipq807x/ipq50xx/config-lowmem | 73 + @@ -62,7 +64,7 @@ Signed-off-by: John Crispin target/linux/ipq807x/patches/111-eap106.patch | 765 +++++++++ target/linux/ipq807x/patches/112-pstore.patch | 147 ++ toolchain/kernel-headers/Makefile | 8 + - 57 files changed, 11431 insertions(+), 2 deletions(-) + 59 files changed, 11904 insertions(+), 2 deletions(-) create mode 100644 package/boot/uboot-envtools/files/ipq807x create mode 100644 target/linux/ipq807x/109-logspam.patch create mode 100644 target/linux/ipq807x/Makefile @@ -79,6 +81,7 @@ Signed-off-by: John Crispin create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-cig-wf188n.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-edgecore-eap101.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-miwifi-ax1800.dts + create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-wallys-dr6018.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap102.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap106.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex227.dts @@ -87,6 +90,7 @@ Signed-off-by: John Crispin create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c.dts create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-wf194c4.dts create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts + create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts create mode 100644 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-wf194c4.dts create mode 100644 target/linux/ipq807x/image/Makefile @@ -292,10 +296,10 @@ index 0000000000..abdb82ec5d +$(eval $(call BuildTarget)) diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds new file mode 100755 -index 0000000000..581fbe8ac0 +index 0000000000..1f1797b0c6 --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds -@@ -0,0 +1,37 @@ +@@ -0,0 +1,38 @@ +#!/bin/sh + +. /lib/functions/uci-defaults.sh @@ -306,6 +310,7 @@ index 0000000000..581fbe8ac0 + +case "$board" in +sercomm,wallaby|\ ++wallys,dr6018|\ +cig,wf188n|\ +cig,wf194c|\ +cig,wf194c4) @@ -335,10 +340,10 @@ index 0000000000..581fbe8ac0 +exit 0 diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network new file mode 100755 -index 0000000000..87e3ea3d3a +index 0000000000..2c30b01aab --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network -@@ -0,0 +1,81 @@ +@@ -0,0 +1,82 @@ +#!/bin/sh + +. /lib/functions.sh @@ -377,6 +382,7 @@ index 0000000000..87e3ea3d3a + ;; + edgecore,eap102|\ + edgecore,eap106|\ ++ wallys,dr6018|\ + cig,wf188n) + ucidef_set_interface_lan "eth1" + ucidef_set_interface_wan "eth0" @@ -422,10 +428,10 @@ index 0000000000..87e3ea3d3a +exit 0 diff --git a/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata new file mode 100755 -index 0000000000..4a33ee87f9 +index 0000000000..1788908ab0 --- /dev/null +++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata -@@ -0,0 +1,94 @@ +@@ -0,0 +1,95 @@ +#!/bin/sh + +[ -e /lib/firmware/$FIRMWARE ] && exit 0 @@ -485,6 +491,7 @@ index 0000000000..4a33ee87f9 + cig,wf188|\ + cig,wf188n|\ + edgecore,eap101|\ ++ wallys,dr6018|\ + qcom,ipq6018-cp01|\ + xiaomi,ax1800) + caldata_extract "0:ART" 0x1000 0x20000 @@ -4761,10 +4768,10 @@ HcmV?d00001 diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh new file mode 100755 -index 0000000000..d533207884 +index 0000000000..407db099f6 --- /dev/null +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh -@@ -0,0 +1,70 @@ +@@ -0,0 +1,72 @@ +. /lib/functions/system.sh + +qca_do_upgrade() { @@ -4791,6 +4798,7 @@ index 0000000000..d533207884 + cig,wf188n|\ + cig,wf194c|\ + cig,wf194c4|\ ++ wallys,dr6018|\ + edgecore,eap101|\ + edgecore,eap102|\ + edgecore,eap106|\ @@ -4823,6 +4831,7 @@ index 0000000000..d533207884 + qcom,ipq807x-hk01|\ + qcom,ipq807x-hk14|\ + qcom,ipq5018-mp03.3|\ ++ wallys,dr6018|\ + tplink,ex447|\ + tplink,ex227) + nand_upgrade_tar "$1" @@ -5765,6 +5774,30 @@ index 0000000000..5c452c5741 + +#include "../../../arm64/boot/dts/qcom/qcom-ipq6018-miwifi-ax1800.dts" +#include "qcom-ipq6018.dtsi" +diff --git a/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-wallys-dr6018.dts b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-wallys-dr6018.dts +new file mode 100644 +index 0000000000..1250eb19f8 +--- /dev/null ++++ b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq6018-wallys-dr6018.dts +@@ -0,0 +1,18 @@ ++/* ++ * Copyright (c) 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 "../../../arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts" ++#include "qcom-ipq6018.dtsi" diff --git a/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap102.dts b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap102.dts new file mode 100644 index 0000000000..d1d3f3755e @@ -6414,6 +6447,453 @@ index 0000000000..ba4a5ef3ca +&q6_region { + reg = <0x0 0x4ab00000 0x0 0x05500000>; +}; +diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts +new file mode 100755 +index 0000000000..12065b62f6 +--- /dev/null ++++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq6018-wallys-dr6018.dts +@@ -0,0 +1,441 @@ ++/dts-v1/; ++/* ++ * Copyright (c) 2019, 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-ipq6018.dtsi" ++#include "qcom-ipq6018-rpm-regulator.dtsi" ++#include "qcom-ipq6018-cpr-regulator.dtsi" ++#include "qcom-ipq6018-cp-cpu.dtsi" ++#include ++#include ++ ++/ { ++ #address-cells = <0x2>; ++ #size-cells = <0x2>; ++ model = "Wallys DR6018"; ++ compatible = "wallys,dr6018", "qcom,ipq6018-cp01", "qcom,ipq6018"; ++ interrupt-parent = <&intc>; ++ ++ aliases { ++ serial0 = &blsp1_uart3; ++ serial1 = &blsp1_uart2; ++ ++ /* ++ * Aliases as required by u-boot ++ * to patch MAC addresses ++ */ ++ 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 = " console=ttyMSM0,115200,n8 swiotlb=1 coherent_pool=2M"; ++ }; ++ ++ /* ++ * +=========+==============+========================+ ++ * | | | | ++ * | Region | Start Offset | Size | ++ * | | | | ++ * +--------+--------------+-------------------------+ ++ * | | | | ++ * | | | | ++ * | | | | ++ * | | | | ++ * | Linux | 0x41000000 | 139MB | ++ * | | | | ++ * | | | | ++ * | | | | ++ * +--------+--------------+-------------------------+ ++ * | TZ App | 0x49B00000 | 6MB | ++ * +--------+--------------+-------------------------+ ++ * ++ * From the available 145 MB for Linux in the first 256 MB, ++ * we are reserving 6 MB for TZAPP. ++ * ++ * Refer arch/arm64/boot/dts/qcom/qcom-ipq6018-memory.dtsi ++ * for memory layout. ++ */ ++ ++/* TZAPP is enabled only in default memory profile */ ++#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__) ++ reserved-memory { ++ tzapp:tzapp@49B00000 { /* TZAPPS */ ++ no-map; ++ reg = <0x0 0x49B00000 0x0 0x00600000>; ++ }; ++ }; ++#endif ++}; ++ ++&tlmm { ++ uart_pins: uart_pins { ++ mux { ++ pins = "gpio44", "gpio45"; ++ function = "blsp2_uart"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ spi_0_pins: spi_0_pins { ++ mux { ++ pins = "gpio38", "gpio39", "gpio40", "gpio41"; ++ function = "blsp0_spi"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ qpic_pins: qpic_pins { ++ data_0 { ++ pins = "gpio15"; ++ function = "qpic_pad0"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_1 { ++ pins = "gpio12"; ++ function = "qpic_pad1"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_2 { ++ pins = "gpio13"; ++ function = "qpic_pad2"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_3 { ++ pins = "gpio14"; ++ function = "qpic_pad3"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_4 { ++ pins = "gpio5"; ++ function = "qpic_pad4"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_5 { ++ pins = "gpio6"; ++ function = "qpic_pad5"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_6 { ++ pins = "gpio7"; ++ function = "qpic_pad6"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ data_7 { ++ pins = "gpio8"; ++ function = "qpic_pad7"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ qpic_pad { ++ pins = "gpio1", "gpio3", "gpio4", ++ "gpio10", "gpio11", "gpio17"; ++ function = "qpic_pad"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ extcon_usb_pins: extcon_usb_pins { ++ mux { ++ pins = "gpio26"; ++ function = "gpio"; ++ drive-strength = <2>; ++ bias-pull-down; ++ }; ++ }; ++ ++ button_pins: button_pins { ++ wps_button { ++ pins = "gpio19"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ }; ++ ++ mdio_pins: mdio_pinmux { ++ mux_0 { ++ pins = "gpio64"; ++ function = "mdc"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_1 { ++ pins = "gpio65"; ++ function = "mdio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_2 { ++ pins = "gpio75"; ++ function = "gpio"; ++ bias-pull-up; ++ }; ++ }; ++ ++ leds_pins: leds_pins { ++ led_pwr { ++ pins = "gpio74"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ led_5g { ++ pins = "gpio35"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ led_2g { ++ pins = "gpio37"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ uart2_pins: uart2_pins { ++ mux { ++ pins = "gpio57", "gpio58"; ++ function = "blsp4_uart"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++}; ++ ++&soc { ++ extcon_usb: extcon_usb { ++ pinctrl-0 = <&extcon_usb_pins>; ++ pinctrl-names = "default"; ++ id-gpio = <&tlmm 26 GPIO_ACTIVE_LOW>; ++ status = "ok"; ++ }; ++ ++ mdio: mdio@90000 { ++ pinctrl-0 = <&mdio_pins>; ++ pinctrl-names = "default"; ++ phy-reset-gpio = <&tlmm 75 0 &tlmm 77 1>; ++ status = "ok"; ++ ethernet-phy@3 { ++ reg = <0x03>; ++ }; ++ ++ ethernet-phy@4 { ++ reg = <0x18>; ++ }; ++ ++ ethernet-phy@1 { ++ reg = <0x01>; ++ }; ++ ++ ethernet-phy@2 { ++ reg = <0x02>; ++ }; ++ ++ ethernet-phy@0 { ++ reg = <0x00>; ++ }; ++ }; ++ ++ dp1 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <1>; ++ reg = <0x3a001000 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <0>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp2 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <2>; ++ reg = <0x3a001200 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <1>; ++ phy-mode = "sgmii"; ++ }; ++ ++ ess-switch@3a000000 { ++ switch_cpu_bmp = <0x1>; /* cpu port bitmap */ ++ switch_lan_bmp = <0x4>; /* lan port bitmap */ ++ switch_wan_bmp = <0x2>; /* wan port bitmap */ ++ switch_inner_bmp = <0xc0>; /*inner port bitmap*/ ++ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ ++ switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ ++ switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ ++ qcom,port_phyinfo { ++ port@1 { ++ phy_address = <0x01>; ++ port_id = <0x02>; ++ }; ++ ++ port@0 { ++ phy_address = <0x00>; ++ port_id = <0x01>; ++ }; ++ ++ port@2 { ++ phy_address = <0x02>; ++ port_id = <0x03>; ++ }; ++ ++ port@3 { ++ phy_address = <0x03>; ++ port_id = <0x04>; ++ }; ++ ++ port@4 { ++ phy_address = <0x18>; ++ port_id = <0x05>; ++ port_mac_sel = "QGMAC_PORT"; ++ }; ++ }; ++ }; ++ ++ gpio_keys { ++ compatible = "gpio-keys"; ++ pinctrl-0 = <&button_pins>; ++ pinctrl-names = "default"; ++ ++ reset { ++ label = "reset"; ++ linux,code = ; ++ gpios = <&tlmm 19 GPIO_ACTIVE_LOW>; ++ linux,input-type = <1>; ++ debounce-interval = <60>; ++ }; ++ ++ /* wps { ++ label = "wps"; ++ linux,code = <>; ++ gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; ++ linux,input-type = <1>; ++ debounce-interval = <60>; ++ };*/ ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-0 = <&leds_pins>; ++ pinctrl-names = "default"; ++ ++ led@25 { ++ label = "green:wifi5"; ++ gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "green:5g"; ++ default-state = "off"; ++ }; ++ led@24 { ++ label = "green:wifi2"; ++ gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "green:2g"; ++ default-state = "off"; ++ }; ++ led_power: led@16 { ++ label = "green:led_pwr"; ++ gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "green:power"; ++ default-state = "off"; ++ }; ++ }; ++}; ++ ++&blsp1_uart3 { ++ pinctrl-0 = <&uart_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&spi_0 { ++ pinctrl-0 = <&spi_0_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; ++ }; ++}; ++ ++&blsp1_uart2 { ++ pinctrl-0 = <&uart2_pins>; ++ pinctrl-names = "default"; ++ dmas = <&blsp_dma 2>, ++ <&blsp_dma 3>; ++ dma-names = "tx", "rx"; ++ status = "ok"; ++}; ++&qpic_bam { ++ status = "ok"; ++}; ++ ++&nand { ++ pinctrl-0 = <&qpic_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&ssphy_0 { ++ status = "ok"; ++}; ++ ++&qusb_phy_0 { ++ status = "ok"; ++}; ++ ++&qusb_phy_1 { ++ status = "ok"; ++}; ++ ++&usb2 { ++ status = "ok"; ++}; ++ ++&usb3 { ++ status = "ok"; ++}; ++ ++&nss_crypto { ++ status = "ok"; ++}; diff --git a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts new file mode 100755 index 0000000000..d04cb1020c @@ -8336,10 +8816,10 @@ index 0000000000..f20d54190e +TARGET_DEVICES += qcom_mp03_3 diff --git a/target/linux/ipq807x/image/ipq60xx.mk b/target/linux/ipq807x/image/ipq60xx.mk new file mode 100644 -index 0000000000..2751391ac7 +index 0000000000..e94ab22785 --- /dev/null +++ b/target/linux/ipq807x/image/ipq60xx.mk -@@ -0,0 +1,47 @@ +@@ -0,0 +1,56 @@ +KERNEL_LOADADDR := 0x41008000 + +define Device/cig_wf188 @@ -8371,6 +8851,15 @@ index 0000000000..2751391ac7 +endef +TARGET_DEVICES += edgecore_eap101 + ++define Device/wallys_dr6018 ++ DEVICE_TITLE := Wallys DR6018 ++ DEVICE_DTS := qcom-ipq6018-wallys-dr6018 ++ DEVICE_DTS_CONFIG := config@cp01-c4 ++ SUPPORTED_DEVICES := wallys,dr6018 ++ DEVICE_PACKAGES := ath11k-wifi-wallys-dr6018 uboot-envtools ++endef ++TARGET_DEVICES += wallys_dr6018 ++ +define Device/qcom_cp01_c1 + DEVICE_TITLE := Qualcomm Cypress C1 + DEVICE_DTS := qcom-ipq6018-cp01-c1 diff --git a/profiles/wallys_dr6018.yml b/profiles/wallys_dr6018.yml new file mode 100644 index 000000000..630bca6b1 --- /dev/null +++ b/profiles/wallys_dr6018.yml @@ -0,0 +1,14 @@ +--- +profile: wallys_dr6018 +target: ipq807x +subtarget: ipq60xx +description: Build image for the Wallys DR6018 +image: bin/targets/ipq807x/ipq60xx/openwrt-ipq807x-wallys_dr6018-squashfs-sysupgrade.tar +feeds: + - name: ipq807x + path: ../../feeds/ipq807x +include: + - wifi-ax + - ucentral-ap +diffconfig: | + CONFIG_KERNEL_IPQ_MEM_PROFILE=0