mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-30 01:52:51 +00:00
ipq807x: add preliminary eap106 support
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
From 193d8f3f91f2a536e904404ab6a0c00a159a14fa Mon Sep 17 00:00:00 2001
|
||||
From 969714cb5e188d3d7a4391425c2a55354da13855 Mon Sep 17 00:00:00 2001
|
||||
From: John Crispin <john@phrozen.org>
|
||||
Date: Sat, 18 Jul 2020 08:53:44 +0200
|
||||
Subject: [PATCH 01/27] ipq807x: add the Qualcomm AX target support
|
||||
Subject: [PATCH 01/30] ipq807x: add the Qualcomm AX target support
|
||||
|
||||
Signed-off-by: John Crispin <john@phrozen.org>
|
||||
---
|
||||
@@ -13,19 +13,20 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
target/linux/ipq807x/109-logspam.patch | 24 +
|
||||
target/linux/ipq807x/Makefile | 22 +
|
||||
.../ipq807x/base-files/etc/board.d/01_leds | 36 +
|
||||
.../ipq807x/base-files/etc/board.d/02_network | 77 +
|
||||
.../etc/hotplug.d/firmware/10-ath11k-caldata | 90 +
|
||||
.../ipq807x/base-files/etc/board.d/02_network | 78 +
|
||||
.../etc/hotplug.d/firmware/10-ath11k-caldata | 92 +
|
||||
.../ipq807x/base-files/etc/init.d/aq_phy | 15 +
|
||||
.../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 | 64 +
|
||||
.../base-files/lib/upgrade/platform.sh | 66 +
|
||||
target/linux/ipq807x/config-4.4 | 824 +++++++++
|
||||
.../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 +
|
||||
.../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 +
|
||||
.../arch/arm/boot/dts/qcom-ipq807x-ex447.dts | 26 +
|
||||
.../boot/dts/qcom-ipq807x-sercomm-wallaby.dts | 26 +
|
||||
@@ -34,7 +35,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
.../boot/dts/qcom/qcom-ipq807x-eap102.dts | 918 ++++++++++
|
||||
target/linux/ipq807x/image/Makefile | 26 +
|
||||
target/linux/ipq807x/image/ipq60xx.mk | 47 +
|
||||
target/linux/ipq807x/image/ipq807x.mk | 72 +
|
||||
target/linux/ipq807x/image/ipq807x.mk | 81 +
|
||||
target/linux/ipq807x/ipq60xx/config-default | 122 ++
|
||||
.../linux/ipq807x/ipq60xx/profiles/default.mk | 9 +
|
||||
target/linux/ipq807x/ipq60xx/target.mk | 8 +
|
||||
@@ -52,7 +53,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
.../linux/ipq807x/patches/108-log-spam.patch | 37 +
|
||||
target/linux/ipq807x/patches/109-tplink.patch | 1518 +++++++++++++++++
|
||||
.../ipq807x/patches/110-add-esmt-nand.patch | 37 +
|
||||
47 files changed, 9302 insertions(+), 2 deletions(-)
|
||||
target/linux/ipq807x/patches/111-eap106.patch | 765 +++++++++
|
||||
49 files changed, 10107 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
|
||||
@@ -70,6 +72,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
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-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
|
||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex447.dts
|
||||
create mode 100644 target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-sercomm-wallaby.dts
|
||||
@@ -96,6 +99,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
create mode 100644 target/linux/ipq807x/patches/108-log-spam.patch
|
||||
create mode 100644 target/linux/ipq807x/patches/109-tplink.patch
|
||||
create mode 100644 target/linux/ipq807x/patches/110-add-esmt-nand.patch
|
||||
create mode 100644 target/linux/ipq807x/patches/111-eap106.patch
|
||||
|
||||
diff --git a/config/Config-kernel.in b/config/Config-kernel.in
|
||||
index f71114b5da..4a85d83118 100644
|
||||
@@ -315,10 +319,10 @@ index 0000000000..0bfa04d614
|
||||
+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..eaa440943b
|
||||
index 0000000000..d53f743d27
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/base-files/etc/board.d/02_network
|
||||
@@ -0,0 +1,77 @@
|
||||
@@ -0,0 +1,78 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+. /lib/functions.sh
|
||||
@@ -354,6 +358,7 @@ index 0000000000..eaa440943b
|
||||
+ ucidef_set_interface_wan "eth0"
|
||||
+ ;;
|
||||
+ edgecore,eap102|\
|
||||
+ edgecore,eap106|\
|
||||
+ cig,wf188n)
|
||||
+ ucidef_set_interface_lan "eth1"
|
||||
+ ucidef_set_interface_wan "eth0"
|
||||
@@ -398,10 +403,10 @@ index 0000000000..eaa440943b
|
||||
+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..536115a118
|
||||
index 0000000000..e64ea1a105
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/base-files/etc/hotplug.d/firmware/10-ath11k-caldata
|
||||
@@ -0,0 +1,90 @@
|
||||
@@ -0,0 +1,92 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||
@@ -445,6 +450,7 @@ index 0000000000..536115a118
|
||||
+ case "$board" in
|
||||
+ cig,wf194c|\
|
||||
+ edgecore,eap102 |\
|
||||
+ edgecore,eap106 |\
|
||||
+ qcom,ipq807x-hk01|\
|
||||
+ qcom,ipq807x-hk14|\
|
||||
+ tplink,ex227|\
|
||||
@@ -483,6 +489,7 @@ index 0000000000..536115a118
|
||||
+ case "$board" in
|
||||
+ edgecore,eap101|\
|
||||
+ edgecore,eap102|\
|
||||
+ edgecore,eap106|\
|
||||
+ cig,wf188n)
|
||||
+ ath11k_generate_macs
|
||||
+ ;;
|
||||
@@ -4732,10 +4739,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..de64559bce
|
||||
index 0000000000..4943b6c406
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh
|
||||
@@ -0,0 +1,64 @@
|
||||
@@ -0,0 +1,66 @@
|
||||
+. /lib/functions/system.sh
|
||||
+
|
||||
+qca_do_upgrade() {
|
||||
@@ -4763,6 +4770,7 @@ index 0000000000..de64559bce
|
||||
+ cig,wf194c|\
|
||||
+ edgecore,eap101|\
|
||||
+ edgecore,eap102|\
|
||||
+ edgecore,eap106|\
|
||||
+ tplink,ex227|\
|
||||
+ tplink,ex447|\
|
||||
+ qcom,ipq6018-cp01|\
|
||||
@@ -4793,6 +4801,7 @@ index 0000000000..de64559bce
|
||||
+ tplink,ex227)
|
||||
+ nand_upgrade_tar "$1"
|
||||
+ ;;
|
||||
+ edgecore,eap106|\
|
||||
+ edgecore,eap102|\
|
||||
+ edgecore,eap101)
|
||||
+ CI_UBIPART="rootfs1"
|
||||
@@ -5758,6 +5767,38 @@ index 0000000000..d1d3f3755e
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap106.dts b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap106.dts
|
||||
new file mode 100644
|
||||
index 0000000000..1527f81a40
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-eap106.dts
|
||||
@@ -0,0 +1,26 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2017, 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-ipq807x-eap106.dts"
|
||||
+
|
||||
+/ {
|
||||
+ soc {
|
||||
+ pmu {
|
||||
+ compatible = "arm,cortex-a7-pmu";
|
||||
+ interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
|
||||
+ IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex227.dts b/target/linux/ipq807x/files/arch/arm/boot/dts/qcom-ipq807x-ex227.dts
|
||||
new file mode 100644
|
||||
index 0000000000..f3b25e2633
|
||||
@@ -7322,10 +7363,10 @@ index 0000000000..2751391ac7
|
||||
+TARGET_DEVICES += xiaomi_ax1800
|
||||
diff --git a/target/linux/ipq807x/image/ipq807x.mk b/target/linux/ipq807x/image/ipq807x.mk
|
||||
new file mode 100644
|
||||
index 0000000000..2b23357323
|
||||
index 0000000000..92b301bcfb
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/image/ipq807x.mk
|
||||
@@ -0,0 +1,72 @@
|
||||
@@ -0,0 +1,81 @@
|
||||
+KERNEL_LOADADDR := 0x41208000
|
||||
+
|
||||
+define Device/qcom_hk01
|
||||
@@ -7373,6 +7414,15 @@ index 0000000000..2b23357323
|
||||
+endef
|
||||
+TARGET_DEVICES += edgecore_eap102
|
||||
+
|
||||
+define Device/edgecore_eap106
|
||||
+ DEVICE_TITLE := Edgecore EAP102
|
||||
+ DEVICE_DTS := qcom-ipq807x-eap106
|
||||
+ DEVICE_DTS_CONFIG=config@hk02
|
||||
+ SUPPORTED_DEVICES := edgecore,eap106
|
||||
+ DEVICE_PACKAGES := ath11k-wifi-edgecore-eap106 iaq-fw-download kmod-usb2 kmod-usb3 uboot-envtools
|
||||
+endef
|
||||
+TARGET_DEVICES += edgecore_eap106
|
||||
+
|
||||
+define Device/tplink_ex227
|
||||
+ DEVICE_TITLE := TP-Link EX227
|
||||
+ DEVICE_DTS := qcom-ipq807x-ex227
|
||||
@@ -13883,6 +13933,777 @@ index 0000000000..d47a4d0d16
|
||||
+
|
||||
+ /* The maximum expected count of bytes in the NAND ID sequence */
|
||||
+ #define NAND_MAX_ID_LEN 8
|
||||
diff --git a/target/linux/ipq807x/patches/111-eap106.patch b/target/linux/ipq807x/patches/111-eap106.patch
|
||||
new file mode 100644
|
||||
index 0000000000..497742193e
|
||||
--- /dev/null
|
||||
+++ b/target/linux/ipq807x/patches/111-eap106.patch
|
||||
@@ -0,0 +1,765 @@
|
||||
+Index: linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap106.dts
|
||||
+===================================================================
|
||||
+--- /dev/null
|
||||
++++ linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/arch/arm64/boot/dts/qcom/qcom-ipq807x-eap106.dts
|
||||
+@@ -0,0 +1,716 @@
|
||||
++/dts-v1/;
|
||||
++/*
|
||||
++ * Copyright (c) 2017-2018, 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-hk-cpu.dtsi"
|
||||
++
|
||||
++/ {
|
||||
++ #address-cells = <0x2>;
|
||||
++ #size-cells = <0x2>;
|
||||
++ model = "Edgecore EAP106";
|
||||
++ compatible = "edgecore,eap106", "qcom,ipq807x-hk02", "qcom,ipq807x";
|
||||
++ qcom,msm-id = <0x143 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";
|
||||
++ };
|
||||
++ 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 {
|
||||
++ leds_pins: leds_pinmux {
|
||||
++
|
||||
++ led1_yellow {
|
||||
++ pins = "gpio25";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-pull-down;
|
||||
++ };
|
||||
++ led1_green {
|
||||
++ pins = "gpio28";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-pull-down;
|
||||
++ };
|
||||
++ led2_amber {
|
||||
++ pins = "gpio29";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-pull-down;
|
||||
++ };
|
||||
++ led2_blue {
|
||||
++ pins = "gpio32";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ 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;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ uart_pins: uart_pins {
|
||||
++ mux {
|
||||
++ pins = "gpio23", "gpio24";
|
||||
++ function = "blsp4_uart1";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-disable;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ i2c_0_pins: i2c_0_pinmux {
|
||||
++ mux {
|
||||
++ pins = "gpio42", "gpio43";
|
||||
++ function = "blsp1_i2c";
|
||||
++ 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;
|
||||
++ };
|
||||
++ data_8 {
|
||||
++ pins = "gpio16";
|
||||
++ function = "qpic_pad8";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-disable;
|
||||
++ };
|
||||
++ qpic_pad {
|
||||
++ pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4",
|
||||
++ "gpio9", "gpio10", "gpio11", "gpio17";
|
||||
++ function = "qpic_pad";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-disable;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ hsuart_pins: hsuart_pins {
|
||||
++ mux {
|
||||
++ pins = "gpio46", "gpio47", "gpio48", "gpio49";
|
||||
++ function = "blsp2_uart";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-disable;
|
||||
++ output-low;
|
||||
++ };
|
||||
++ mux_1 {
|
||||
++ pins = "gpio51";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-disable;
|
||||
++ output-high;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ button_pins: button_pins {
|
||||
++ wps_button {
|
||||
++ pins = "gpio57";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <8>;
|
||||
++ bias-pull-up;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ uniphy_pins: uniphy_pinmux {
|
||||
++ mux {
|
||||
++ pins = "gpio60";
|
||||
++ function = "rx2";
|
||||
++ bias-disable;
|
||||
++ };
|
||||
++ };
|
||||
++ cnss_wlan_en_active: cnss_wlan_en_active {
|
||||
++ mux {
|
||||
++ pins = "gpio57";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <16>;
|
||||
++ output-high;
|
||||
++ bias-pull-up;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ cnss_wlan_en_sleep: cnss_wlan_en_sleep {
|
||||
++ mux {
|
||||
++ pins = "gpio57";
|
||||
++ function = "gpio";
|
||||
++ drive-strength = <2>;
|
||||
++ output-low;
|
||||
++ bias-pull-down;
|
||||
++ };
|
||||
++ };
|
||||
++};
|
||||
++
|
||||
++&soc {
|
||||
++ gpio_keys {
|
||||
++ compatible = "gpio-keys";
|
||||
++ pinctrl-0 = <&button_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++
|
||||
++ button@1 {
|
||||
++ label = "wps";
|
||||
++ linux,code = <KEY_WPS_BUTTON>;
|
||||
++ gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
++ linux,input-type = <1>;
|
||||
++ debounce-interval = <60>;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ leds {
|
||||
++ compatible = "gpio-leds";
|
||||
++ pinctrl-0 = <&leds_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++
|
||||
++ led@25 {
|
||||
++ label = "led1_yellow";
|
||||
++ gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||
++ linux,default-trigger = "led1_yellow";
|
||||
++ default-state = "off";
|
||||
++ };
|
||||
++
|
||||
++ led@28 {
|
||||
++ label = "led1_green";
|
||||
++ gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
|
||||
++ linux,default-trigger = "led1_green";
|
||||
++ default-state = "off";
|
||||
++ };
|
||||
++
|
||||
++ led@29 {
|
||||
++ label = "led2_amber";
|
||||
++ gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>;
|
||||
++ linux,default-trigger = "led2_amber";
|
||||
++ default-state = "off";
|
||||
++ };
|
||||
++
|
||||
++ led@32 {
|
||||
++ label = "led2_blue";
|
||||
++ gpio = <&tlmm 32 GPIO_ACTIVE_HIGH>;
|
||||
++ linux,default-trigger = "led2_blue";
|
||||
++ default-state = "off";
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ mdio@90000 {
|
||||
++ pinctrl-0 = <&mdio_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++ phy-reset-gpio = <&tlmm 37 0>;
|
||||
++ 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 = <4>;
|
||||
++ };
|
||||
++ phy5: ethernet-phy@5 {
|
||||
++ compatible ="ethernet-phy-ieee802.3-c45";
|
||||
++ reg = <8>;
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ ess-switch@3a000000 {
|
||||
++ pinctrl-0 = <&uniphy_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++ switch_cpu_bmp = <0x1>; /* cpu port bitmap */
|
||||
++ switch_lan_bmp = <0x30>; /* lan port bitmap */
|
||||
++ switch_wan_bmp = <0x40>; /* wan port bitmap */
|
||||
++ switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
|
||||
++ switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
|
||||
++ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/
|
||||
++ bm_tick_mode = <0>; /* bm tick mode */
|
||||
++ tm_tick_mode = <0>; /* tm tick mode */
|
||||
++ 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>;
|
||||
++ };
|
||||
++ group@1 {
|
||||
++ sp = <61>;
|
||||
++ cfg = <1 33 1 33>;
|
||||
++ };
|
||||
++ };
|
||||
++ l0scheduler {
|
||||
++ group@0 {
|
||||
++ ucast_queue = <240>;
|
||||
++ ucast_loop_pri = <16>;
|
||||
++ mcast_queue = <296>;
|
||||
++ cfg = <60 0 144 0 144>;
|
||||
++ };
|
||||
++ };
|
||||
++ };
|
||||
++ };
|
||||
++ };
|
||||
++
|
||||
++ dp1 {
|
||||
++ 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";
|
||||
++ };
|
||||
++
|
||||
++ dp2 {
|
||||
++ device_type = "network";
|
||||
++ compatible = "qcom,nss-dp";
|
||||
++ qcom,id = <6>;
|
||||
++ reg = <0x3a007000 0x3fff>;
|
||||
++ qcom,mactype = <1>;
|
||||
++ local-mac-address = [000000000000];
|
||||
++ qcom,link-poll = <1>;
|
||||
++ qcom,phy-mdio-addr = <8>;
|
||||
++ phy-mode = "sgmii";
|
||||
++ };
|
||||
++ wifi3: wifi3@f00000 {
|
||||
++ compatible = "qcom,cnss-qcn9000";
|
||||
++ wlan-en-gpio = <&tlmm 57 0>;
|
||||
++ pinctrl-names = "wlan_en_active", "wlan_en_sleep";
|
||||
++ pinctrl-0 = <&cnss_wlan_en_active>;
|
||||
++ pinctrl-1 = <&cnss_wlan_en_sleep>;
|
||||
++ status = "disabled";
|
||||
++ };
|
||||
++};
|
||||
++
|
||||
++&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";
|
||||
++};
|
||||
++
|
||||
++&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 {
|
||||
++ pinctrl-0 = <&i2c_0_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++ status = "ok";
|
||||
++};
|
||||
++
|
||||
++&i2c_1 {
|
||||
++ status = "disabled";
|
||||
++};
|
||||
++
|
||||
++&qpic_bam {
|
||||
++ status = "ok";
|
||||
++};
|
||||
++
|
||||
++&nand {
|
||||
++ pinctrl-0 = <&qpic_pins>;
|
||||
++ pinctrl-names = "default";
|
||||
++ status = "ok";
|
||||
++};
|
||||
++
|
||||
++&pcie0 {
|
||||
++ status = "disabled";
|
||||
++};
|
||||
+Index: linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/drivers/net/phy/aquantia.c
|
||||
+===================================================================
|
||||
+--- linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce.orig/drivers/net/phy/aquantia.c
|
||||
++++ linux-4.4.60-qsdk-10fd7d14853b7020b804acae690c8acec5d954ce/drivers/net/phy/aquantia.c
|
||||
+@@ -29,6 +29,7 @@
|
||||
+ #define PHY_ID_AQR109 0x03a1b502
|
||||
+ #define PHY_ID_AQR111 0x03a1b610
|
||||
+ #define PHY_ID_AQR111B0 0x03a1b612
|
||||
++#define PHY_ID_AQR111C 0x03a1b7e2
|
||||
+ #define PHY_ID_AQR112 0x03a1b660
|
||||
+ #define PHY_ID_AQR113C 0x31c31C10
|
||||
+ #define PHY_ID_AQR112C 0x03a1b792
|
||||
+@@ -701,6 +702,23 @@ static struct phy_driver aquantia_driver
|
||||
+ .driver = { .owner = THIS_MODULE,},
|
||||
+ },
|
||||
+ {
|
||||
++ .phy_id = PHY_ID_AQR111C,
|
||||
++ .phy_id_mask = 0xfffffff0,
|
||||
++ .name = "Aquantia AQR111C",
|
||||
++ .features = PHY_AQUANTIA_FEATURES,
|
||||
++ .flags = PHY_HAS_INTERRUPT,
|
||||
++ .probe = aquantia_phy_probe,
|
||||
++ .soft_reset = aquantia_soft_reset,
|
||||
++ .config_init = aquantia_config_init,
|
||||
++ .aneg_done = aquantia_aneg_done,
|
||||
++ .config_aneg = aquantia_config_aneg,
|
||||
++ .config_intr = aquantia_config_intr,
|
||||
++ .ack_interrupt = aquantia_ack_interrupt,
|
||||
++ .read_status = aquantia_read_status,
|
||||
++ .update_link = aquantia_update_link,
|
||||
++ .driver = { .owner = THIS_MODULE,},
|
||||
++},
|
||||
++{
|
||||
+ .phy_id = PHY_ID_AQR112,
|
||||
+ .phy_id_mask = 0xfffffff0,
|
||||
+ .name = "Aquantia AQR112",
|
||||
+@@ -790,6 +808,7 @@ static struct mdio_device_id __maybe_unu
|
||||
+ { PHY_ID_AQR109, 0xfffffff0 },
|
||||
+ { PHY_ID_AQR111, 0xfffffff0 },
|
||||
+ { PHY_ID_AQR111B0, 0xfffffff0 },
|
||||
++ { PHY_ID_AQR111C, 0xfffffff0 },
|
||||
+ { PHY_ID_AQR112, 0xfffffff0 },
|
||||
+ { PHY_ID_AQR113C, 0xfffffff0 },
|
||||
+ { PHY_ID_AQR112C, 0xfffffff0 },
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
21
profiles/edgecore_eap106.yml
Normal file
21
profiles/edgecore_eap106.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
profile: edgecore_eap106
|
||||
target: ipq807x
|
||||
subtarget: ipq807x
|
||||
description: Build image for the Edgecore EAP106
|
||||
image: bin/targets/ipq807x/ipq807x/openwrt-ipq807x-edgecore_eap106-squashfs-sysupgrade.tar
|
||||
feeds:
|
||||
- name: ipq807x
|
||||
path: ../../feeds/ipq807x
|
||||
include:
|
||||
- wifi-ax
|
||||
- ucentral-ap
|
||||
packages:
|
||||
- kmod-bluetooth
|
||||
- kmod-bluetooth_6lowpan
|
||||
- bluez-libs
|
||||
- bluez-daemon
|
||||
- bluez-utils
|
||||
- usbutils
|
||||
diffconfig: |
|
||||
CONFIG_KERNEL_IPQ_MEM_PROFILE=0
|
||||
Reference in New Issue
Block a user