From patchwork Fri Sep 6 00:04:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rohit Vaswani X-Patchwork-Id: 2854326 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id A50359F495 for ; Fri, 6 Sep 2013 00:06:00 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D8015203A8 for ; Fri, 6 Sep 2013 00:05:58 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C4D6620372 for ; Fri, 6 Sep 2013 00:05:57 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VHjYV-0007fL-Pg; Fri, 06 Sep 2013 00:05:44 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VHjYT-000567-EL; Fri, 06 Sep 2013 00:05:41 +0000 Received: from smtp.codeaurora.org ([198.145.11.231]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VHjYJ-000557-Bi for linux-arm-kernel@lists.infradead.org; Fri, 06 Sep 2013 00:05:32 +0000 Received: from smtp.codeaurora.org (localhost [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 642DB13F286; Fri, 6 Sep 2013 00:05:07 +0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 486) id 5478513F28B; Fri, 6 Sep 2013 00:05:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from codeaurora.org (i-global252.qualcomm.com [199.106.103.252]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: rvaswani@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 73B2A13F286; Fri, 6 Sep 2013 00:05:06 +0000 (UTC) From: Rohit Vaswani To: David Brown Subject: [PATCHv2 1/2] ARM: msm: Add support for MSM8974 Dragonboard Date: Thu, 5 Sep 2013 17:04:49 -0700 Message-Id: <1378425890-4225-1-git-send-email-rvaswani@codeaurora.org> X-Mailer: git-send-email 1.8.2.1 X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130905_200531_615190_4053431F X-CRM114-Status: GOOD ( 21.29 ) X-Spam-Score: -4.3 (----) Cc: Mark Rutland , devicetree@vger.kernel.org, Russell King , Ian Campbell , Pawel Moll , Stephen Warren , linux-arm-msm@vger.kernel.org, Rohit Vaswani , Rob Herring , linux-kernel@vger.kernel.org, Bryan Huntsman , Daniel Walker , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- arch/arm/boot/dts/Makefile | 3 ++- arch/arm/boot/dts/msm8974-db.dts | 7 +++++++ arch/arm/boot/dts/msm8974.dtsi | 30 ++++++++++++++++++++++++++++++ arch/arm/mach-msm/Kconfig | 20 ++++++++++++++++++-- arch/arm/mach-msm/Makefile | 1 + arch/arm/mach-msm/board-dt-8974.c | 23 +++++++++++++++++++++++ 6 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 arch/arm/boot/dts/msm8974-db.dts create mode 100644 arch/arm/boot/dts/msm8974.dtsi 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 69193be..95ace01 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -103,7 +103,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-netgear-rn102.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..74106a8 --- /dev/null +++ b/arch/arm/boot/dts/msm8974-db.dts @@ -0,0 +1,7 @@ +/include/ "msm8974.dtsi" + +/ { + model = "Qualcomm MSM8974 Dragonboard"; + compatible = "qcom,msm8974-db", "qcom,msm8974"; +}; + diff --git a/arch/arm/boot/dts/msm8974.dtsi b/arch/arm/boot/dts/msm8974.dtsi new file mode 100644 index 0000000..aa3bb2f --- /dev/null +++ b/arch/arm/boot/dts/msm8974.dtsi @@ -0,0 +1,30 @@ +/dts-v1/; + +/include/ "skeleton.dtsi" + +/ { + model = "Qualcomm MSM8974"; + compatible = "qcom,msm8974"; + interrupt-parent = <&intc>; + + soc: soc { }; +}; + +&soc { + 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 905efc8..499e8fe 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 @@ -122,6 +137,7 @@ config MSM_SMD config MSM_GPIOMUX bool + depends on !ARCH_MSM_DT help Support for MSM V1 TLMM GPIOMUX architecture. diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index d872634..28e5c21 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -28,5 +28,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 +#include + +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