2013-10-17 18:25:26

by Rohit Vaswani

[permalink] [raw]
Subject: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard

This patch adds basic board support for APQ8074 Dragonboard
which belongs to the Snapdragon 800 family.
For now, just support a basic machine with device tree.

Signed-off-by: Rohit Vaswani <[email protected]>
---
arch/arm/boot/dts/Makefile | 3 ++-
arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 +++++
arch/arm/boot/dts/qcom-msm8974.dtsi | 33 ++++++++++++++++++++++++++
arch/arm/mach-msm/Kconfig | 11 ++++++++-
arch/arm/mach-msm/board-dt.c | 9 +++++++
5 files changed, 60 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 000cf76..e71a3ec 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -102,7 +102,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
kirkwood-openblocks_a6.dtb
dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
- msm8960-cdp.dtb
+ msm8960-cdp.dtb \
+ qcom-apq8074-dragonboard.dtb
dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
armada-370-mirabox.dtb \
armada-370-netgear-rn102.dtb \
diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
new file mode 100644
index 0000000..13ac3e2
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
@@ -0,0 +1,6 @@
+#include "qcom-msm8974.dtsi"
+
+/ {
+ model = "Qualcomm APQ8074 Dragonboard";
+ compatible = "qcom,apq8074-dragonboard", "qcom,apq8074";
+};
diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
new file mode 100644
index 0000000..2ebb4f0
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -0,0 +1,33 @@
+/dts-v1/;
+
+#include "skeleton.dtsi"
+
+/ {
+ model = "Qualcomm MSM8974";
+ compatible = "qcom,msm8974";
+ interrupt-parent = <&intc>;
+
+ soc: soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
+
+ intc: interrupt-controller@f9000000 {
+ compatible = "qcom,msm-qgic2";
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ reg = <0xf9000000 0x1000>,
+ <0xf9002000 0x1000>;
+ };
+
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupts = <1 2 0xf08>,
+ <1 3 0xf08>,
+ <1 4 0xf08>,
+ <1 1 0xf08>;
+ clock-frequency = <19200000>;
+ };
+ };
+};
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 2586c28..5e5782d 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -58,9 +58,18 @@ config ARCH_MSM8960
select GPIO_MSM_V2
select MSM_SCM if SMP

+config ARCH_MSM8974
+ bool "MSM8974"
+ select ARM_GIC
+ select CPU_V7
+ select HAVE_ARM_ARCH_TIMER
+ select HAVE_SMP
+ select MSM_SCM if SMP
+ select USE_OF
+
config ARCH_MSM_DT
def_bool y
- depends on (ARCH_MSM8X60 || ARCH_MSM8960)
+ depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974)
select SPARSE_IRQ
select USE_OF

diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-msm/board-dt.c
index 266a280..5211e80 100644
--- a/arch/arm/mach-msm/board-dt.c
+++ b/arch/arm/mach-msm/board-dt.c
@@ -26,7 +26,16 @@ static const char * const msm_dt_match[] __initconst = {
NULL
};

+static const char * const apq8074_dt_match[] __initconst = {
+ "qcom,apq8074-dragonboard",
+ NULL
+};
+
DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
.smp = smp_ops(msm_smp_ops),
.dt_compat = msm_dt_match,
MACHINE_END
+
+DT_MACHINE_START(APQ_DT, "Qualcomm MSM (Flattened Device Tree)")
+ .dt_compat = apq8074_dt_match,
+MACHINE_END
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation


2013-10-17 18:28:35

by Kumar Gala

[permalink] [raw]
Subject: Re: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard


On Oct 17, 2013, at 1:25 PM, Rohit Vaswani wrote:

> This patch adds basic board support for APQ8074 Dragonboard
> which belongs to the Snapdragon 800 family.
> For now, just support a basic machine with device tree.
>
> Signed-off-by: Rohit Vaswani <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 3 ++-
> arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 +++++
> arch/arm/boot/dts/qcom-msm8974.dtsi | 33 ++++++++++++++++++++++++++
> arch/arm/mach-msm/Kconfig | 11 ++++++++-
> arch/arm/mach-msm/board-dt.c | 9 +++++++
> 5 files changed, 60 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
> create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi

Acked-by: Kumar Gala <[email protected]>

- k

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

2013-10-17 20:51:37

by David Brown

[permalink] [raw]
Subject: Re: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard

On Thu, Oct 17, 2013 at 11:25:10AM -0700, Rohit Vaswani wrote:
>This patch adds basic board support for APQ8074 Dragonboard
>which belongs to the Snapdragon 800 family.
>For now, just support a basic machine with device tree.
>
>Signed-off-by: Rohit Vaswani <[email protected]>
>---

Do you mind putting some history in the commentary part of your
patches, especially, like this one, when you make it to v6. Just a
brief description of what you've changed makes it a lot easier for
reviewers to determine if their concern has been addressed, and what
else might have changed.

This missed yesterday's pull request, so I'll probably make another
one to include this.

David

--
sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-17 21:31:35

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH 1/3] ARM: msm: Simplify ARCH_MSM_DT config

This doesn't need to be a def_bool y. Instead we can have every
DT supported platform select ARCH_MSM_DT and we achieve the same
thing with less chance of conflicts.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/mach-msm/Kconfig | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 5e5782d..702553b 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -44,6 +44,7 @@ endchoice

config ARCH_MSM8X60
bool "MSM8X60"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select GPIO_MSM_V2
@@ -52,6 +53,7 @@ config ARCH_MSM8X60

config ARCH_MSM8960
bool "MSM8960"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select HAVE_SMP
@@ -60,6 +62,7 @@ config ARCH_MSM8960

config ARCH_MSM8974
bool "MSM8974"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select HAVE_ARM_ARCH_TIMER
@@ -68,8 +71,7 @@ config ARCH_MSM8974
select USE_OF

config ARCH_MSM_DT
- def_bool y
- depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974)
+ bool
select SPARSE_IRQ
select USE_OF

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-17 21:31:34

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH 0/3] APQ8074 updates

This patchset simplifies the ARCH_MSM_DT config and adds some more
nodes for devices that have drivers merged in the upstream kernel.

Stephen Boyd (3):
ARM: msm: Simplify ARCH_MSM_DT config
ARM: dts: MSM8974: Add restart node
ARM: dts: MSM8974: Add MMIO architected timer node

arch/arm/boot/dts/qcom-msm8974.dtsi | 64 +++++++++++++++++++++++++++++++++++++
arch/arm/mach-msm/Kconfig | 6 ++--
2 files changed, 68 insertions(+), 2 deletions(-)

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-17 21:31:58

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: MSM8974: Add MMIO architected timer node

Add the mmio architected timer node.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974.dtsi | 59 +++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 5ac7701..3ac05eb 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -31,6 +31,65 @@
};
};

+ timer@f9020000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "arm,armv7-timer-mem";
+ reg = <0xf9020000 0x1000>;
+ clock-frequency = <19200000>;
+
+ frame@f9021000 {
+ frame-number = <0>;
+ interrupts = <0 8 0x4>,
+ <0 7 0x4>;
+ reg = <0xf9021000 0x1000>,
+ <0xf9022000 0x1000>;
+ };
+
+ frame@f9023000 {
+ frame-number = <1>;
+ interrupts = <0 9 0x4>;
+ reg = <0xf9023000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9024000 {
+ frame-number = <2>;
+ interrupts = <0 10 0x4>;
+ reg = <0xf9024000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9025000 {
+ frame-number = <3>;
+ interrupts = <0 11 0x4>;
+ reg = <0xf9025000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9026000 {
+ frame-number = <4>;
+ interrupts = <0 12 0x4>;
+ reg = <0xf9026000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9027000 {
+ frame-number = <5>;
+ interrupts = <0 13 0x4>;
+ reg = <0xf9027000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9028000 {
+ frame-number = <6>;
+ interrupts = <0 14 0x4>;
+ reg = <0xf9028000 0x1000>;
+ status = "disabled";
+ };
+ };
+
restart@fc4ab000 {
compatible = "qcom,pshold";
reg = <0xfc4ab000 0x4>;
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-17 21:32:15

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH 2/3] ARM: dts: MSM8974: Add restart node

Add the restart node so we can reboot the device.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 2ebb4f0..5ac7701 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -30,4 +30,9 @@
clock-frequency = <19200000>;
};
};
+
+ restart@fc4ab000 {
+ compatible = "qcom,pshold";
+ reg = <0xfc4ab000 0x4>;
+ };
};
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-18 17:56:56

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH v2 3/4] ARM: dts: MSM8974: Add MMIO architected timer node

Add the mmio architected timer node.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974.dtsi | 59 +++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index df18637..6ac9496 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -30,6 +30,65 @@
clock-frequency = <19200000>;
};

+ timer@f9020000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "arm,armv7-timer-mem";
+ reg = <0xf9020000 0x1000>;
+ clock-frequency = <19200000>;
+
+ frame@f9021000 {
+ frame-number = <0>;
+ interrupts = <0 8 0x4>,
+ <0 7 0x4>;
+ reg = <0xf9021000 0x1000>,
+ <0xf9022000 0x1000>;
+ };
+
+ frame@f9023000 {
+ frame-number = <1>;
+ interrupts = <0 9 0x4>;
+ reg = <0xf9023000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9024000 {
+ frame-number = <2>;
+ interrupts = <0 10 0x4>;
+ reg = <0xf9024000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9025000 {
+ frame-number = <3>;
+ interrupts = <0 11 0x4>;
+ reg = <0xf9025000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9026000 {
+ frame-number = <4>;
+ interrupts = <0 12 0x4>;
+ reg = <0xf9026000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9027000 {
+ frame-number = <5>;
+ interrupts = <0 13 0x4>;
+ reg = <0xf9027000 0x1000>;
+ status = "disabled";
+ };
+
+ frame@f9028000 {
+ frame-number = <6>;
+ interrupts = <0 14 0x4>;
+ reg = <0xf9028000 0x1000>;
+ status = "disabled";
+ };
+ };
+
restart@fc4ab000 {
compatible = "qcom,pshold";
reg = <0xfc4ab000 0x4>;
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-18 17:56:55

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH v2 2/4] ARM: dts: MSM8974: Add restart node

Add the restart node so we can reboot the device.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/boot/dts/qcom-msm8974.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index 2ebb4f0..df18637 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -29,5 +29,10 @@
<1 1 0xf08>;
clock-frequency = <19200000>;
};
+
+ restart@fc4ab000 {
+ compatible = "qcom,pshold";
+ reg = <0xfc4ab000 0x4>;
+ };
};
};
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-18 17:56:54

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH v2 1/4] ARM: msm: Simplify ARCH_MSM_DT config

This doesn't need to be a def_bool y. Instead we can have every
DT supported platform select ARCH_MSM_DT and we achieve the same
thing with less chance of conflicts.

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/mach-msm/Kconfig | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 5e5782d..702553b 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -44,6 +44,7 @@ endchoice

config ARCH_MSM8X60
bool "MSM8X60"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select GPIO_MSM_V2
@@ -52,6 +53,7 @@ config ARCH_MSM8X60

config ARCH_MSM8960
bool "MSM8960"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select HAVE_SMP
@@ -60,6 +62,7 @@ config ARCH_MSM8960

config ARCH_MSM8974
bool "MSM8974"
+ select ARCH_MSM_DT
select ARM_GIC
select CPU_V7
select HAVE_ARM_ARCH_TIMER
@@ -68,8 +71,7 @@ config ARCH_MSM8974
select USE_OF

config ARCH_MSM_DT
- def_bool y
- depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974)
+ bool
select SPARSE_IRQ
select USE_OF

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-18 17:56:52

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH v2 0/4] APQ8074 updates

This patchset simplifies the ARCH_MSM_DT config and adds some more
nodes for devices that have drivers merged in the upstream kernel.

Changes since v1:
* Moved nodes into soc node
* Enabled restart driver in defconfig

Stephen Boyd (4):
ARM: msm: Simplify ARCH_MSM_DT config
ARM: dts: MSM8974: Add restart node
ARM: dts: MSM8974: Add MMIO architected timer node
ARM: msm_defconfig: Enable restart driver

arch/arm/boot/dts/qcom-msm8974.dtsi | 64 +++++++++++++++++++++++++++++++++++++
arch/arm/configs/msm_defconfig | 2 ++
arch/arm/mach-msm/Kconfig | 6 ++--
3 files changed, 70 insertions(+), 2 deletions(-)

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-18 17:57:54

by Stephen Boyd

[permalink] [raw]
Subject: [PATCH v2 4/4] ARM: msm_defconfig: Enable restart driver

Signed-off-by: Stephen Boyd <[email protected]>
---
arch/arm/configs/msm_defconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig
index 0ed32e5..c5698b7 100644
--- a/arch/arm/configs/msm_defconfig
+++ b/arch/arm/configs/msm_defconfig
@@ -89,6 +89,8 @@ CONFIG_SSBI=y
CONFIG_DEBUG_GPIO=y
CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_MSM=y
CONFIG_THERMAL=y
CONFIG_REGULATOR=y
CONFIG_MEDIA_SUPPORT=y
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

2013-10-25 17:13:18

by Josh Cartwright

[permalink] [raw]
Subject: Re: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard

Hey Rohit-

On Thu, Oct 17, 2013 at 11:25:10AM -0700, Rohit Vaswani wrote:
> This patch adds basic board support for APQ8074 Dragonboard
> which belongs to the Snapdragon 800 family.
> For now, just support a basic machine with device tree.
>
> Signed-off-by: Rohit Vaswani <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 3 ++-
> arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 +++++
> arch/arm/boot/dts/qcom-msm8974.dtsi | 33 ++++++++++++++++++++++++++
> arch/arm/mach-msm/Kconfig | 11 ++++++++-
> arch/arm/mach-msm/board-dt.c | 9 +++++++
> 5 files changed, 60 insertions(+), 2 deletions(-)
> create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
> create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 000cf76..e71a3ec 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -102,7 +102,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
> kirkwood-openblocks_a6.dtb
> dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
> dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
> - msm8960-cdp.dtb
> + msm8960-cdp.dtb \
> + qcom-apq8074-dragonboard.dtb

For what it's worth, this hunk conflicts with Kumar's qcom- prefix stuff
that's already been sent up. Perhaps it's time to refresh ontop?

Josh

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation