From patchwork Tue Feb 26 17:03:28 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bastian Hecht X-Patchwork-Id: 2186161 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id AAE4C3FCF2 for ; Tue, 26 Feb 2013 16:04:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759827Ab3BZQEG (ORCPT ); Tue, 26 Feb 2013 11:04:06 -0500 Received: from mail-qe0-f46.google.com ([209.85.128.46]:51963 "EHLO mail-qe0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759821Ab3BZQED (ORCPT ); Tue, 26 Feb 2013 11:04:03 -0500 Received: by mail-qe0-f46.google.com with SMTP id a11so1356410qen.33 for ; Tue, 26 Feb 2013 08:04:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=VPjgjdg13IGD1UhEHIR3z2n6nOyo2rlvDSCbZfzNh1A=; b=EOJTyIpBCcWpu928aHI2IHxfK7YNsCwLDvLdo2sMxVd6vjlTeaCTsuJruczeS1Sr5W zIZB/s0nHDV7fnQg1SjeTpXaszK7Lm6oLg2gpMmkhHqLRMUuG7X7uvO0WHLae3hsQozY 2o3+5FEZqb5hTGMRaBURc6hqLmXgoNG2u1jXzuhhlyT7dcEE9BDk30DAWcOKGqO/sTA5 KBbR/kOdQFa5tMSNL70TLJaT05Y8N6IZopo8mAl74DlWDAFBLkiV/VHDvSiwwAkAmVuD QHSzbJdF5KGPHpKQ5hJCVIDtQdXPfnLoxBgK6+gLExroxyFuD8BuWtFmRwr9JEni6TfR Xj5Q== X-Received: by 10.49.70.165 with SMTP id n5mr18150148qeu.16.1361894642004; Tue, 26 Feb 2013 08:04:02 -0800 (PST) Received: from bender.routerdd3bcc.com (rrcs-50-74-208-202.nyc.biz.rr.com. [50.74.208.202]) by mx.google.com with ESMTPS id gw9sm2419577qab.10.2013.02.26.08.04.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 26 Feb 2013 08:04:01 -0800 (PST) From: Bastian Hecht To: linux-sh@vger.kernel.org Cc: Magnus Damm , Paul Mundt , linux-serial@vger.kernel.org Subject: [PATCH v3 3/3] ARM: mach-shmobile: r8a7740: Setup the serial devices using DT Date: Tue, 26 Feb 2013 11:03:28 -0600 Message-Id: <1361898208-6683-3-git-send-email-hechtb+renesas@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1361898208-6683-1-git-send-email-hechtb+renesas@gmail.com> References: <1361898208-6683-1-git-send-email-hechtb+renesas@gmail.com> Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org We can now use the Device Tree for bringing up our serial devices. We need to add an alternative early_devices list in setup-r8a7740 without the serial devices and move them into the Armadillo-reference .dts config file. Signed-off-by: Bastian Hecht --- v3: no changes .../boot/dts/r8a7740-armadillo800eva-reference.dts | 94 ++++++++++++++++++++ arch/arm/mach-shmobile/setup-r8a7740.c | 15 +++- 2 files changed, 105 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts index 1e339cd..52645b6 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts @@ -134,6 +134,100 @@ renesas,pins = "eth_base"; renesas,function = "eth"; }; + + sci@0xe6c40000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c40000 0x100>; + interrupts = <0x0c00>, <0x0c00>, <0x0c00>, <0x0c00>; + cell-index = <0>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + + sci@0xe6c50000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c50000 0x100>; + interrupts = <0x0c20>, <0x0c20>, <0x0c20>, <0x0c20>; + cell-index = <1>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + + sci@0xe6c60000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c60000 0x100>; + interrupts = <0x0c40>, <0x0c40>, <0x0c40>, <0x0c40>; + cell-index = <2>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + + sci@0xe6c70000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c70000 0x100>; + interrupts = <0x0c60>, <0x0c60>, <0x0c60>, <0x0c60>; + cell-index = <3>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + sci@0xe6c80000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c80000 0x100>; + interrupts = <0x0d20>, <0x0d20>, <0x0d20>, <0x0d20>; + cell-index = <4>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + sci@0xe6cb0000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6cb0000 0x100>; + interrupts = <0x0d40>, <0x0d40>, <0x0d40>, <0x0d40>; + cell-index = <5>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + sci@0xe6cc0000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6cc0000 0x100>; + interrupts = <0x04c0>, <0x04c0>, <0x04c0>, <0x04c0>; + cell-index = <6>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + sci@0xe6cd0000 { + compatible = "renesas,sci-SCIFA-uart"; + interrupt-parent = <&intca>; + reg = <0xe6cd0000 0x100>; + interrupts = <0x04e0>, <0x04e0>, <0x04e0>, <0x04e0>; + cell-index = <7>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; + sci@0xe6c30000 { + compatible = "renesas,sci-SCIFB-uart"; + interrupt-parent = <&intca>; + reg = <0xe6c30000 0x100>; + interrupts = <0x0d60>, <0x0d60>, <0x0d60>, <0x0d60>; + cell-index = <8>; + renesas,scscr = <0x30>; + renesas,scbrr-algo-id = <4>; + renesas,autoconf; + }; }; &gpio { diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c index 5312aad..5f7597a 100644 --- a/arch/arm/mach-shmobile/setup-r8a7740.c +++ b/arch/arm/mach-shmobile/setup-r8a7740.c @@ -394,6 +394,13 @@ static struct platform_device *r8a7740_early_devices[] __initdata = { &tmu02_device, }; +static struct platform_device *r8a7740_early_devices_dt[] __initdata = { + &cmt10_device, + &tmu00_device, + &tmu01_device, + &tmu02_device, +}; + /* DMA */ static const struct sh_dmae_slave_config r8a7740_dmae_slaves[] = { { @@ -839,8 +846,8 @@ void __init r8a7740_add_early_devices_dt(void) { shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */ - early_platform_add_devices(r8a7740_early_devices, - ARRAY_SIZE(r8a7740_early_devices)); + early_platform_add_devices(r8a7740_early_devices_dt, + ARRAY_SIZE(r8a7740_early_devices_dt)); /* setup early console here as well */ shmobile_setup_console(); @@ -852,8 +859,8 @@ static const struct of_dev_auxdata r8a7740_auxdata_lookup[] __initconst = { void __init r8a7740_add_standard_devices_dt(void) { - platform_add_devices(r8a7740_early_devices, - ARRAY_SIZE(r8a7740_early_devices)); + platform_add_devices(r8a7740_early_devices_dt, + ARRAY_SIZE(r8a7740_early_devices_dt)); of_platform_populate(NULL, of_default_bus_match_table, r8a7740_auxdata_lookup, NULL);