linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
@ 2013-08-05 23:02 Rohit Vaswani
  2013-08-05 23:02 ` [PATCH 2/2] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Rohit Vaswani
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Rohit Vaswani @ 2013-08-05 23:02 UTC (permalink / raw)
  To: linux-arm-kernel

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

Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
---
 arch/arm/boot/dts/Makefile        |  3 ++-
 arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
 arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
 arch/arm/mach-msm/Makefile        |  1 +
 arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
 5 files changed, 70 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/boot/dts/msm8974-db.dts
 create mode 100644 arch/arm/mach-msm/board-dt-8974.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 641b3c9a..62cea36 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -97,7 +97,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 \
+	msm8974-db.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
 	armada-370-mirabox.dtb \
 	armada-370-rd.dtb \
diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
new file mode 100644
index 0000000..badfc61
--- /dev/null
+++ b/arch/arm/boot/dts/msm8974-db.dts
@@ -0,0 +1,26 @@
+/dts-v1/;
+
+/include/ "skeleton.dtsi"
+
+/ {
+	model = "Qualcomm MSM8974 Dragonboard";
+	compatible = "qcom,msm8974-db", "qcom,msm8974";
+	interrupt-parent = <&intc>;
+
+	intc: interrupt-controller at 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 614e41e..343675b 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -1,12 +1,12 @@
 if ARCH_MSM
 
 comment "Qualcomm MSM SoC Type"
-	depends on (ARCH_MSM8X60 || ARCH_MSM8960)
+	depends on ARCH_MSM_DT
 
 choice
 	prompt "Qualcomm MSM SoC Type"
 	default ARCH_MSM7X00A
-	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
+	depends on !ARCH_MSM_DT
 
 config ARCH_MSM7X00A
 	bool "MSM7x00A / MSM7x01A"
@@ -60,6 +60,19 @@ config ARCH_MSM8960
 	select MSM_SCM if SMP
 	select USE_OF
 
+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 || ARCH_MSM8974)
+
 config MSM_HAS_DEBUG_UART_HS
 	bool
 
@@ -68,6 +81,7 @@ config MSM_SOC_REV_A
 
 config  ARCH_MSM_ARM11
 	bool
+
 config  ARCH_MSM_SCORPION
 	bool
 
@@ -75,6 +89,7 @@ config  MSM_VIC
 	bool
 
 menu "Qualcomm MSM Board Type"
+	depends on !ARCH_MSM_DT
 
 config MACH_HALIBUT
 	depends on ARCH_MSM
@@ -121,7 +136,7 @@ config MSM_SMD
 	bool
 
 config MSM_GPIOMUX
-	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
+	depends on !ARCH_MSM_DT
 	bool "MSM V1 TLMM GPIOMUX architecture"
 	help
 	  Support for MSM V1 TLMM GPIOMUX architecture.
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index d257ff4..80e3b15 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -29,5 +29,6 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o
 obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o
 obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o
 obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o
+obj-$(CONFIG_ARCH_MSM8974) += board-dt-8974.o
 obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
 obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
new file mode 100644
index 0000000..697623e
--- /dev/null
+++ b/arch/arm/mach-msm/board-dt-8974.c
@@ -0,0 +1,23 @@
+/* Copyright (c) 2013, 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.
+ */
+
+#include <linux/of_platform.h>
+#include <asm/mach/arch.h>
+
+static const char * const msm8974_dt_match[] __initconst = {
+	"qcom,msm8974-db",
+	NULL
+};
+
+DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
+	.dt_compat = msm8974_dt_match,
+MACHINE_END
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/2] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974
  2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
@ 2013-08-05 23:02 ` Rohit Vaswani
  2013-08-06  9:14 ` [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Ivan T. Ivanov
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Rohit Vaswani @ 2013-08-05 23:02 UTC (permalink / raw)
  To: linux-arm-kernel

This patch enables MSM8974 build support.

Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
---
 arch/arm/configs/msm_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig
index 690b5f9..0ed32e5 100644
--- a/arch/arm/configs/msm_defconfig
+++ b/arch/arm/configs/msm_defconfig
@@ -20,6 +20,7 @@ CONFIG_PARTITION_ADVANCED=y
 CONFIG_ARCH_MSM=y
 CONFIG_ARCH_MSM8X60=y
 CONFIG_ARCH_MSM8960=y
+CONFIG_ARCH_MSM8974=y
 CONFIG_SMP=y
 CONFIG_PREEMPT=y
 CONFIG_AEABI=y
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
  2013-08-05 23:02 ` [PATCH 2/2] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Rohit Vaswani
@ 2013-08-06  9:14 ` Ivan T. Ivanov
  2013-09-11 18:00   ` David Brown
  2013-09-11 18:12   ` Josh Cartwright
  2013-08-06 14:01 ` Javier Martinez Canillas
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Ivan T. Ivanov @ 2013-08-06  9:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 2013-08-05 at 16:02 -0700, Rohit Vaswani wrote:
> This patch adds basic board support for MSM8974 Dragonboard
> which belongs to the Snapdragon 800 family.
> For now, just support a basic machine with device tree.
> 
> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
> ---
>  arch/arm/boot/dts/Makefile        |  3 ++-
>  arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>  arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>  arch/arm/mach-msm/Makefile        |  1 +
>  arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>  5 files changed, 70 insertions(+), 4 deletions(-)
>  create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>  create mode 100644 arch/arm/mach-msm/board-dt-8974.c

Thanks. 

Tested-by: Ivan T. Ivanov <iivanov@mm-sol.com>

Attached patch enables earlyprink for this board.

[920] booting linux @ 0x8000, ramdisk @ 0x2000000 (1067699), tags/device tree @ 0x1e00000
Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.11.0-rc4-00003-g7c8394e (iivanov at dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3
[    0.000000] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard
....

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-msm-Add-low-level-debugging-via-MSM-8974-UART.patch
Type: text/x-patch
Size: 2479 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130806/5a89d9fb/attachment.bin>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
  2013-08-05 23:02 ` [PATCH 2/2] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Rohit Vaswani
  2013-08-06  9:14 ` [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Ivan T. Ivanov
@ 2013-08-06 14:01 ` Javier Martinez Canillas
  2013-08-06 18:32   ` Rohit Vaswani
  2013-08-06 15:47 ` Kumar Gala
  2013-09-13 14:40 ` Mark Rutland
  4 siblings, 1 reply; 15+ messages in thread
From: Javier Martinez Canillas @ 2013-08-06 14:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 6, 2013 at 1:02 AM, Rohit Vaswani <rvaswani@codeaurora.org> wrote:
> This patch adds basic board support for MSM8974 Dragonboard
> which belongs to the Snapdragon 800 family.
> For now, just support a basic machine with device tree.
>
> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
> ---
>  arch/arm/boot/dts/Makefile        |  3 ++-
>  arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>  arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>  arch/arm/mach-msm/Makefile        |  1 +
>  arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>  5 files changed, 70 insertions(+), 4 deletions(-)
>  create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>  create mode 100644 arch/arm/mach-msm/board-dt-8974.c
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 641b3c9a..62cea36 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -97,7 +97,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 \
> +       msm8974-db.dtb
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
>         armada-370-mirabox.dtb \
>         armada-370-rd.dtb \
> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
> new file mode 100644
> index 0000000..badfc61
> --- /dev/null
> +++ b/arch/arm/boot/dts/msm8974-db.dts
> @@ -0,0 +1,26 @@
> +/dts-v1/;
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +       model = "Qualcomm MSM8974 Dragonboard";
> +       compatible = "qcom,msm8974-db", "qcom,msm8974";
> +       interrupt-parent = <&intc>;
> +
> +       intc: interrupt-controller at 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 614e41e..343675b 100644
> --- a/arch/arm/mach-msm/Kconfig
> +++ b/arch/arm/mach-msm/Kconfig
> @@ -1,12 +1,12 @@
>  if ARCH_MSM
>
>  comment "Qualcomm MSM SoC Type"
> -       depends on (ARCH_MSM8X60 || ARCH_MSM8960)
> +       depends on ARCH_MSM_DT
>
>  choice
>         prompt "Qualcomm MSM SoC Type"
>         default ARCH_MSM7X00A
> -       depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +       depends on !ARCH_MSM_DT
>
>  config ARCH_MSM7X00A
>         bool "MSM7x00A / MSM7x01A"
> @@ -60,6 +60,19 @@ config ARCH_MSM8960
>         select MSM_SCM if SMP
>         select USE_OF
>
> +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 || ARCH_MSM8974)
> +
>  config MSM_HAS_DEBUG_UART_HS
>         bool
>
> @@ -68,6 +81,7 @@ config MSM_SOC_REV_A
>
>  config  ARCH_MSM_ARM11
>         bool
> +
>  config  ARCH_MSM_SCORPION
>         bool
>
> @@ -75,6 +89,7 @@ config  MSM_VIC
>         bool
>
>  menu "Qualcomm MSM Board Type"
> +       depends on !ARCH_MSM_DT
>
>  config MACH_HALIBUT
>         depends on ARCH_MSM
> @@ -121,7 +136,7 @@ config MSM_SMD
>         bool
>
>  config MSM_GPIOMUX
> -       depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +       depends on !ARCH_MSM_DT
>         bool "MSM V1 TLMM GPIOMUX architecture"
>         help
>           Support for MSM V1 TLMM GPIOMUX architecture.
> diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
> index d257ff4..80e3b15 100644
> --- a/arch/arm/mach-msm/Makefile
> +++ b/arch/arm/mach-msm/Makefile
> @@ -29,5 +29,6 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o
>  obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o
>  obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o
>  obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o
> +obj-$(CONFIG_ARCH_MSM8974) += board-dt-8974.o
>  obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
>  obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
> diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
> new file mode 100644
> index 0000000..697623e
> --- /dev/null
> +++ b/arch/arm/mach-msm/board-dt-8974.c
> @@ -0,0 +1,23 @@
> +/* Copyright (c) 2013, 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.
> + */
> +
> +#include <linux/of_platform.h>
> +#include <asm/mach/arch.h>
> +
> +static const char * const msm8974_dt_match[] __initconst = {
> +       "qcom,msm8974-db",
> +       NULL
> +};
> +
> +DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
> +       .dt_compat = msm8974_dt_match,
> +MACHINE_END
> --

Hi Rohit,

I wonder if this arch/arm/mach-msm/board-dt-8974.c boad file is really
needed. I just noticed that already exist an
arch/arm/mach-msm/board-dt-8960.c and
arch/arm/mach-msm/board-dt-8660.c board files which doesn't seem to be
that different.

I'm not familiar with msm at all so maybe all these boards files are
needed. But one of the goals of having DeviceTree for ARM is to get
rid of all the board files so I don't think is a good idea to add a
board file for each DT added.

In OMAP for example we only have one board file that is used for DT
booting (arch/arm/mach-omap2/board-generic.c). These board file has a
struct machine_desc for each OMAP family which defines a dt_compact
for the family (i.e: ti,omap4).

Since the machine init is almost the same for each SoC in a given
family a board DTB can just define:

compatible = "foo,bard", "ti,omap3";

Since the compatible string is processed from specific to generic, a
board can define its own struct machine_desc in case it really needs
but it should just use the generic one in case it works for it.

Again, I'm not familiar with the Snapdragon 800 SoC family but maybe
you can do something similar to what we do in OMAP for this SoC
family.

Thanks a lot and best regards,
Javier

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
                   ` (2 preceding siblings ...)
  2013-08-06 14:01 ` Javier Martinez Canillas
@ 2013-08-06 15:47 ` Kumar Gala
  2013-08-06 18:28   ` Rohit Vaswani
  2013-09-13 14:40 ` Mark Rutland
  4 siblings, 1 reply; 15+ messages in thread
From: Kumar Gala @ 2013-08-06 15:47 UTC (permalink / raw)
  To: linux-arm-kernel


On Aug 5, 2013, at 6:02 PM, Rohit Vaswani wrote:

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

I think the board is APQ8074 and not MSM8974.

> 
> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
> ---
> arch/arm/boot/dts/Makefile        |  3 ++-
> arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
> arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
> arch/arm/mach-msm/Makefile        |  1 +
> arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
> 5 files changed, 70 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm/boot/dts/msm8974-db.dts
> create mode 100644 arch/arm/mach-msm/board-dt-8974.c
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 641b3c9a..62cea36 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -97,7 +97,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 \
> +	msm8974-db.dtb
> dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
> 	armada-370-mirabox.dtb \
> 	armada-370-rd.dtb \
> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
> new file mode 100644
> index 0000000..badfc61
> --- /dev/null
> +++ b/arch/arm/boot/dts/msm8974-db.dts
> @@ -0,0 +1,26 @@
> +/dts-v1/;
> +
> +/include/ "skeleton.dtsi"

We should change msm8974.dts to msm8974.dtsi and include it for the board.

> +
> +/ {
> +	model = "Qualcomm MSM8974 Dragonboard";
> +	compatible = "qcom,msm8974-db", "qcom,msm8974";
> +	interrupt-parent = <&intc>;
> +
> +	intc: interrupt-controller at 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 614e41e..343675b 100644
> --- a/arch/arm/mach-msm/Kconfig
> +++ b/arch/arm/mach-msm/Kconfig
> @@ -1,12 +1,12 @@
> if ARCH_MSM
> 
> comment "Qualcomm MSM SoC Type"
> -	depends on (ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on ARCH_MSM_DT
> 
> choice
> 	prompt "Qualcomm MSM SoC Type"
> 	default ARCH_MSM7X00A
> -	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on !ARCH_MSM_DT
> 
> config ARCH_MSM7X00A
> 	bool "MSM7x00A / MSM7x01A"
> @@ -60,6 +60,19 @@ config ARCH_MSM8960
> 	select MSM_SCM if SMP
> 	select USE_OF
> 
> +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 || ARCH_MSM8974)
> +
> config MSM_HAS_DEBUG_UART_HS
> 	bool
> 
> @@ -68,6 +81,7 @@ config MSM_SOC_REV_A
> 
> config  ARCH_MSM_ARM11
> 	bool
> +
> config  ARCH_MSM_SCORPION
> 	bool
> 
> @@ -75,6 +89,7 @@ config  MSM_VIC
> 	bool
> 
> menu "Qualcomm MSM Board Type"
> +	depends on !ARCH_MSM_DT
> 
> config MACH_HALIBUT
> 	depends on ARCH_MSM
> @@ -121,7 +136,7 @@ config MSM_SMD
> 	bool
> 
> config MSM_GPIOMUX
> -	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on !ARCH_MSM_DT
> 	bool "MSM V1 TLMM GPIOMUX architecture"
> 	help
> 	  Support for MSM V1 TLMM GPIOMUX architecture.
> diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
> index d257ff4..80e3b15 100644
> --- a/arch/arm/mach-msm/Makefile
> +++ b/arch/arm/mach-msm/Makefile
> @@ -29,5 +29,6 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o
> obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o
> obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o
> obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o
> +obj-$(CONFIG_ARCH_MSM8974) += board-dt-8974.o
> obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
> obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
> diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
> new file mode 100644
> index 0000000..697623e
> --- /dev/null
> +++ b/arch/arm/mach-msm/board-dt-8974.c
> @@ -0,0 +1,23 @@
> +/* Copyright (c) 2013, 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.
> + */
> +
> +#include <linux/of_platform.h>
> +#include <asm/mach/arch.h>
> +
> +static const char * const msm8974_dt_match[] __initconst = {
> +	"qcom,msm8974-db",
> +	NULL
> +};
> +
> +DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
> +	.dt_compat = msm8974_dt_match,
> +MACHINE_END
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-06 15:47 ` Kumar Gala
@ 2013-08-06 18:28   ` Rohit Vaswani
  2013-08-06 18:33     ` Kumar Gala
  0 siblings, 1 reply; 15+ messages in thread
From: Rohit Vaswani @ 2013-08-06 18:28 UTC (permalink / raw)
  To: linux-arm-kernel

On 8/6/2013 8:47 AM, Kumar Gala wrote:
> On Aug 5, 2013, at 6:02 PM, Rohit Vaswani wrote:
>
>> This patch adds basic board support for MSM8974 Dragonboard
>> which belongs to the Snapdragon 800 family.
>> For now, just support a basic machine with device tree.
> I think the board is APQ8074 and not MSM8974.
>
>> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
>> ---
>> arch/arm/boot/dts/Makefile        |  3 ++-
>> arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>> arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>> arch/arm/mach-msm/Makefile        |  1 +
>> arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>> 5 files changed, 70 insertions(+), 4 deletions(-)
>> create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>> create mode 100644 arch/arm/mach-msm/board-dt-8974.c
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 641b3c9a..62cea36 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -97,7 +97,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 \
>> +	msm8974-db.dtb
>> dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
>> 	armada-370-mirabox.dtb \
>> 	armada-370-rd.dtb \
>> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
>> new file mode 100644
>> index 0000000..badfc61
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/msm8974-db.dts
>> @@ -0,0 +1,26 @@
>> +/dts-v1/;
>> +
>> +/include/ "skeleton.dtsi"
> We should change msm8974.dts to msm8974.dtsi and include it for the board.

We can do that once we have something separate/new to add to the dtsi file.

<snip>

Thanks,
Rohit Vaswani

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-06 14:01 ` Javier Martinez Canillas
@ 2013-08-06 18:32   ` Rohit Vaswani
  0 siblings, 0 replies; 15+ messages in thread
From: Rohit Vaswani @ 2013-08-06 18:32 UTC (permalink / raw)
  To: linux-arm-kernel

On 8/6/2013 7:01 AM, Javier Martinez Canillas wrote:
> On Tue, Aug 6, 2013 at 1:02 AM, Rohit Vaswani <rvaswani@codeaurora.org> wrote:
>> This patch adds basic board support for MSM8974 Dragonboard
>> which belongs to the Snapdragon 800 family.
>> For now, just support a basic machine with device tree.
>>
>> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
>> ---
>>   arch/arm/boot/dts/Makefile        |  3 ++-
>>   arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>>   arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>>   arch/arm/mach-msm/Makefile        |  1 +
>>   arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>>   5 files changed, 70 insertions(+), 4 deletions(-)
>>   create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>>   create mode 100644 arch/arm/mach-msm/board-dt-8974.c
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 641b3c9a..62cea36 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -97,7 +97,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 \
>> +       msm8974-db.dtb
>>   dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
>>          armada-370-mirabox.dtb \
>>          armada-370-rd.dtb \
>> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
>> new file mode 100644
>> index 0000000..badfc61
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/msm8974-db.dts
>> @@ -0,0 +1,26 @@
>> +/dts-v1/;
>> +
>> +/include/ "skeleton.dtsi"
>> +
>> +/ {
>> +       model = "Qualcomm MSM8974 Dragonboard";
>> +       compatible = "qcom,msm8974-db", "qcom,msm8974";
>> +       interrupt-parent = <&intc>;
>> +
>> +       intc: interrupt-controller at 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 614e41e..343675b 100644
>> --- a/arch/arm/mach-msm/Kconfig
>> +++ b/arch/arm/mach-msm/Kconfig
>> @@ -1,12 +1,12 @@
>>   if ARCH_MSM
>>
>>   comment "Qualcomm MSM SoC Type"
>> -       depends on (ARCH_MSM8X60 || ARCH_MSM8960)
>> +       depends on ARCH_MSM_DT
>>
>>   choice
>>          prompt "Qualcomm MSM SoC Type"
>>          default ARCH_MSM7X00A
>> -       depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
>> +       depends on !ARCH_MSM_DT
>>
>>   config ARCH_MSM7X00A
>>          bool "MSM7x00A / MSM7x01A"
>> @@ -60,6 +60,19 @@ config ARCH_MSM8960
>>          select MSM_SCM if SMP
>>          select USE_OF
>>
>> +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 || ARCH_MSM8974)
>> +
>>   config MSM_HAS_DEBUG_UART_HS
>>          bool
>>
>> @@ -68,6 +81,7 @@ config MSM_SOC_REV_A
>>
>>   config  ARCH_MSM_ARM11
>>          bool
>> +
>>   config  ARCH_MSM_SCORPION
>>          bool
>>
>> @@ -75,6 +89,7 @@ config  MSM_VIC
>>          bool
>>
>>   menu "Qualcomm MSM Board Type"
>> +       depends on !ARCH_MSM_DT
>>
>>   config MACH_HALIBUT
>>          depends on ARCH_MSM
>> @@ -121,7 +136,7 @@ config MSM_SMD
>>          bool
>>
>>   config MSM_GPIOMUX
>> -       depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
>> +       depends on !ARCH_MSM_DT
>>          bool "MSM V1 TLMM GPIOMUX architecture"
>>          help
>>            Support for MSM V1 TLMM GPIOMUX architecture.
>> diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
>> index d257ff4..80e3b15 100644
>> --- a/arch/arm/mach-msm/Makefile
>> +++ b/arch/arm/mach-msm/Makefile
>> @@ -29,5 +29,6 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o
>>   obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o
>>   obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o
>>   obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o
>> +obj-$(CONFIG_ARCH_MSM8974) += board-dt-8974.o
>>   obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
>>   obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
>> diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
>> new file mode 100644
>> index 0000000..697623e
>> --- /dev/null
>> +++ b/arch/arm/mach-msm/board-dt-8974.c
>> @@ -0,0 +1,23 @@
>> +/* Copyright (c) 2013, 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.
>> + */
>> +
>> +#include <linux/of_platform.h>
>> +#include <asm/mach/arch.h>
>> +
>> +static const char * const msm8974_dt_match[] __initconst = {
>> +       "qcom,msm8974-db",
>> +       NULL
>> +};
>> +
>> +DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
>> +       .dt_compat = msm8974_dt_match,
>> +MACHINE_END
>> --
> Hi Rohit,
>
> I wonder if this arch/arm/mach-msm/board-dt-8974.c boad file is really
> needed. I just noticed that already exist an
> arch/arm/mach-msm/board-dt-8960.c and
> arch/arm/mach-msm/board-dt-8660.c board files which doesn't seem to be
> that different.
>
> I'm not familiar with msm at all so maybe all these boards files are
> needed. But one of the goals of having DeviceTree for ARM is to get
> rid of all the board files so I don't think is a good idea to add a
> board file for each DT added.
>
> In OMAP for example we only have one board file that is used for DT
> booting (arch/arm/mach-omap2/board-generic.c). These board file has a
> struct machine_desc for each OMAP family which defines a dt_compact
> for the family (i.e: ti,omap4).
>
> Since the machine init is almost the same for each SoC in a given
> family a board DTB can just define:
>
> compatible = "foo,bard", "ti,omap3";
>
> Since the compatible string is processed from specific to generic, a
> board can define its own struct machine_desc in case it really needs
> but it should just use the generic one in case it works for it.
>
> Again, I'm not familiar with the Snapdragon 800 SoC family but maybe
> you can do something similar to what we do in OMAP for this SoC
> family.
>
> Thanks a lot and best regards,
> Javier

Thanks Javier for the info. I agree with your reasoning and the analogy. 
This is a new family for Snapdragons and we expect to have differences 
that would go into this board file for 8974.
If the unification of board files seems possible once those changes are 
made, this will be done.

-Rohit
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


Thanks,
Rohit Vaswani

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-06 18:28   ` Rohit Vaswani
@ 2013-08-06 18:33     ` Kumar Gala
  0 siblings, 0 replies; 15+ messages in thread
From: Kumar Gala @ 2013-08-06 18:33 UTC (permalink / raw)
  To: linux-arm-kernel


On Aug 6, 2013, at 1:28 PM, Rohit Vaswani wrote:

> On 8/6/2013 8:47 AM, Kumar Gala wrote:
>> On Aug 5, 2013, at 6:02 PM, Rohit Vaswani wrote:
>> 
>>> This patch adds basic board support for MSM8974 Dragonboard
>>> which belongs to the Snapdragon 800 family.
>>> For now, just support a basic machine with device tree.
>> I think the board is APQ8074 and not MSM8974.
>> 
>>> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
>>> ---
>>> arch/arm/boot/dts/Makefile        |  3 ++-
>>> arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>>> arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>>> arch/arm/mach-msm/Makefile        |  1 +
>>> arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>>> 5 files changed, 70 insertions(+), 4 deletions(-)
>>> create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>>> create mode 100644 arch/arm/mach-msm/board-dt-8974.c
>>> 
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index 641b3c9a..62cea36 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -97,7 +97,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 \
>>> +	msm8974-db.dtb
>>> dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
>>> 	armada-370-mirabox.dtb \
>>> 	armada-370-rd.dtb \
>>> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
>>> new file mode 100644
>>> index 0000000..badfc61
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/msm8974-db.dts
>>> @@ -0,0 +1,26 @@
>>> +/dts-v1/;
>>> +
>>> +/include/ "skeleton.dtsi"
>> We should change msm8974.dts to msm8974.dtsi and include it for the board.
> 
> We can do that once we have something separate/new to add to the dtsi file.

Why wait, we should just do this to start with.  Even if the msm8974-db.dts is just:

/include/ "msm8974.dtsi"

{
	model = "Qualcomm MSM8974 Dragonboard";
	compatible = "qcom,msm8974-db", "qcom,msm8974";
}

Plus, we can do things like "disable" additional cores or such in the board.dts and have the SoC one have all 4 cores, etc in it.

- k

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-06  9:14 ` [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Ivan T. Ivanov
@ 2013-09-11 18:00   ` David Brown
  2013-09-12 14:05     ` Ivan T. Ivanov
  2013-09-11 18:12   ` Josh Cartwright
  1 sibling, 1 reply; 15+ messages in thread
From: David Brown @ 2013-09-11 18:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:

>Attached patch enables earlyprink for this board.
>
>[920] booting linux @ 0x8000, ramdisk @ 0x2000000 (1067699), tags/device tree @ 0x1e00000
>Uncompressing Linux... done, booting the kernel.
>[    0.000000] Booting Linux on physical CPU 0x0
>[    0.000000] Linux version 3.11.0-rc4-00003-g7c8394e (iivanov at dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3
>[    0.000000] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d
>[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
>[    0.000000] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard

We'll need to have either Rohit include this in his patch series, or
you'll have to format this as a valid patch.

Thanks,
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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-06  9:14 ` [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Ivan T. Ivanov
  2013-09-11 18:00   ` David Brown
@ 2013-09-11 18:12   ` Josh Cartwright
  2013-09-12 14:03     ` Ivan T. Ivanov
  1 sibling, 1 reply; 15+ messages in thread
From: Josh Cartwright @ 2013-09-11 18:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hey Ivan-

On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:
[..]
> Enable low-level debug print routines to direct their
> output to the serial port on MSM 8974 devices.
> 
> Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
> ---
>  arch/arm/Kconfig.debug                     |    8 ++++++++
>  arch/arm/mach-msm/board-dt-8974.c          |    2 ++
>  arch/arm/mach-msm/include/mach/msm_iomap.h |    4 ++++
>  3 files changed, 14 insertions(+)
[..]
> diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
> index 697623e..0ce016a 100644
> --- a/arch/arm/mach-msm/board-dt-8974.c
> +++ b/arch/arm/mach-msm/board-dt-8974.c
> @@ -12,6 +12,7 @@
>  
>  #include <linux/of_platform.h>
>  #include <asm/mach/arch.h>
> +#include <asm/mach/map.h>
>  
>  static const char * const msm8974_dt_match[] __initconst = {
>  	"qcom,msm8974-db",
> @@ -20,4 +21,5 @@ static const char * const msm8974_dt_match[] __initconst = {
>  
>  DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
>  	.dt_compat = msm8974_dt_match,
> +	.map_io = debug_ll_io_init,

If/when you get this patch cooked up ontop of Rohit's, changes to this
file (renamed to board-dt.c) should not be necessary.  As of bc37324
("ARM: mmu: Call debug_ll_io_init if no map_io function is specified"),
the debug ll uart mapping is setup automatically.

Thanks,
  Josh

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-09-11 18:12   ` Josh Cartwright
@ 2013-09-12 14:03     ` Ivan T. Ivanov
  0 siblings, 0 replies; 15+ messages in thread
From: Ivan T. Ivanov @ 2013-09-12 14:03 UTC (permalink / raw)
  To: linux-arm-kernel


Hi, 

On Wed, 2013-09-11 at 13:12 -0500, Josh Cartwright wrote: 
> Hey Ivan-
> 
> On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:
> [..]
> > Enable low-level debug print routines to direct their
> > output to the serial port on MSM 8974 devices.
> > 
> > Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
> > ---
> >  arch/arm/Kconfig.debug                     |    8 ++++++++
> >  arch/arm/mach-msm/board-dt-8974.c          |    2 ++
> >  arch/arm/mach-msm/include/mach/msm_iomap.h |    4 ++++
> >  3 files changed, 14 insertions(+)
> [..]
> > diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
> > index 697623e..0ce016a 100644
> > --- a/arch/arm/mach-msm/board-dt-8974.c
> > +++ b/arch/arm/mach-msm/board-dt-8974.c
> > @@ -12,6 +12,7 @@
> >  
> >  #include <linux/of_platform.h>
> >  #include <asm/mach/arch.h>
> > +#include <asm/mach/map.h>
> >  
> >  static const char * const msm8974_dt_match[] __initconst = {
> >  	"qcom,msm8974-db",
> > @@ -20,4 +21,5 @@ static const char * const msm8974_dt_match[] __initconst = {
> >  
> >  DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
> >  	.dt_compat = msm8974_dt_match,
> > +	.map_io = debug_ll_io_init,
> 
> If/when you get this patch cooked up ontop of Rohit's, changes to this
> file (renamed to board-dt.c) should not be necessary.  As of bc37324
> ("ARM: mmu: Call debug_ll_io_init if no map_io function is specified"),
> the debug ll uart mapping is setup automatically.

Thanks Josh. I am aware of this.

Regards,
Ivan


> 
> Thanks,
>   Josh
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-09-11 18:00   ` David Brown
@ 2013-09-12 14:05     ` Ivan T. Ivanov
  2013-09-12 16:34       ` Rohit Vaswani
  0 siblings, 1 reply; 15+ messages in thread
From: Ivan T. Ivanov @ 2013-09-12 14:05 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Wed, 2013-09-11 at 11:00 -0700, David Brown wrote: 
> On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:
> 
> >Attached patch enables earlyprink for this board.
> >
> >[920] booting linux @ 0x8000, ramdisk @ 0x2000000 (1067699), tags/device tree @ 0x1e00000
> >Uncompressing Linux... done, booting the kernel.
> >[    0.000000] Booting Linux on physical CPU 0x0
> >[    0.000000] Linux version 3.11.0-rc4-00003-g7c8394e (iivanov at dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3
> >[    0.000000] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d
> >[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> >[    0.000000] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard
> 
> We'll need to have either Rohit include this in his patch series, or
> you'll have to format this as a valid patch.

I don't have preferences. Rohit could you send this patch 
with you changes?

Regards,
Ivan

> 
> Thanks,
> David
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-09-12 14:05     ` Ivan T. Ivanov
@ 2013-09-12 16:34       ` Rohit Vaswani
  2013-09-13  6:56         ` Ivan T. Ivanov
  0 siblings, 1 reply; 15+ messages in thread
From: Rohit Vaswani @ 2013-09-12 16:34 UTC (permalink / raw)
  To: linux-arm-kernel

On 9/12/2013 7:05 AM, Ivan T. Ivanov wrote:
> Hi,
>
> On Wed, 2013-09-11 at 11:00 -0700, David Brown wrote:
>> On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:
>>
>>> Attached patch enables earlyprink for this board.
>>>
>>> [920] booting linux @ 0x8000, ramdisk @ 0x2000000 (1067699), tags/device tree @ 0x1e00000
>>> Uncompressing Linux... done, booting the kernel.
>>> [    0.000000] Booting Linux on physical CPU 0x0
>>> [    0.000000] Linux version 3.11.0-rc4-00003-g7c8394e (iivanov at dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3
>>> [    0.000000] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d
>>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
>>> [    0.000000] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard
>> We'll need to have either Rohit include this in his patch series, or
>> you'll have to format this as a valid patch.
> I don't have preferences. Rohit could you send this patch
> with you changes?

Yep. Will fixup this as part of the initial support.
> Regards,
> Ivan
>
>> Thanks,
>> David
>>
>


Thanks,
Rohit Vaswani

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-09-12 16:34       ` Rohit Vaswani
@ 2013-09-13  6:56         ` Ivan T. Ivanov
  0 siblings, 0 replies; 15+ messages in thread
From: Ivan T. Ivanov @ 2013-09-13  6:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 2013-09-12 at 09:34 -0700, Rohit Vaswani wrote: 
> On 9/12/2013 7:05 AM, Ivan T. Ivanov wrote:
> > Hi,
> >
> > On Wed, 2013-09-11 at 11:00 -0700, David Brown wrote:
> >> On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote:
> >>
> >>> Attached patch enables earlyprink for this board.
> >>>
> >>> [920] booting linux @ 0x8000, ramdisk @ 0x2000000 (1067699), tags/device tree @ 0x1e00000
> >>> Uncompressing Linux... done, booting the kernel.
> >>> [    0.000000] Booting Linux on physical CPU 0x0
> >>> [    0.000000] Linux version 3.11.0-rc4-00003-g7c8394e (iivanov at dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3
> >>> [    0.000000] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d
> >>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> >>> [    0.000000] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard
> >> We'll need to have either Rohit include this in his patch series, or
> >> you'll have to format this as a valid patch.
> > I don't have preferences. Rohit could you send this patch
> > with you changes?
> 
> Yep. Will fixup this as part of the initial support.

Thanks, 
Ivan

> > Regards,
> > Ivan
> >
> >> Thanks,
> >> David
> >>
> >
> 
> 
> Thanks,
> Rohit Vaswani
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
  2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
                   ` (3 preceding siblings ...)
  2013-08-06 15:47 ` Kumar Gala
@ 2013-09-13 14:40 ` Mark Rutland
  4 siblings, 0 replies; 15+ messages in thread
From: Mark Rutland @ 2013-09-13 14:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Aug 06, 2013 at 12:02:58AM +0100, Rohit Vaswani wrote:
> This patch adds basic board support for MSM8974 Dragonboard
> which belongs to the Snapdragon 800 family.
> For now, just support a basic machine with device tree.
> 
> Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
> ---
>  arch/arm/boot/dts/Makefile        |  3 ++-
>  arch/arm/boot/dts/msm8974-db.dts  | 26 ++++++++++++++++++++++++++
>  arch/arm/mach-msm/Kconfig         | 21 ++++++++++++++++++---
>  arch/arm/mach-msm/Makefile        |  1 +
>  arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++
>  5 files changed, 70 insertions(+), 4 deletions(-)
>  create mode 100644 arch/arm/boot/dts/msm8974-db.dts
>  create mode 100644 arch/arm/mach-msm/board-dt-8974.c
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 641b3c9a..62cea36 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -97,7 +97,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 \
> +	msm8974-db.dtb
>  dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
>  	armada-370-mirabox.dtb \
>  	armada-370-rd.dtb \
> diff --git a/arch/arm/boot/dts/msm8974-db.dts b/arch/arm/boot/dts/msm8974-db.dts
> new file mode 100644
> index 0000000..badfc61
> --- /dev/null
> +++ b/arch/arm/boot/dts/msm8974-db.dts
> @@ -0,0 +1,26 @@
> +/dts-v1/;
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +	model = "Qualcomm MSM8974 Dragonboard";
> +	compatible = "qcom,msm8974-db", "qcom,msm8974";
> +	interrupt-parent = <&intc>;
> +
> +	intc: interrupt-controller at 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>;

Do you actually need this -- does your firmware and/or bootloader not
set CNTFRQ?

It's *far* preferable to set CNTFRQ. Virtualization hosts and guests
may not handle dt and may expect it to have been programmed as per the
ARM ARM.

Thanks,
Mark.

> +	};
> +};
> diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
> index 614e41e..343675b 100644
> --- a/arch/arm/mach-msm/Kconfig
> +++ b/arch/arm/mach-msm/Kconfig
> @@ -1,12 +1,12 @@
>  if ARCH_MSM
>  
>  comment "Qualcomm MSM SoC Type"
> -	depends on (ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on ARCH_MSM_DT
>  
>  choice
>  	prompt "Qualcomm MSM SoC Type"
>  	default ARCH_MSM7X00A
> -	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on !ARCH_MSM_DT
>  
>  config ARCH_MSM7X00A
>  	bool "MSM7x00A / MSM7x01A"
> @@ -60,6 +60,19 @@ config ARCH_MSM8960
>  	select MSM_SCM if SMP
>  	select USE_OF
>  
> +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 || ARCH_MSM8974)
> +
>  config MSM_HAS_DEBUG_UART_HS
>  	bool
>  
> @@ -68,6 +81,7 @@ config MSM_SOC_REV_A
>  
>  config  ARCH_MSM_ARM11
>  	bool
> +
>  config  ARCH_MSM_SCORPION
>  	bool
>  
> @@ -75,6 +89,7 @@ config  MSM_VIC
>  	bool
>  
>  menu "Qualcomm MSM Board Type"
> +	depends on !ARCH_MSM_DT
>  
>  config MACH_HALIBUT
>  	depends on ARCH_MSM
> @@ -121,7 +136,7 @@ config MSM_SMD
>  	bool
>  
>  config MSM_GPIOMUX
> -	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
> +	depends on !ARCH_MSM_DT
>  	bool "MSM V1 TLMM GPIOMUX architecture"
>  	help
>  	  Support for MSM V1 TLMM GPIOMUX architecture.
> diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
> index d257ff4..80e3b15 100644
> --- a/arch/arm/mach-msm/Makefile
> +++ b/arch/arm/mach-msm/Makefile
> @@ -29,5 +29,6 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o
>  obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o
>  obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o
>  obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o
> +obj-$(CONFIG_ARCH_MSM8974) += board-dt-8974.o
>  obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
>  obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
> diff --git a/arch/arm/mach-msm/board-dt-8974.c b/arch/arm/mach-msm/board-dt-8974.c
> new file mode 100644
> index 0000000..697623e
> --- /dev/null
> +++ b/arch/arm/mach-msm/board-dt-8974.c
> @@ -0,0 +1,23 @@
> +/* Copyright (c) 2013, 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.
> + */
> +
> +#include <linux/of_platform.h>
> +#include <asm/mach/arch.h>
> +
> +static const char * const msm8974_dt_match[] __initconst = {
> +	"qcom,msm8974-db",
> +	NULL
> +};
> +
> +DT_MACHINE_START(MSM8974_DT, "Qualcomm MSM (Flattened Device Tree)")
> +	.dt_compat = msm8974_dt_match,
> +MACHINE_END
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
> 
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-09-13 14:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-05 23:02 [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Rohit Vaswani
2013-08-05 23:02 ` [PATCH 2/2] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Rohit Vaswani
2013-08-06  9:14 ` [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard Ivan T. Ivanov
2013-09-11 18:00   ` David Brown
2013-09-12 14:05     ` Ivan T. Ivanov
2013-09-12 16:34       ` Rohit Vaswani
2013-09-13  6:56         ` Ivan T. Ivanov
2013-09-11 18:12   ` Josh Cartwright
2013-09-12 14:03     ` Ivan T. Ivanov
2013-08-06 14:01 ` Javier Martinez Canillas
2013-08-06 18:32   ` Rohit Vaswani
2013-08-06 15:47 ` Kumar Gala
2013-08-06 18:28   ` Rohit Vaswani
2013-08-06 18:33     ` Kumar Gala
2013-09-13 14:40 ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).