From 0b13cb31715b810862ec74027fe293c5dc99a8a4 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 16 Oct 2020 04:28:51 +0200 Subject: [PATCH] ipq807x: add edgecore eap-102 support Signed-off-by: John Crispin --- feeds/wifi-ax/ath11k-wifi/Makefile | 4 +- .../ath11k-wifi/board-edgecore-eap102.IPQ8074 | Bin 0 -> 131072 bytes feeds/wifi-ax/mac80211/Makefile | 1 + ...ipq807x-add-edgecore-EAP-102-support.patch | 1027 +++++++++++++++++ profiles/eap102.yml | 10 + 5 files changed, 1041 insertions(+), 1 deletion(-) create mode 100644 feeds/wifi-ax/ath11k-wifi/board-edgecore-eap102.IPQ8074 create mode 100644 patches/0035-ipq807x-add-edgecore-EAP-102-support.patch create mode 100644 profiles/eap102.yml diff --git a/feeds/wifi-ax/ath11k-wifi/Makefile b/feeds/wifi-ax/ath11k-wifi/Makefile index a4f0bcc82..4b76a1857 100644 --- a/feeds/wifi-ax/ath11k-wifi/Makefile +++ b/feeds/wifi-ax/ath11k-wifi/Makefile @@ -27,7 +27,8 @@ ALLWIFIBOARDS:= \ cig-wf188 \ cig-wf188n \ cig-wf194c \ - sercomm-wallaby + sercomm-wallaby \ + edgecore-eap102 ALLWIFIPACKAGES:=$(foreach BOARD,$(ALLWIFIBOARDS),ath11k-wifi-$(BOARD)) @@ -106,6 +107,7 @@ $(eval $(call generate-ath11k-wifi-package,cig-wf188,Cigtech WF188)) $(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,sercomm-wallaby,Sercomm Kiwi)) +$(eval $(call generate-ath11k-wifi-package,edgecore-eap102,Edgecore EAP102)) $(foreach PACKAGE,$(ALLWIFIPACKAGES),$(eval $(call BuildPackage,$(PACKAGE)))) $(eval $(call BuildPackage,ath11k-wifi-qcom-ipq8074)) diff --git a/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap102.IPQ8074 b/feeds/wifi-ax/ath11k-wifi/board-edgecore-eap102.IPQ8074 new file mode 100644 index 0000000000000000000000000000000000000000..88fce866b7a62c7d61a7fda1965739604b09a391 GIT binary patch literal 131072 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

C<2Or zBA^H;0wWE9^vLr7BW>I|UPV9=Py`eKML-b{87o@`6^0C{cCo>F_fPx1-FEktey?*N z`Z*AFj*IN)vMa6+!P~}@8hqwcgCd{^C<2OrBA^HiHw66RoyakHrAW$_kP2TCyyF3` zoJ1}~8fB3|B%GQv`b-7V;If-1hv`JYNiQHW>UCLIH3jHFPELlflURd&^tcFCc zknL5I$W5VKBZ=IdQX&i1kjPD!23fF-#5!k4l`L39V&2`7BMTOg$hD!)1t{ELaI?rQ zCNZyC=E#CZ61h^0Xu(Pnx%n(vO(M5QT4cd061gSJDjJl&#Ju;=!m=t7xevfCY#@>Q0l7vJ zxgUdDw1PzLuV596R+7m5gxo3;xew9a;)NtbW1g9^cqxf_Kga#VnpzU`{t0z1UQA-% zKa#5^k^2vDOO}(!{U^C961h*nEnPw)=XMoIwfvyCNJlbE-i z++q^BovxX(yqrXC7xSt~&wPFJXM;3rOT%XWkkTxv!I3P9paQZ>}a;SxX}K6PBzdkz3|2mX*s$i?*13vAPQa~NNg{WzyGANkkjO2ETxA`J+$#4!NM#v` zT&=rADwmST)st%=k!vQmm_)9X+%gim&1kQ(oJ4L5xoQ%*C)i#UiQLofX|lSEL~ajC zRxKux+fQy4iQEDA9I2`ykvoj`s_IDOI#6;!If-1Sd!4MPAd!0xT=_y0x$`KwatVpt z^WZ91lE}RXu67}b+&0)}-5L^o`RmAAQ$}LmpSnMiH5DXsZy>K~4T;>l=-Ha3By#Uj zZUu?lx5zCgk^3%6HkOgd{T1>SuOX59h$X8?%kz3%YlIlhhxj&%2>SZKyg7H-^C2@QySn;Z>NzC)Z>sMEh$OTyv6`6gR$dU_5 z%*zH>vy?F@w^WDMqSs;5BGJcXFOQ)R4YnqP_UD*O)TPG1Z+LK)KH( zo4IazJ^9^azXWi%W~ThI0Qo%)pBlGkoZo1-+(_l1f-jBx`^dE!{{8+++@at;(@3!g zW{N#EQ|zgk;%ky-DkGXgIk$NYvPQ}r+YJ9-`d>o3Zb&di+5JdWVnj)ils}rvh^8h- zQ|yZ=!5)~YU^JJgnb+7;E7wY~SLQXeW~A7wB-xg^A&Y&nQtY33jcr)DR;pWqeKvF1 z=WUr4sKv}>s{7i6NUqfybIsP68XuK4>-$M&Wh9p=vjw6&U2goI+W{SCHiujo++J<$_9Z6Ad<~6gH-)8xRqkJHX zDYKT}qUP>Ysv*H^X3gJ-=AOzbGSXfn==i52katV>d&uNH;Eh+9twMeHPIuvl(Z!Q` zPoxf$_r~yEN%T*M6kxu+f9Y6(F`rpBJUMnj6Cc6%;-TH~1y-h~>hFyCXg&-)Mt^2qhN zQ_U;nT{6|o#J^V{@0OHV)&=q&NtqbEU}fmHBA^H;0*b&0Kp+!;6JsbXE$!Esg}*lq z-^#7y4`yx3YqeG+WKPTrRh}ynb`XOK-jNBkST#zS|C7yh&~( zYrJuuFEVjrUIF9HBqqp5-M67PE2w#jfFdwt5tt~I3x{mywd0C_BA^H;0*Zhlpa>`e zihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhl zpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2PWbrAUf DprVlU literal 0 HcmV?d00001 diff --git a/feeds/wifi-ax/mac80211/Makefile b/feeds/wifi-ax/mac80211/Makefile index aa65707d5..128d5e312 100644 --- a/feeds/wifi-ax/mac80211/Makefile +++ b/feeds/wifi-ax/mac80211/Makefile @@ -43,6 +43,7 @@ config-y:= \ MAC80211_RC_MINSTREL_HT \ MAC80211_RC_MINSTREL_VHT \ MAC80211_RC_DEFAULT_MINSTREL \ + MAC80211_LEDS \ WLAN_VENDOR_ADMTEK \ WLAN_VENDOR_ATH \ WLAN_VENDOR_ATMEL \ diff --git a/patches/0035-ipq807x-add-edgecore-EAP-102-support.patch b/patches/0035-ipq807x-add-edgecore-EAP-102-support.patch new file mode 100644 index 000000000..d61ffef0f --- /dev/null +++ b/patches/0035-ipq807x-add-edgecore-EAP-102-support.patch @@ -0,0 +1,1027 @@ +From 34f431b13c858b63d9361f1291734fb53900e73b Mon Sep 17 00:00:00 2001 +From: John Crispin +Date: Fri, 16 Oct 2020 04:27:42 +0200 +Subject: [PATCH] ipq807x: add edgecore EAP-102 support + +Signed-off-by: John Crispin +--- + .../ipq807x/base-files/etc/board.d/01_leds | 4 + + .../ipq807x/base-files/etc/board.d/02_network | 4 + + .../etc/hotplug.d/firmware/10-ath11k-caldata | 1 + + .../base-files/lib/upgrade/platform.sh | 2 + + .../boot/dts/qcom/qcom-ipq807x-eap102.dts | 922 ++++++++++++++++++ + target/linux/ipq807x/image/ipq807x.mk | 10 + + 6 files changed, 943 insertions(+) + create mode 100755 target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts + +diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds +index 5196da447b..3ed1227a3d 100755 +--- a/target/linux/ipq807x/base-files/etc/board.d/01_leds ++++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds +@@ -15,6 +15,10 @@ cig,wf194c) + ucidef_set_led_netdev "wan" "WAN" "wf194c:green:wan" "br-wan" "tx rx link" + ucidef_set_led_netdev "lan" "LAN" "wf194c:green:lan" "br-lan" "tx rx link" + ;; ++edgecore,eap102) ++ ucidef_set_led_wlan "wlan5g" "WLAN5G" "green:wifi5" "phy0tx" ++ ucidef_set_led_wlan "wlan2g" "WLAN2G" "green:wifi2" "phy1tx" ++ ;; + esac + + board_config_flush +diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network +index aadf9d4ff2..0ae29613d9 100755 +--- a/target/linux/ipq807x/base-files/etc/board.d/02_network ++++ b/target/linux/ipq807x/base-files/etc/board.d/02_network +@@ -26,6 +26,10 @@ qcom_setup_interfaces() + ucidef_set_interface_lan "eth0" + ucidef_set_interface_wan "eth1" + ;; ++ edgecore,eap102) ++ ucidef_set_interface_lan "eth1" ++ ucidef_set_interface_wan "eth0" ++ ;; + esac + } + +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 +index 30292c2505..faade0972f 100755 +--- 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 +@@ -29,6 +29,7 @@ case "$FIRMWARE" in + "IPQ8074/caldata.bin") + case "$board" in + cig,wf194c|\ ++ edgecore,eap102 |\ + qcom,ipq807x-hk01|\ + qcom,ipq807x-hk14|\ + sercomm,wallaby) +diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh +index 0073b94bbb..43ee219412 100755 +--- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh ++++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh +@@ -23,6 +23,7 @@ platform_check_image() { + cig,wf188|\ + cig,wf188n|\ + cig,wf194c|\ ++ edgecore,eap102|\ + qcom,ipq6018-cp01|\ + qcom,ipq807x-hk01|\ + sercomm,wallaby) +@@ -44,6 +45,7 @@ platform_do_upgrade() { + ;; + cig,wf188n|\ + cig,wf194c|\ ++ edgecore,eap102|\ + qcom,ipq6018-cp01|\ + qcom,ipq807x-hk01|\ + sercomm,wallaby) +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..f81cf2d4af +--- /dev/null ++++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap102.dts +@@ -0,0 +1,922 @@ ++/dts-v1/; ++/* ++ * Copyright (c) 2017-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-ipq807x-soc.dtsi" ++#include "qcom-ipq807x-ac-cpu.dtsi" ++ ++/ { ++ #address-cells = <0x2>; ++ #size-cells = <0x2>; ++ model = "Edgecore EAP102"; ++ compatible = "edgecore,eap102", "qcom,ipq807x-ac02", "qcom,ipq807x"; ++ qcom,msm-id = <0x178 0x0>; ++ interrupt-parent = <&intc>; ++ qcom,board-id = <0x8 0x0>; ++ qcom,pmic-id = <0x0 0x0 0x0 0x0>; ++ ++ aliases { ++ /* ++ * Aliases as required by u-boot ++ * to patch MAC addresses ++ */ ++ ethernet0 = "/soc/dp1"; ++ ethernet1 = "/soc/dp2"; ++ ethernet2 = "/soc/dp3"; ++ ethernet3 = "/soc/dp4"; ++ ethernet4 = "/soc/dp5"; ++ ethernet5 = "/soc/dp6"; ++ ++ led-boot = &led_power; ++ led-failsafe = &led_power; ++ led-running = &led_power; ++ led-upgrade = &led_power; ++ }; ++ ++ chosen { ++ bootargs = "console=ttyMSM0,115200,n8 root=/dev/ram0 rw \ ++ init=/init"; ++ #ifdef __IPQ_MEM_PROFILE_256_MB__ ++ bootargs-append = " swiotlb=1"; ++ #else ++ bootargs-append = " swiotlb=1 coherent_pool=2M"; ++ #endif ++ }; ++}; ++ ++&tlmm { ++ pinctrl-0 = <&btcoex_pins>; ++ pinctrl-names = "default"; ++ ++ btcoex_pins: btcoex_pins { ++ mux_0 { ++ pins = "gpio64"; ++ function = "pta1_1"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ mux_1 { ++ pins = "gpio65"; ++ function = "pta1_2"; ++ drive-strength = <6>; ++ bias-pull-down; ++ }; ++ }; ++ ++ mdio_pins: mdio_pinmux { ++ mux_0 { ++ pins = "gpio68"; ++ function = "mdc"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_1 { ++ pins = "gpio69"; ++ function = "mdio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ mux_2 { ++ pins = "gpio33"; ++ function = "gpio"; ++ bias-pull-up; ++ }; ++ mux_3 { ++ pins = "gpio44"; ++ function = "gpio"; ++ bias-pull-up; ++ }; ++ }; ++ ++ uart_pins: uart_pins { ++ mux { ++ pins = "gpio23", "gpio24"; ++ function = "blsp4_uart1"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ spi_0_pins: spi_0_pins { ++ mux { ++ pins = "gpio38", "gpio39", "gpio40", "gpio41"; ++ function = "blsp0_spi"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ qpic_pins: qpic_pins { ++ data_0 { ++ pins = "gpio15"; ++ function = "qpic_pad0"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_1 { ++ pins = "gpio12"; ++ function = "qpic_pad1"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_2 { ++ pins = "gpio13"; ++ function = "qpic_pad2"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_3 { ++ pins = "gpio14"; ++ function = "qpic_pad3"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_4 { ++ pins = "gpio5"; ++ function = "qpic_pad4"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_5 { ++ pins = "gpio6"; ++ function = "qpic_pad5"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_6 { ++ pins = "gpio7"; ++ function = "qpic_pad6"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ data_7 { ++ pins = "gpio8"; ++ function = "qpic_pad7"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ qpic_pad { ++ pins = "gpio1", "gpio3", "gpio4", ++ "gpio10", "gpio11", "gpio17"; ++ function = "qpic_pad"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ hsuart_pins: hsuart_pins { ++ mux { ++ pins = "gpio49"; ++ function = "blsp2_uart"; ++ drive-strength = <8>; ++ bias-disable; ++ }; ++ }; ++ ++ button_pins: button_pins { ++ ++ reset_button { ++ pins = "gpio66"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-up; ++ }; ++ }; ++ ++ led_pins: led_pins { ++ led_pwr { ++ pins = "gpio46"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ ++ led_2g { ++ pins = "gpio47"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ ++ led_5g { ++ pins = "gpio48"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ ++ led_bt { ++ pins = "gpio50"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ usb_mux_sel_pins: usb_mux_pins { ++ mux { ++ pins = "gpio27"; ++ function = "gpio"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++ pcie0_pins: pcie_pins { ++ pcie0_rst { ++ pins = "gpio58"; ++ function = "pcie0_rst"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ pcie0_wake { ++ pins = "gpio59"; ++ function = "pcie0_wake"; ++ drive-strength = <8>; ++ bias-pull-down; ++ }; ++ }; ++ ++}; ++ ++&soc { ++ gpio_keys { ++ compatible = "gpio-keys"; ++ pinctrl-0 = <&button_pins>; ++ pinctrl-names = "default"; ++ ++ button@1 { ++ label = "reset_button"; ++ linux,code = ; ++ gpios = <&tlmm 66 GPIO_ACTIVE_LOW>; ++ linux,input-type = <1>; ++ debounce-interval = <60>; ++ }; ++ }; ++ ++ mdio: mdio@90000 { ++ pinctrl-0 = <&mdio_pins>; ++ pinctrl-names = "default"; ++ phy-reset-gpio = <&tlmm 37 0 &tlmm 25 1 &tlmm 44 1>; ++ compatible = "qcom,ipq40xx-mdio", "qcom,qca-mdio"; ++ phy0: ethernet-phy@0 { ++ reg = <0>; ++ }; ++ phy1: ethernet-phy@1 { ++ reg = <1>; ++ }; ++ phy2: ethernet-phy@2 { ++ reg = <2>; ++ }; ++ phy3: ethernet-phy@3 { ++ reg = <3>; ++ }; ++ phy4: ethernet-phy@4 { ++ reg = <24>; ++ }; ++ phy5: ethernet-phy@5 { ++ reg = <28>; ++ }; ++ }; ++ ++ ess-switch@3a000000 { ++ switch_cpu_bmp = <0x1>; /* cpu port bitmap */ ++ switch_lan_bmp = <0x3e>; /* lan port bitmap */ ++ switch_wan_bmp = <0x40>; /* wan port bitmap */ ++ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ ++ switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ ++ switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/ ++ bm_tick_mode = <0>; /* bm tick mode */ ++ tm_tick_mode = <0>; /* tm tick mode */ ++ 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 = <24>; ++ port_mac_sel = "QGMAC_PORT"; ++ }; ++ port@5 { ++ port_id = <6>; ++ phy_address = <28>; ++ port_mac_sel = "QGMAC_PORT"; ++ }; ++ }; ++ port_scheduler_resource { ++ port@0 { ++ port_id = <0>; ++ ucast_queue = <0 143>; ++ mcast_queue = <256 271>; ++ l0sp = <0 35>; ++ l0cdrr = <0 47>; ++ l0edrr = <0 47>; ++ l1cdrr = <0 7>; ++ l1edrr = <0 7>; ++ }; ++ port@1 { ++ port_id = <1>; ++ ucast_queue = <144 159>; ++ mcast_queue = <272 275>; ++ l0sp = <36 39>; ++ l0cdrr = <48 63>; ++ l0edrr = <48 63>; ++ l1cdrr = <8 11>; ++ l1edrr = <8 11>; ++ }; ++ port@2 { ++ port_id = <2>; ++ ucast_queue = <160 175>; ++ mcast_queue = <276 279>; ++ l0sp = <40 43>; ++ l0cdrr = <64 79>; ++ l0edrr = <64 79>; ++ l1cdrr = <12 15>; ++ l1edrr = <12 15>; ++ }; ++ port@3 { ++ port_id = <3>; ++ ucast_queue = <176 191>; ++ mcast_queue = <280 283>; ++ l0sp = <44 47>; ++ l0cdrr = <80 95>; ++ l0edrr = <80 95>; ++ l1cdrr = <16 19>; ++ l1edrr = <16 19>; ++ }; ++ port@4 { ++ port_id = <4>; ++ ucast_queue = <192 207>; ++ mcast_queue = <284 287>; ++ l0sp = <48 51>; ++ l0cdrr = <96 111>; ++ l0edrr = <96 111>; ++ l1cdrr = <20 23>; ++ l1edrr = <20 23>; ++ }; ++ port@5 { ++ port_id = <5>; ++ ucast_queue = <208 223>; ++ mcast_queue = <288 291>; ++ l0sp = <52 55>; ++ l0cdrr = <112 127>; ++ l0edrr = <112 127>; ++ l1cdrr = <24 27>; ++ l1edrr = <24 27>; ++ }; ++ port@6 { ++ port_id = <6>; ++ ucast_queue = <224 239>; ++ mcast_queue = <292 295>; ++ l0sp = <56 59>; ++ l0cdrr = <128 143>; ++ l0edrr = <128 143>; ++ l1cdrr = <28 31>; ++ l1edrr = <28 31>; ++ }; ++ port@7 { ++ port_id = <7>; ++ ucast_queue = <240 255>; ++ mcast_queue = <296 299>; ++ l0sp = <60 63>; ++ l0cdrr = <144 159>; ++ l0edrr = <144 159>; ++ l1cdrr = <32 35>; ++ l1edrr = <32 35>; ++ }; ++ }; ++ port_scheduler_config { ++ port@0 { ++ port_id = <0>; ++ l1scheduler { ++ group@0 { ++ sp = <0 1>; /*L0 SPs*/ ++ /*cpri cdrr epri edrr*/ ++ cfg = <0 0 0 0>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ /*unicast queues*/ ++ ucast_queue = <0 4 8>; ++ /*multicast queues*/ ++ mcast_queue = <256 260>; ++ /*sp cpri cdrr epri edrr*/ ++ cfg = <0 0 0 0 0>; ++ }; ++ group@1 { ++ ucast_queue = <1 5 9>; ++ mcast_queue = <257 261>; ++ cfg = <0 1 1 1 1>; ++ }; ++ group@2 { ++ ucast_queue = <2 6 10>; ++ mcast_queue = <258 262>; ++ cfg = <0 2 2 2 2>; ++ }; ++ group@3 { ++ ucast_queue = <3 7 11>; ++ mcast_queue = <259 263>; ++ cfg = <0 3 3 3 3>; ++ }; ++ }; ++ }; ++ port@1 { ++ port_id = <1>; ++ l1scheduler { ++ group@0 { ++ sp = <36>; ++ cfg = <0 8 0 8>; ++ }; ++ group@1 { ++ sp = <37>; ++ cfg = <1 9 1 9>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <144>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <272>; ++ mcast_loop_pri = <4>; ++ cfg = <36 0 48 0 48>; ++ }; ++ }; ++ }; ++ port@2 { ++ port_id = <2>; ++ l1scheduler { ++ group@0 { ++ sp = <40>; ++ cfg = <0 12 0 12>; ++ }; ++ group@1 { ++ sp = <41>; ++ cfg = <1 13 1 13>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <160>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <276>; ++ mcast_loop_pri = <4>; ++ cfg = <40 0 64 0 64>; ++ }; ++ }; ++ }; ++ port@3 { ++ port_id = <3>; ++ l1scheduler { ++ group@0 { ++ sp = <44>; ++ cfg = <0 16 0 16>; ++ }; ++ group@1 { ++ sp = <45>; ++ cfg = <1 17 1 17>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <176>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <280>; ++ mcast_loop_pri = <4>; ++ cfg = <44 0 80 0 80>; ++ }; ++ }; ++ }; ++ port@4 { ++ port_id = <4>; ++ l1scheduler { ++ group@0 { ++ sp = <48>; ++ cfg = <0 20 0 20>; ++ }; ++ group@1 { ++ sp = <49>; ++ cfg = <1 21 1 21>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <192>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <284>; ++ mcast_loop_pri = <4>; ++ cfg = <48 0 96 0 96>; ++ }; ++ }; ++ }; ++ port@5 { ++ port_id = <5>; ++ l1scheduler { ++ group@0 { ++ sp = <52>; ++ cfg = <0 24 0 24>; ++ }; ++ group@1 { ++ sp = <53>; ++ cfg = <1 25 1 25>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <208>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <288>; ++ mcast_loop_pri = <4>; ++ cfg = <52 0 112 0 112>; ++ }; ++ }; ++ }; ++ port@6 { ++ port_id = <6>; ++ l1scheduler { ++ group@0 { ++ sp = <56>; ++ cfg = <0 28 0 28>; ++ }; ++ group@1 { ++ sp = <57>; ++ cfg = <1 29 1 29>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <224>; ++ ucast_loop_pri = <16>; ++ mcast_queue = <292>; ++ mcast_loop_pri = <4>; ++ cfg = <56 0 128 0 128>; ++ }; ++ }; ++ }; ++ port@7 { ++ port_id = <7>; ++ l1scheduler { ++ group@0 { ++ sp = <60>; ++ cfg = <0 32 0 32>; ++ }; ++ }; ++ l0scheduler { ++ group@0 { ++ ucast_queue = <240>; ++ mcast_queue = <296>; ++ cfg = <60 0 144 0 144>; ++ }; ++ }; ++ }; ++ }; ++ }; ++ ++ 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"; ++ }; ++ ++ dp3 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <3>; ++ reg = <0x3a001400 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <2>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp4 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <4>; ++ reg = <0x3a001600 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <3>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp5 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <5>; ++ reg = <0x3a001800 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <24>; ++ phy-mode = "sgmii"; ++ }; ++ ++ dp6 { ++ device_type = "network"; ++ compatible = "qcom,nss-dp"; ++ qcom,id = <6>; ++ reg = <0x3a001a00 0x200>; ++ qcom,mactype = <0>; ++ local-mac-address = [000000000000]; ++ qcom,link-poll = <1>; ++ qcom,phy-mdio-addr = <28>; ++ phy-mode = "sgmii"; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-0 = <&led_pins>; ++ pinctrl-names = "default"; ++ ++ led_power: led_pwr { ++ label = "green:power"; ++ gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; ++ default-state = "on"; ++ linux,default-trigger = "led_pwr"; ++ }; ++ ++ led_2g { ++ label = "green:wifi2"; ++ gpio = <&tlmm 47 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_5g { ++ label = "green:wifi5"; ++ gpio = <&tlmm 48 GPIO_ACTIVE_HIGH>; ++ default-state = "off"; ++ }; ++ ++ led_bt { ++ gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>; ++ label = "green:bt"; ++ default-state = "off"; ++ linux,default-trigger = "led_bt"; ++ }; ++ }; ++ nss-macsec0 { ++ compatible = "qcom,nss-macsec"; ++ phy_addr = <0x18>; ++ phy_access_mode = <0>; ++ mdiobus = <&mdio>; ++ }; ++ nss-macsec1 { ++ compatible = "qcom,nss-macsec"; ++ phy_addr = <0x1c>; ++ phy_access_mode = <0>; ++ mdiobus = <&mdio>; ++ }; ++}; ++ ++&serial_blsp4 { ++ pinctrl-0 = <&uart_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&spi_0 { /* BLSP1 QUP1 */ ++ 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; ++ }; ++}; ++ ++&serial_blsp2 { ++ pinctrl-0 = <&hsuart_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&nss0 { ++ qcom,low-frequency = <187200000>; ++ qcom,mid-frequency = <748800000>; ++ qcom,max-frequency = <1497600000>; ++}; ++ ++&msm_imem { ++ status = "disabled"; ++}; ++ ++&ssphy_0 { ++ status = "ok"; ++}; ++ ++&qusb_phy_0 { ++ status = "ok"; ++}; ++ ++&ssphy_1 { ++ status = "ok"; ++}; ++ ++&qusb_phy_1 { ++ status = "ok"; ++}; ++ ++&usb3_0 { ++ status = "ok"; ++}; ++ ++&usb3_1 { ++ status = "ok"; ++}; ++ ++&cryptobam { ++ status = "ok"; ++}; ++ ++&crypto { ++ status = "ok"; ++}; ++ ++&i2c_0 { ++ status = "disabled"; ++}; ++ ++&i2c_1 { ++ status = "disabled"; ++}; ++ ++&qpic_bam { ++ status = "ok"; ++}; ++ ++&nand { ++ pinctrl-0 = <&qpic_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++}; ++ ++&qpic_lcd { ++ status = "disabled"; ++}; ++ ++&qpic_lcd_panel { ++ status = "disabled"; ++}; ++ ++&ledc { ++ status = "disabled"; ++}; ++ ++&pcie0 { ++ status = "ok"; ++}; ++ ++&pcie1 { ++ status = "disabled"; ++}; ++ ++&glink_rpm { ++ status = "disabled"; ++}; ++ ++&apc_cpr { ++ /* Same CPR configuration as OAK */ ++ compatible = "qcom,cpr4-ipq817x-apss-regulator"; ++ ++ thread@0 { ++ apc_vreg: regulator { ++ regulator-min-microvolt = <1>; ++ regulator-max-microvolt = <2>; ++ qcom,cpr-fuse-corners = <2>; ++ qcom,cpr-corners = <3>; ++ qcom,cpr-speed-bin-corners = <3>; ++ qcom,cpr-corner-fmax-map = <1 3>; ++ ++ qcom,cpr-voltage-ceiling = ++ <840000 904000 944000>; ++ qcom,cpr-voltage-floor = ++ <592000 648000 712000>; ++ qcom,corner-frequencies = ++ <1017600000 1382400000 1382400000>; ++ ++ qcom,cpr-open-loop-voltage-fuse-adjustment-0 = ++ /* Speed bin 0; CPR rev 0..7 */ ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>; ++ ++ qcom,cpr-open-loop-voltage-fuse-adjustment-1 = ++ /* Speed bin 0; CPR rev 0..7 */ ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 20000 26000>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>; ++ ++ qcom,cpr-open-loop-voltage-fuse-adjustment-v2-0 = ++ /* Speed bin 0; CPR rev 0..7 */ ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>; ++ ++ qcom,cpr-open-loop-voltage-fuse-adjustment-v2-1 = ++ /* Speed bin 0; CPR rev 0..7 */ ++ < 0 0>, ++ < 0 7000>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>, ++ < 0 0>; ++ ++ qcom,cpr-floor-to-ceiling-max-range = ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>, ++ < 40000 40000 40000>; ++ }; ++ }; ++}; ++ ++&npu_cpr { ++ status = "disabled"; ++}; ++ ++&nss0 { ++ npu-supply = <&dummy_reg>; ++ mx-supply = <&dummy_reg>; ++}; ++ ++&wifi0 { ++ qcom,board_id = <0x92>; ++}; ++ ++&wifi1 { ++ qcom,board_id = <0x292>; ++}; +diff --git a/target/linux/ipq807x/image/ipq807x.mk b/target/linux/ipq807x/image/ipq807x.mk +index 9a8cbd8581..d0c02cd803 100644 +--- a/target/linux/ipq807x/image/ipq807x.mk ++++ b/target/linux/ipq807x/image/ipq807x.mk +@@ -39,3 +39,13 @@ define Device/cig_wf194 + DEVICE_PACKAGES := ath11k-wifi-cig-wf194c aq-fw-download uboot-envtools + endef + TARGET_DEVICES += cig_wf194 ++ ++define Device/edgecore_eap102 ++ DEVICE_TITLE := Edgecore EAP102 ++ DEVICE_DTS := qcom-ipq807x-eap102 ++ DEVICE_DTS_DIR := $(DTS_DIR)/qcom ++ DEVICE_DTS_CONFIG=config@ac02 ++ SUPPORTED_DEVICES := edgecore,eap102 ++ DEVICE_PACKAGES := ath11k-wifi-edgecore-eap102 kmod-usb3 kmod-usb2 ++endef ++TARGET_DEVICES += edgecore_eap102 +-- +2.25.1 + diff --git a/profiles/eap102.yml b/profiles/eap102.yml new file mode 100644 index 000000000..c0882d66c --- /dev/null +++ b/profiles/eap102.yml @@ -0,0 +1,10 @@ +--- +profile: edgecore_eap102 +target: ipq807x +subtarget: ipq807x +description: Build image for the Edgecore EAP102 +feeds: + - name: ipq807x + path: ../../feeds/ipq807x + +