[OpenWrt-Devel] [PATCH] ipq40xx: Add support for IPQ4019 ap-dk07.1-c1
Tom Psyborg
pozega.tomislav at gmail.com
Sat Sep 1 14:52:17 EDT 2018
is this correct information? Wireless: 2.4-GHz 802.11ac
On 31/08/2018, Ram Chandra Jangir <rjangir at codeaurora.org> wrote:
> * SoC: QCA IPQ4019
> * RAM: 512 MiB
> * Flash: 32 MiB of SPI NOR and 128 MiB NAND
> * Wireless: 2.4-GHz 802.11ac, 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
>
> The ap-dk07.1-c1 board is already available in upstream
> linux v4.17
>
> Signed-off-by: Ram Chandra Jangir <rjangir at codeaurora.org>
> ---
> .../etc/hotplug.d/firmware/11-ath10k-caldata | 6 +-
> target/linux/ipq40xx/image/Makefile | 13 +++
> ...ipq4019-Add-ipq4019-ap.dk07.1-common-data.patch | 99
> ++++++++++++++++++++++
> ...4019-Add-qcom-ipq4019-ap.dk07.1-c1-board-.patch | 99
> ++++++++++++++++++++++
> ...x-rootfs-conflict-with-OpenWrt-auto-mount.patch | 33 ++++++++
> ...5-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch | 79 +++++++++++++++++
> 6 files changed, 327 insertions(+), 2 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/904-Fix-rootfs-conflict-with-OpenWrt-auto-mount.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..83518c9 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,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,ap-dk07.1-c1)
> ath10kcal_extract "0:ART" 20480 12064
> ;;
> zyxel,nbg6617 |\
> diff --git a/target/linux/ipq40xx/image/Makefile
> b/target/linux/ipq40xx/image/Makefile
> index 5cd11ca..bee2145 100644
> --- a/target/linux/ipq40xx/image/Makefile
> +++ b/target/linux/ipq40xx/image/Makefile
> @@ -207,6 +207,19 @@ define Device/qcom_ap-dk04.1-c1
> endef
> TARGET_DEVICES += qcom_ap-dk04.1-c1
>
> +define Device/qcom_ap-dk07.1-c1
> + $(call Device/FitImage)
> + $(call Device/UbiFit)
> + BOARD_NAME := ap-dk07.1-c1
> + 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_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 at 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 at codeaurora.org>
> +Signed-off-by: Sricharan R <sricharan at codeaurora.org>
> +Signed-off-by: Andy Gross <andy.gross at 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 at 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 at 78af000 {
> ++ pinctrl-0 = <&serial_0_pins>;
> ++ pinctrl-names = "default";
> ++ status = "ok";
> ++ };
> ++
> ++ dma at 7884000 {
> ++ status = "ok";
> ++ };
> ++
> ++ i2c at 78b7000 { /* BLSP1 QUP2 */
> ++ pinctrl-0 = <&i2c_0_pins>;
> ++ pinctrl-names = "default";
> ++ status = "ok";
> ++ };
> ++
> ++ dma at 7984000 {
> ++ status = "ok";
> ++ };
> ++
> ++ qpic-nand at 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 at 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 at codeaurora.org>
> +Signed-off-by: Sricharan R <sricharan at codeaurora.org>
> +Signed-off-by: Andy Gross <andy.gross at 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 at 40000000 {
> ++ status = "ok";
> ++ perst-gpio = <&tlmm 38 0x1>;
> ++ };
> ++
> ++ spi at 78b6000 {
> ++ status = "ok";
> ++ };
> ++
> ++ pinctrl at 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 at 78b0000 {
> ++ pinctrl-0 = <&serial_1_pins>;
> ++ pinctrl-names = "default";
> ++ status = "ok";
> ++ };
> ++
> ++ spi at 78b5000 {
> ++ pinctrl-0 = <&spi_0_pins>;
> ++ pinctrl-names = "default";
> ++ status = "ok";
> ++ cs-gpios = <&tlmm 12 0>;
> ++
> ++ m25p80 at 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/904-Fix-rootfs-conflict-with-OpenWrt-auto-mount.patch
> b/target/linux/ipq40xx/patches-4.14/904-Fix-rootfs-conflict-with-OpenWrt-auto-mount.patch
> new file mode 100644
> index 0000000..0b2397f
> --- /dev/null
> +++
> b/target/linux/ipq40xx/patches-4.14/904-Fix-rootfs-conflict-with-OpenWrt-auto-mount.patch
> @@ -0,0 +1,33 @@
> +From ca96c645d61b4462fe6ee3d815717335214f27c2 Mon Sep 17 00:00:00 2001
> +From: Ram Chandra Jangir <rjangir at codeaurora.org>
> +Date: Sat, 9 Jun 2018 20:31:50 +0530
> +Subject: [PATCH] Fix rootfs conflict with OpenWrt auto mounting
> +
> +Signed-off-by: Ram Chandra Jangir <rjangir at codeaurora.org>
> +---
> + drivers/mtd/mtdpart.c | 9 ++++++---
> + 1 files changed, 6 insertions(+), 3 deletions(-)
> +
> +diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
> +index c87b71c..4980f93 100644
> +--- a/drivers/mtd/mtdpart.c
> ++++ b/drivers/mtd/mtdpart.c
> +@@ -831,9 +831,12 @@ static void mtd_partition_split(struct mtd_info
> *master, struct mtd_part *part)
> + return;
> +
> + if (!strcmp(part->mtd.name, "rootfs")) {
> +- run_parsers_by_type(part, MTD_PARSER_TYPE_ROOTFS);
> +-
> +- rootfs_found = 1;
> ++ if(mtd_type_is_nand(master)) {
> ++ part->mtd.name="ubi";
> ++ } else {
> ++ run_parsers_by_type(part, MTD_PARSER_TYPE_ROOTFS);
> ++ rootfs_found = 1;
> ++ }
> + }
> +
> + if (!strcmp(part->mtd.name, SPLIT_FIRMWARE_NAME) &&
> +--
> +2.7.2
> +
> 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..9a32719
> --- /dev/null
> +++
> b/target/linux/ipq40xx/patches-4.14/905-dts-qcom-ipq4019-ap.dk07.1-enable-nodes.patch
> @@ -0,0 +1,79 @@
> +--- 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,ap-dk07.1-c1", "qcom,ipq4019";
> +
> + soc {
> + pci at 40000000 {
> +--- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi
> ++++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk07.1.dtsi
> +@@ -13,15 +13,6 @@
> + reg = <0x80000000 0x20000000>; /* 512MB */
> + };
> +
> +- aliases {
> +- serial0 = &blsp1_uart1;
> +- serial1 = &blsp1_uart2;
> +- };
> +-
> +- chosen {
> +- stdout-path = "serial0:115200n8";
> +- };
> +-
> + soc {
> + pinctrl at 1000000 {
> + serial_0_pins: serial0-pinmux {
> +@@ -67,9 +71,49 @@
> + };
> +
> + qpic-nand at 79b0000 {
> ++ compatible = "qcom,ipq4019-nand", "qcom,msm-nand";
> + pinctrl-0 = <&nand_pins>;
> + pinctrl-names = "default";
> + status = "ok";
> ++
> ++ nand at 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 at 90000 {
> ++ status = "okay";
> ++ };
> ++
> ++ ess-switch at c000000 {
> ++ status = "okay";
> ++ switch_mac_mode = <0x0>; /* mac mode for RGMII RMII */
> ++ switch_initvlas = <
> ++ 0x0007c 0x54 /* PORT0_STATUS */
> ++ >;
> ++ };
> ++
> ++ ess-psgmii at 98000 {
> ++ status = "okay";
> ++ };
> ++
> ++ edma at c080000 {
> ++ status = "okay";
> ++ };
> ++
> ++ wifi at a000000 {
> ++ status = "okay";
> ++ };
> ++
> ++ wifi at a800000 {
> ++ status = "okay";
> + };
> + };
> + };
> --
> 1.9.1
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list