diff mbox series

[OpenWrt-Devel,v3] ipq40xx: Add support for IPQ4019 ap-dk07.1-c1

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

Commit Message

Ram Chandra Jangir Sept. 14, 2018, 3:35 p.m. UTC
* 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

Comments

Christian Lamparter Sept. 19, 2018, 4:58 p.m. UTC | #1
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 mbox series

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>;