Message ID | 1536939356-22143-1-git-send-email-rjangir@codeaurora.org |
---|---|
State | Changes Requested |
Headers | show |
Series | [OpenWrt-Devel,v3] ipq40xx: Add support for IPQ4019 ap-dk07.1-c1 | expand |
On Friday, September 14, 2018 5:35:56 PM CEST Ram Chandra Jangir wrote: > * SoC: QCA IPQ4019 > * RAM: 512 MiB > * Flash: 32 MiB of SPI NOR and 128 MiB NAND > * Wireless: 2.4-GHz 802.11ng, and two 5-GHz 802.11ac > * IoT : > CSR8811 radio [ supports BT classic and BLE ] > SiLabs EFR32MG radio [ supports 802.15.4 ZigBee ] > > Tested on IPQ ap-dk07.1-c1 Board: > 1) NOR boot and NAND boot > 2) Tested USB and PCIe interfaces > 3) WDOG test > 4) cpu frequency scaling > 5) ethernet, 2G and 5G WiFi > 6) ubi sysupgrade > > The ap-dk07.1-c1 board is already available in upstream > linux v4.17 > > Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org> I'm sorry, but the issues in 'qcom-ipq4019-ap.dk07.1-c1.dts' and 'qcom-ipq4019-ap.dk07.1.dtsi' have not been addressed in this patch. You have my notes in the v2 reply. Thanks, Christian > --- > Changes since v2: > * Dropped rootfs conflict patch 904-Fix-rootfs-*-mount.patch, > as it can automount "rootfs" partition by setting bootargs > as 'ubi.mtd=rootfs' > * nand sysupgrade support > * Validated with both ath10k and ath10k-ct WiFi > > .../etc/hotplug.d/firmware/11-ath10k-caldata | 6 +- > .../ipq40xx/base-files/lib/upgrade/platform.sh | 3 +- > target/linux/ipq40xx/image/Makefile | 12 +++ > ...ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch | 99 ++++++++++++++++++++++ > ...4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch | 99 ++++++++++++++++++++++ > ...5-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch | 99 ++++++++++++++++++++++ > 6 files changed, 315 insertions(+), 3 deletions(-) > create mode 100644 target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch > create mode 100644 target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch > create mode 100644 target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch > > diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > index 1d4fd9c..cfbe801 100644 > --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata > @@ -143,7 +143,8 @@ case "$FIRMWARE" in > ;; > compex,wpj428 |\ > openmesh,a42 |\ > - openmesh,a62) > + openmesh,a62 |\ > + qcom,ipq4019-ap-dk07.1-c1) > ath10kcal_extract "0:ART" 4096 12064 > ;; > zyxel,nbg6617 |\ > @@ -179,7 +180,8 @@ case "$FIRMWARE" in > ;; > compex,wpj428 |\ > openmesh,a42 |\ > - openmesh,a62) > + openmesh,a62 |\ > + qcom,ipq4019-ap-dk07.1-c1) > ath10kcal_extract "0:ART" 20480 12064 > ;; > zyxel,nbg6617 |\ > diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh > index 610f9bb..b6c6f92 100644 > --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh > @@ -46,7 +46,8 @@ zyxel_do_upgrade() { > > platform_do_upgrade() { > case "$(board_name)" in > - 8dev,jalapeno) > + 8dev,jalapeno |\ > + qcom,ipq4019-ap-dk07.1-c1) > nand_do_upgrade "$ARGV" > ;; > asus,rt-ac58u) > diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile > index 5cd11ca..6d58c41 100644 > --- a/target/linux/ipq40xx/image/Makefile > +++ b/target/linux/ipq40xx/image/Makefile > @@ -207,6 +207,18 @@ define Device/qcom_ap-dk04.1-c1 > endef > TARGET_DEVICES += qcom_ap-dk04.1-c1 > > +define Device/qcom_ipq4019-ap-dk07.1-c1 > + $(call Device/FitImage) > + $(call Device/UbiFit) > + DEVICE_DTS := qcom-ipq4019-ap.dk07.1-c1 > + KERNEL_INSTALL := 1 > + KERNEL_SIZE := 4096k > + BLOCKSIZE := 128k > + PAGESIZE := 2048 > + DEVICE_TITLE := QCA AP-DK07.1-C1 > +endef > +TARGET_DEVICES += qcom_ipq4019-ap-dk07.1-c1 > + > define Device/zyxel_nbg6617 > $(call Device/FitImageLzma) > DEVICE_DTS := qcom-ipq4018-nbg6617 > diff --git a/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch b/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch > new file mode 100644 > index 0000000..bcc109f > --- /dev/null > +++ b/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch > @@ -0,0 +1,99 @@ > +From f97b2aaaf0734a3a6dd6effff6ee0aaa0a69cab5 Mon Sep 17 00:00:00 2001 > +From: Sricharan R <sricharan@codeaurora.org> > +Date: Fri, 25 May 2018 11:41:17 +0530 > +Subject: [PATCH] ARM: dts: ipq4019: Add ipq4019-ap.dk07.1 common data > + > +Add the common data for all dk07 based boards. > + > +Reviewed-by: Abhishek Sahu <absahu@codeaurora.org> > +Signed-off-by: Sricharan R <sricharan@codeaurora.org> > +Signed-off-by: Andy Gross <andy.gross@linaro.org> > +--- > + arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi | 75 +++++++++++++++++++++++++++ > + 1 file changed, 75 insertions(+) > + create mode 100644 arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi > + > +diff --git a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi > +new file mode 100644 > +index 0000000..9f1a5a66 > +--- /dev/null > ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi > +@@ -0,0 +1,75 @@ > ++// SPDX-License-Identifier: GPL-2.0 > ++// Copyright (c) 2018, The Linux Foundation. All rights reserved. > ++ > ++#include "qcom-ipq4019.dtsi" > ++#include <dt-bindings/input/input.h> > ++#include <dt-bindings/gpio/gpio.h> > ++ > ++/ { > ++ model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1"; > ++ > ++ memory { > ++ device_type = "memory"; > ++ reg = <0x80000000 0x20000000>; /* 512MB */ > ++ }; > ++ > ++ aliases { > ++ serial0 = &blsp1_uart1; > ++ serial1 = &blsp1_uart2; > ++ }; > ++ > ++ chosen { > ++ stdout-path = "serial0:115200n8"; > ++ }; > ++ > ++ soc { > ++ pinctrl@1000000 { > ++ serial_0_pins: serial0-pinmux { > ++ pins = "gpio16", "gpio17"; > ++ function = "blsp_uart0"; > ++ bias-disable; > ++ }; > ++ > ++ i2c_0_pins: i2c-0-pinmux { > ++ pins = "gpio20", "gpio21"; > ++ function = "blsp_i2c0"; > ++ bias-disable; > ++ }; > ++ > ++ nand_pins: nand-pins { > ++ pins = "gpio53", "gpio55", "gpio56", > ++ "gpio57", "gpio58", "gpio59", > ++ "gpio60", "gpio62", "gpio63", > ++ "gpio64", "gpio65", "gpio66", > ++ "gpio67", "gpio68", "gpio69"; > ++ function = "qpic"; > ++ }; > ++ }; > ++ > ++ serial@78af000 { > ++ pinctrl-0 = <&serial_0_pins>; > ++ pinctrl-names = "default"; > ++ status = "ok"; > ++ }; > ++ > ++ dma@7884000 { > ++ status = "ok"; > ++ }; > ++ > ++ i2c@78b7000 { /* BLSP1 QUP2 */ > ++ pinctrl-0 = <&i2c_0_pins>; > ++ pinctrl-names = "default"; > ++ status = "ok"; > ++ }; > ++ > ++ dma@7984000 { > ++ status = "ok"; > ++ }; > ++ > ++ qpic-nand@79b0000 { > ++ pinctrl-0 = <&nand_pins>; > ++ pinctrl-names = "default"; > ++ status = "ok"; > ++ }; > ++ }; > ++}; > +-- > +1.9.1 > + > diff --git a/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch b/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch > new file mode 100644 > index 0000000..655a372 > --- /dev/null > +++ b/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch > @@ -0,0 +1,99 @@ > +From 5ade893ec03c6612a38d53eaf4324f21e18eeef5 Mon Sep 17 00:00:00 2001 > +From: Sricharan R <sricharan@codeaurora.org> > +Date: Fri, 25 May 2018 11:41:18 +0530 > +Subject: [PATCH] ARM: dts: ipq4019: Add qcom-ipq4019-ap.dk07.1-c1 board file > + > +Reviewed-by: Abhishek Sahu <absahu@codeaurora.org> > +Signed-off-by: Sricharan R <sricharan@codeaurora.org> > +Signed-off-by: Andy Gross <andy.gross@linaro.org> > +--- > + arch/arm/boot/dts/Makefile | 1 + > + arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts | 64 +++++++++++++++++++++++++ > + 2 files changed, 65 insertions(+) > + create mode 100644 arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts > + > +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > +index 2c002b3..eede5df 100644 > +--- a/arch/arm/boot/dts/Makefile > ++++ b/arch/arm/boot/dts/Makefile > +@@ -708,6 +708,7 @@ > + qcom-ipq4019-ap.dk01.1-c1.dtb \ > + qcom-ipq4019-a62.dtb \ > + qcom-ipq4019-ap.dk04.1-c1.dtb \ > ++ qcom-ipq4019-ap.dk07.1-c1.dtb \ > + qcom-ipq4028-wpj428.dtb \ > + qcom-ipq4029-gl-b1300.dtb \ > + qcom-ipq4029-mr33.dtb \ > +diff --git a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts > +new file mode 100644 > +index 0000000..8c7ef65 > +--- /dev/null > ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts > +@@ -0,0 +1,64 @@ > ++// SPDX-License-Identifier: GPL-2.0 > ++// Copyright (c) 2018, The Linux Foundation. All rights reserved. > ++ > ++#include "qcom-ipq4019-ap.dk07.1.dtsi" > ++ > ++/ { > ++ model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1-C1"; > ++ compatible = "qcom,ipq4019-ap-dk07.1-c1"; > ++ > ++ soc { > ++ pci@40000000 { > ++ status = "ok"; > ++ perst-gpio = <&tlmm 38 0x1>; > ++ }; > ++ > ++ spi@78b6000 { > ++ status = "ok"; > ++ }; > ++ > ++ pinctrl@1000000 { > ++ serial_1_pins: serial1-pinmux { > ++ pins = "gpio8", "gpio9", > ++ "gpio10", "gpio11"; > ++ function = "blsp_uart1"; > ++ bias-disable; > ++ }; > ++ > ++ spi_0_pins: spi-0-pinmux { > ++ pinmux { > ++ function = "blsp_spi0"; > ++ pins = "gpio13", "gpio14", "gpio15"; > ++ bias-disable; > ++ }; > ++ pinmux_cs { > ++ function = "gpio"; > ++ pins = "gpio12"; > ++ bias-disable; > ++ output-high; > ++ }; > ++ }; > ++ }; > ++ > ++ serial@78b0000 { > ++ pinctrl-0 = <&serial_1_pins>; > ++ pinctrl-names = "default"; > ++ status = "ok"; > ++ }; > ++ > ++ spi@78b5000 { > ++ pinctrl-0 = <&spi_0_pins>; > ++ pinctrl-names = "default"; > ++ status = "ok"; > ++ cs-gpios = <&tlmm 12 0>; > ++ > ++ m25p80@0 { > ++ #address-cells = <1>; > ++ #size-cells = <1>; > ++ reg = <0>; > ++ compatible = "n25q128a11"; > ++ spi-max-frequency = <24000000>; > ++ }; > ++ }; > ++ }; > ++}; > +-- > +1.9.1 > + > diff --git a/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch b/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch > new file mode 100644 > index 0000000..58238c4 > --- /dev/null > +++ b/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch > @@ -0,0 +1,99 @@ > +--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts > ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts > +@@ -5,7 +5,7 @@ > + > + / { > + model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1-C1"; > +- compatible = "qcom,ipq4019-ap-dk07.1-c1"; > ++ compatible = "qcom,ipq4019-ap-dk07.1-c1", "qcom,ipq4019"; > + > + soc { > + pci@40000000 { > +--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi > ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi > +@@ -67,9 +67,65 @@ > + }; > + > + qpic-nand@79b0000 { > ++ compatible = "qcom,ipq4019-nand", "qcom,msm-nand"; > + pinctrl-0 = <&nand_pins>; > + pinctrl-names = "default"; > + status = "ok"; > ++ > ++ nand@0 { > ++ compatible = "qcom,nandcs"; > ++ reg = <0>; > ++ #address-cells = <1>; > ++ #size-cells = <1>; > ++ > ++ nand-ecc-strength = <4>; > ++ nand-ecc-step-size = <512>; > ++ nand-bus-width = <8>; > ++ }; > ++ }; > ++ > ++ mdio@90000 { > ++ status = "okay"; > ++ }; > ++ > ++ ess-switch@c000000 { > ++ status = "okay"; > ++ }; > ++ > ++ ess-psgmii@98000 { > ++ status = "okay"; > ++ }; > ++ > ++ edma@c080000 { > ++ status = "okay"; > ++ }; > ++ > ++ wifi@a000000 { > ++ status = "okay"; > ++ }; > ++ > ++ wifi@a800000 { > ++ status = "okay"; > ++ }; > ++ > ++ usb3_ss_phy: ssphy@9a000 { > ++ status = "ok"; > ++ }; > ++ > ++ usb3_hs_phy: hsphy@a6000 { > ++ status = "ok"; > ++ }; > ++ > ++ usb3: usb3@8af8800 { > ++ status = "ok"; > ++ }; > ++ > ++ usb2_hs_phy: hsphy@a8000 { > ++ status = "ok"; > ++ }; > ++ > ++ usb2: usb2@60f8800 { > ++ status = "ok"; > + }; > + }; > + }; > +--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi > ++++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi > +@@ -348,7 +348,7 @@ > + regulator; > + }; > + > +- serial@78af000 { > ++ blsp1_uart1: serial@78af000 { > + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; > + reg = <0x78af000 0x200>; > + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; > +@@ -360,7 +360,7 @@ > + dma-names = "rx", "tx"; > + }; > + > +- serial@78b0000 { > ++ blsp1_uart2: serial@78b0000 { > + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; > + reg = <0x78b0000 0x200>; > + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; >
diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 1d4fd9c..cfbe801 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -143,7 +143,8 @@ case "$FIRMWARE" in ;; compex,wpj428 |\ openmesh,a42 |\ - openmesh,a62) + openmesh,a62 |\ + qcom,ipq4019-ap-dk07.1-c1) ath10kcal_extract "0:ART" 4096 12064 ;; zyxel,nbg6617 |\ @@ -179,7 +180,8 @@ case "$FIRMWARE" in ;; compex,wpj428 |\ openmesh,a42 |\ - openmesh,a62) + openmesh,a62 |\ + qcom,ipq4019-ap-dk07.1-c1) ath10kcal_extract "0:ART" 20480 12064 ;; zyxel,nbg6617 |\ diff --git a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh index 610f9bb..b6c6f92 100644 --- a/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq40xx/base-files/lib/upgrade/platform.sh @@ -46,7 +46,8 @@ zyxel_do_upgrade() { platform_do_upgrade() { case "$(board_name)" in - 8dev,jalapeno) + 8dev,jalapeno |\ + qcom,ipq4019-ap-dk07.1-c1) nand_do_upgrade "$ARGV" ;; asus,rt-ac58u) diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile index 5cd11ca..6d58c41 100644 --- a/target/linux/ipq40xx/image/Makefile +++ b/target/linux/ipq40xx/image/Makefile @@ -207,6 +207,18 @@ define Device/qcom_ap-dk04.1-c1 endef TARGET_DEVICES += qcom_ap-dk04.1-c1 +define Device/qcom_ipq4019-ap-dk07.1-c1 + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_DTS := qcom-ipq4019-ap.dk07.1-c1 + KERNEL_INSTALL := 1 + KERNEL_SIZE := 4096k + BLOCKSIZE := 128k + PAGESIZE := 2048 + DEVICE_TITLE := QCA AP-DK07.1-C1 +endef +TARGET_DEVICES += qcom_ipq4019-ap-dk07.1-c1 + define Device/zyxel_nbg6617 $(call Device/FitImageLzma) DEVICE_DTS := qcom-ipq4018-nbg6617 diff --git a/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch b/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch new file mode 100644 index 0000000..bcc109f --- /dev/null +++ b/target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch @@ -0,0 +1,99 @@ +From f97b2aaaf0734a3a6dd6effff6ee0aaa0a69cab5 Mon Sep 17 00:00:00 2001 +From: Sricharan R <sricharan@codeaurora.org> +Date: Fri, 25 May 2018 11:41:17 +0530 +Subject: [PATCH] ARM: dts: ipq4019: Add ipq4019-ap.dk07.1 common data + +Add the common data for all dk07 based boards. + +Reviewed-by: Abhishek Sahu <absahu@codeaurora.org> +Signed-off-by: Sricharan R <sricharan@codeaurora.org> +Signed-off-by: Andy Gross <andy.gross@linaro.org> +--- + arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi | 75 +++++++++++++++++++++++++++ + 1 file changed, 75 insertions(+) + create mode 100644 arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi + +diff --git a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi +new file mode 100644 +index 0000000..9f1a5a66 +--- /dev/null ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi +@@ -0,0 +1,75 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// Copyright (c) 2018, The Linux Foundation. All rights reserved. ++ ++#include "qcom-ipq4019.dtsi" ++#include <dt-bindings/input/input.h> ++#include <dt-bindings/gpio/gpio.h> ++ ++/ { ++ model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1"; ++ ++ memory { ++ device_type = "memory"; ++ reg = <0x80000000 0x20000000>; /* 512MB */ ++ }; ++ ++ aliases { ++ serial0 = &blsp1_uart1; ++ serial1 = &blsp1_uart2; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ soc { ++ pinctrl@1000000 { ++ serial_0_pins: serial0-pinmux { ++ pins = "gpio16", "gpio17"; ++ function = "blsp_uart0"; ++ bias-disable; ++ }; ++ ++ i2c_0_pins: i2c-0-pinmux { ++ pins = "gpio20", "gpio21"; ++ function = "blsp_i2c0"; ++ bias-disable; ++ }; ++ ++ nand_pins: nand-pins { ++ pins = "gpio53", "gpio55", "gpio56", ++ "gpio57", "gpio58", "gpio59", ++ "gpio60", "gpio62", "gpio63", ++ "gpio64", "gpio65", "gpio66", ++ "gpio67", "gpio68", "gpio69"; ++ function = "qpic"; ++ }; ++ }; ++ ++ serial@78af000 { ++ pinctrl-0 = <&serial_0_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ }; ++ ++ dma@7884000 { ++ status = "ok"; ++ }; ++ ++ i2c@78b7000 { /* BLSP1 QUP2 */ ++ pinctrl-0 = <&i2c_0_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ }; ++ ++ dma@7984000 { ++ status = "ok"; ++ }; ++ ++ qpic-nand@79b0000 { ++ pinctrl-0 = <&nand_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ }; ++ }; ++}; +-- +1.9.1 + diff --git a/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch b/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch new file mode 100644 index 0000000..655a372 --- /dev/null +++ b/target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch @@ -0,0 +1,99 @@ +From 5ade893ec03c6612a38d53eaf4324f21e18eeef5 Mon Sep 17 00:00:00 2001 +From: Sricharan R <sricharan@codeaurora.org> +Date: Fri, 25 May 2018 11:41:18 +0530 +Subject: [PATCH] ARM: dts: ipq4019: Add qcom-ipq4019-ap.dk07.1-c1 board file + +Reviewed-by: Abhishek Sahu <absahu@codeaurora.org> +Signed-off-by: Sricharan R <sricharan@codeaurora.org> +Signed-off-by: Andy Gross <andy.gross@linaro.org> +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts | 64 +++++++++++++++++++++++++ + 2 files changed, 65 insertions(+) + create mode 100644 arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts + +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index 2c002b3..eede5df 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -708,6 +708,7 @@ + qcom-ipq4019-ap.dk01.1-c1.dtb \ + qcom-ipq4019-a62.dtb \ + qcom-ipq4019-ap.dk04.1-c1.dtb \ ++ qcom-ipq4019-ap.dk07.1-c1.dtb \ + qcom-ipq4028-wpj428.dtb \ + qcom-ipq4029-gl-b1300.dtb \ + qcom-ipq4029-mr33.dtb \ +diff --git a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts +new file mode 100644 +index 0000000..8c7ef65 +--- /dev/null ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts +@@ -0,0 +1,64 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// Copyright (c) 2018, The Linux Foundation. All rights reserved. ++ ++#include "qcom-ipq4019-ap.dk07.1.dtsi" ++ ++/ { ++ model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1-C1"; ++ compatible = "qcom,ipq4019-ap-dk07.1-c1"; ++ ++ soc { ++ pci@40000000 { ++ status = "ok"; ++ perst-gpio = <&tlmm 38 0x1>; ++ }; ++ ++ spi@78b6000 { ++ status = "ok"; ++ }; ++ ++ pinctrl@1000000 { ++ serial_1_pins: serial1-pinmux { ++ pins = "gpio8", "gpio9", ++ "gpio10", "gpio11"; ++ function = "blsp_uart1"; ++ bias-disable; ++ }; ++ ++ spi_0_pins: spi-0-pinmux { ++ pinmux { ++ function = "blsp_spi0"; ++ pins = "gpio13", "gpio14", "gpio15"; ++ bias-disable; ++ }; ++ pinmux_cs { ++ function = "gpio"; ++ pins = "gpio12"; ++ bias-disable; ++ output-high; ++ }; ++ }; ++ }; ++ ++ serial@78b0000 { ++ pinctrl-0 = <&serial_1_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ }; ++ ++ spi@78b5000 { ++ pinctrl-0 = <&spi_0_pins>; ++ pinctrl-names = "default"; ++ status = "ok"; ++ cs-gpios = <&tlmm 12 0>; ++ ++ m25p80@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ reg = <0>; ++ compatible = "n25q128a11"; ++ spi-max-frequency = <24000000>; ++ }; ++ }; ++ }; ++}; +-- +1.9.1 + diff --git a/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch b/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch new file mode 100644 index 0000000..58238c4 --- /dev/null +++ b/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch @@ -0,0 +1,99 @@ +--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1-c1.dts +@@ -5,7 +5,7 @@ + + / { + model = "Qualcomm Technologies, Inc. IPQ4019/AP-DK07.1-C1"; +- compatible = "qcom,ipq4019-ap-dk07.1-c1"; ++ compatible = "qcom,ipq4019-ap-dk07.1-c1", "qcom,ipq4019"; + + soc { + pci@40000000 { +--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi +@@ -67,9 +67,65 @@ + }; + + qpic-nand@79b0000 { ++ compatible = "qcom,ipq4019-nand", "qcom,msm-nand"; + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + status = "ok"; ++ ++ nand@0 { ++ compatible = "qcom,nandcs"; ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ nand-ecc-strength = <4>; ++ nand-ecc-step-size = <512>; ++ nand-bus-width = <8>; ++ }; ++ }; ++ ++ mdio@90000 { ++ status = "okay"; ++ }; ++ ++ ess-switch@c000000 { ++ status = "okay"; ++ }; ++ ++ ess-psgmii@98000 { ++ status = "okay"; ++ }; ++ ++ edma@c080000 { ++ status = "okay"; ++ }; ++ ++ wifi@a000000 { ++ status = "okay"; ++ }; ++ ++ wifi@a800000 { ++ status = "okay"; ++ }; ++ ++ usb3_ss_phy: ssphy@9a000 { ++ status = "ok"; ++ }; ++ ++ usb3_hs_phy: hsphy@a6000 { ++ status = "ok"; ++ }; ++ ++ usb3: usb3@8af8800 { ++ status = "ok"; ++ }; ++ ++ usb2_hs_phy: hsphy@a8000 { ++ status = "ok"; ++ }; ++ ++ usb2: usb2@60f8800 { ++ status = "ok"; + }; + }; + }; +--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi ++++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi +@@ -348,7 +348,7 @@ + regulator; + }; + +- serial@78af000 { ++ blsp1_uart1: serial@78af000 { + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; + reg = <0x78af000 0x200>; + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; +@@ -360,7 +360,7 @@ + dma-names = "rx", "tx"; + }; + +- serial@78b0000 { ++ blsp1_uart2: serial@78b0000 { + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; + reg = <0x78b0000 0x200>; + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
* SoC: QCA IPQ4019 * RAM: 512 MiB * Flash: 32 MiB of SPI NOR and 128 MiB NAND * Wireless: 2.4-GHz 802.11ng, and two 5-GHz 802.11ac * IoT : CSR8811 radio [ supports BT classic and BLE ] SiLabs EFR32MG radio [ supports 802.15.4 ZigBee ] Tested on IPQ ap-dk07.1-c1 Board: 1) NOR boot and NAND boot 2) Tested USB and PCIe interfaces 3) WDOG test 4) cpu frequency scaling 5) ethernet, 2G and 5G WiFi 6) ubi sysupgrade The ap-dk07.1-c1 board is already available in upstream linux v4.17 Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org> --- Changes since v2: * Dropped rootfs conflict patch 904-Fix-rootfs-*-mount.patch, as it can automount "rootfs" partition by setting bootargs as 'ubi.mtd=rootfs' * nand sysupgrade support * Validated with both ath10k and ath10k-ct WiFi .../etc/hotplug.d/firmware/11-ath10k-caldata | 6 +- .../ipq40xx/base-files/lib/upgrade/platform.sh | 3 +- target/linux/ipq40xx/image/Makefile | 12 +++ ...ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch | 99 ++++++++++++++++++++++ ...4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch | 99 ++++++++++++++++++++++ ...5-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch | 99 ++++++++++++++++++++++ 6 files changed, 315 insertions(+), 3 deletions(-) create mode 100644 target/linux/ipq40xx/patches-4.14/902-ARM-dts-ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch create mode 100644 target/linux/ipq40xx/patches-4.14/903-ARM-dts-ipq4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch create mode 100644 target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch