arm: dts: ipq8064: Added support for DB149, AP145 and AP145_1xx.
Added device tree to extend support for DB149, AP145, AP145_1xx.
Change-Id: Ief0fdcc521bb3c884ada04dfece27bce47d00c9f
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 52cadda..f1a6a5e 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -22,7 +22,13 @@
dtb-$(CONFIG_ARCH_IPQ807x) += ipq807x-hk01.dtb
-dtb-$(CONFIG_ARCH_IPQ806x) += ipq806x-ap148.dtb
+dtb-$(CONFIG_ARCH_IPQ806x) += ipq806x-ap148.dtb \
+ ipq806x-ap160.dtb \
+ ipq806x-ap160_2xx.dtb \
+ ipq806x-ap161.dtb \
+ ipq806x-db149.dtb \
+ ipq806x-ap145.dtb \
+ ipq806x-ap145_1xx.dtb \
dtb-$(CONFIG_ARCH_IPQ40xx) += ipq40xx-dk01-c1.dtb \
ipq40xx-dk01-c2.dtb \
diff --git a/arch/arm/dts/ipq806x-ap145.dts b/arch/arm/dts/ipq806x-ap145.dts
new file mode 100644
index 0000000..ed4b477
--- /dev/null
+++ b/arch/arm/dts/ipq806x-ap145.dts
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+#include "ipq806x-soc.dtsi"
+/ {
+ model ="QCA, IPQ806x-AP145";
+ compatible = "qca,ipq806x", "qca,ipq806x-ap145";
+ machid = <4810>;
+ config_name = "config@ap145";
+
+ aliases {
+ console = "/serial@16340000";
+ };
+
+ serial@16340000 {
+ status = "ok";
+ };
+};
diff --git a/arch/arm/dts/ipq806x-ap145_1xx.dts b/arch/arm/dts/ipq806x-ap145_1xx.dts
new file mode 100644
index 0000000..8b520e6
--- /dev/null
+++ b/arch/arm/dts/ipq806x-ap145_1xx.dts
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+#include "ipq806x-soc.dtsi"
+/ {
+ model ="QCA, IPQ806x-AP145_1XX";
+ compatible = "qca,ipq806x", "qca,ipq806x-ap145_1xx";
+ machid = <4812>;
+ config_name = "config@ap145_1xx";
+
+ aliases {
+ console = "/serial@16340000";
+ };
+
+ serial@16340000 {
+ status = "ok";
+ };
+};
diff --git a/arch/arm/dts/ipq806x-ap148.dts b/arch/arm/dts/ipq806x-ap148.dts
index 9b6a668..285805e 100644
--- a/arch/arm/dts/ipq806x-ap148.dts
+++ b/arch/arm/dts/ipq806x-ap148.dts
@@ -23,4 +23,8 @@
console = "/serial@16340000";
nand = "/nand@1A600000";
};
+
+ serial@16340000 {
+ status = "ok";
+ };
};
diff --git a/arch/arm/dts/ipq806x-db149.dts b/arch/arm/dts/ipq806x-db149.dts
new file mode 100644
index 0000000..2afc651
--- /dev/null
+++ b/arch/arm/dts/ipq806x-db149.dts
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+#include "ipq806x-soc.dtsi"
+/ {
+ model ="QCA, IPQ806x-DB149";
+ compatible = "qca,ipq806x", "qca,ipq806x-DB149";
+ machid = <4699>;
+ config_name = "config@db149";
+
+ aliases {
+ console = "/serial@12490000";
+ };
+
+ serial@12490000 {
+ status = "ok";
+ };
+};
diff --git a/arch/arm/dts/ipq806x-soc.dtsi b/arch/arm/dts/ipq806x-soc.dtsi
index e7a1821..1cd5c74 100644
--- a/arch/arm/dts/ipq806x-soc.dtsi
+++ b/arch/arm/dts/ipq806x-soc.dtsi
@@ -18,6 +18,7 @@
config_name = "config@1";
serial@16340000 {
+ status = "disabled";
compatible = "qca,ipq-uartdm";
reg = <0x16340000 0x200>;
gsbi_base = <0x16300000>;
@@ -31,25 +32,57 @@
gpio1 {
gpio = <10>;
func = <1>;
- out = <0>;
- pull = <0>;
- drvstr = <5>;
- oe = <1>;
- };
+ out = <GPIO_OUT_LOW>;
+ pull = <GPIO_NO_PULL>;
+ drvstr = <GPIO_12MA>;
+ oe = <GPIO_OE_ENABLE>;
+ };
gpio2 {
gpio = <11>;
func = <1>;
- out = <0>;
- pull = <0>;
- drvstr = <5>;
- oe = <1>;
- };
+ out = <GPIO_OUT_LOW>;
+ pull = <GPIO_NO_PULL>;
+ drvstr = <GPIO_12MA>;
+ oe = <GPIO_OE_ENABLE>;
+ };
};
};
+ serial@12490000 {
+ status = "disabled";
+ compatible = "qca,ipq-uartdm";
+ reg = <0x12490000 0x200>;
+ gsbi_base = <0x12480000>;
+ id = <2>;
+ bit_rate = <0xCC>;
+ m_value = <0x0C>;
+ n_value = <0x271>;
+ d_value = <0x139>;
+
+ serial_gpio {
+ gpio1 {
+ gpio = <22>;
+ func = <1>;
+ out = <GPIO_OUT_LOW>;
+ pull = <GPIO_NO_PULL>;
+ drvstr = <GPIO_12MA>;
+ oe = <GPIO_OE_ENABLE>;
+ };
+
+ gpio2 {
+ gpio = <23>;
+ func = <1>;
+ out = <GPIO_OUT_LOW>;
+ pull = <GPIO_NO_PULL>;
+ drvstr = <GPIO_12MA>;
+ oe = <GPIO_OE_ENABLE>;
+ };
+ };
+ };
+
timer {
gcnt_base = <0x0200A00C>;
gcnt_cntcv_lo = <0x0200A008>;
diff --git a/include/configs/ipq806x.h b/include/configs/ipq806x.h
index a51f2a1..353c594 100644
--- a/include/configs/ipq806x.h
+++ b/include/configs/ipq806x.h
@@ -39,7 +39,7 @@
#define CONFIG_SYS_CACHELINE_SIZE 64
#define CONFIG_IPQ806X_ENV
#define CONFIG_SYS_BOOTM_LEN (64 << 20)
-#define CONFIG_IPQ_FDT_HIGH 0xFFFFFFFF
+#define CONFIG_IPQ_FDT_HIGH 0x48000000
#define CONFIG_BOOTARGS "console=ttyMSM0,115200n8"
#define CONFIG_SYS_HUSH_PARSER
@@ -263,6 +263,8 @@
#define CONFIG_CMD_MTDPARTS
#define CONFIG_BOOTDELAY 2
+#define CONFIG_BOOTCOMMAND "bootipq"
+
#define CONFIG_BOARD_LATE_INIT
#define CONFIG_ENV_IS_IN_NAND