From patchwork Sat Feb 16 22:43:35 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 2152551 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id 6C2223FD4F for ; Sat, 16 Feb 2013 21:46:28 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1U6pXQ-0004qt-72; Sat, 16 Feb 2013 21:43:16 +0000 Received: from mail-lb0-f170.google.com ([209.85.217.170]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1U6pXM-0004q2-Aj for linux-arm-kernel@lists.infradead.org; Sat, 16 Feb 2013 21:43:13 +0000 Received: by mail-lb0-f170.google.com with SMTP id ge1so3469604lbb.1 for ; Sat, 16 Feb 2013 13:43:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:to:subject:from:organization:date:mime-version :content-type:content-transfer-encoding:message-id :x-gm-message-state; bh=y9c+QhVYZ6DxSVQzW4/MXt+E1+eSjit6LeUS8RaZgDY=; b=G1o3FoifkH05NJUHDMTR/VF8H6nguDYPowRh/PQ9qXn0x8WOb1qXWvYExrM2kdAbaQ kxkeZd1hqpBvI2BKB1Npwi4CwhYgoa5QLZjBHLGCIT05XzxfaspvA7xKQ84U1VX3M4Tx XI2uCW9Es+iBb6obzFON9X2CtdeXxPcTdoguNnSvLxgcLWlvZwNjNJQ47EMnS5lqOLO4 SmyZ61U2/Jy29AS6Bg0x9VH3EQmGv+IO3p+keI1xTXszMqGdNkQcEBoB3rs9OMjl99Mg wAKeI1Bb33LKa5kz9XF5BMMO++H0DkjycMJ+XbyJIcO5t/x6sKYAUKb0nASKd61/Kdvx Vlkg== X-Received: by 10.152.105.244 with SMTP id gp20mr5433583lab.34.1361050990007; Sat, 16 Feb 2013 13:43:10 -0800 (PST) Received: from wasted.dev.rtsoft.ru (ppp91-79-87-79.pppoe.mtu-net.ru. [91.79.87.79]) by mx.google.com with ESMTPS id go4sm19145931lbb.16.2013.02.16.13.43.08 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 16 Feb 2013 13:43:09 -0800 (PST) To: horms@verge.net.au, magnus.damm@gmail.com, linux@arm.linux.org.uk, linux-sh@vger.kernel.org, linux-arm-kernel@lists.infradead.org, vladimir.barinov@cogentembedded.com Subject: [PATCH 2/4] ARM: mach-shmobile: r8a7779: add SATA support From: Sergei Shtylyov Organization: Cogent Embedded Date: Sun, 17 Feb 2013 01:43:35 +0300 MIME-Version: 1.0 Message-Id: <201302170143.36052.sergei.shtylyov@cogentembedded.com> X-Gm-Message-State: ALoCoQnLVyIFAXaAkaMX3lDZJ48VW4r+q8AVGuKZE+rgBAZKH/5Zgyy/tPUArvuP43qqPcrdXIsn X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130216_164312_504605_8668DF6F X-CRM114-Status: GOOD ( 13.06 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.217.170 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org From: Vladimir Barinov Add SATA clock and platform device resources on r8a7779 SoC. Add entry to r8a7779_auxdata_lookup[], so that devm_clk_get() in the driver still works when we're using the device tree. Signed-off-by: Vladimir Barinov Signed-off-by: Sergei Shtylyov --- arch/arm/mach-shmobile/clock-r8a7779.c | 3 +++ arch/arm/mach-shmobile/setup-r8a7779.c | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) Index: renesas/arch/arm/mach-shmobile/clock-r8a7779.c =================================================================== --- renesas.orig/arch/arm/mach-shmobile/clock-r8a7779.c +++ renesas/arch/arm/mach-shmobile/clock-r8a7779.c @@ -87,6 +87,7 @@ static struct clk div4_clks[DIV4_NR] = { }; enum { MSTP323, MSTP322, MSTP321, MSTP320, + MSTP115, MSTP101, MSTP100, MSTP030, MSTP029, MSTP028, MSTP027, MSTP026, MSTP025, MSTP024, MSTP023, MSTP022, MSTP021, @@ -99,6 +100,7 @@ static struct clk mstp_clks[MSTP_NR] = { [MSTP322] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR3, 22, 0), /* SDHI1 */ [MSTP321] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR3, 21, 0), /* SDHI2 */ [MSTP320] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR3, 20, 0), /* SDHI3 */ + [MSTP115] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 15, 0), /* SATA */ [MSTP101] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 1, 0), /* USB2 */ [MSTP100] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR1, 0, 0), /* USB0/1 */ [MSTP030] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 30, 0), /* I2C0 */ @@ -156,6 +158,7 @@ static struct clk_lookup lookups[] = { CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), /* MSTP32 clocks */ + CLKDEV_DEV_ID("sata_rcar", &mstp_clks[MSTP115]), /* SATA */ CLKDEV_DEV_ID("ehci-platform.1", &mstp_clks[MSTP101]), /* USB EHCI port2 */ CLKDEV_DEV_ID("ohci-platform.1", &mstp_clks[MSTP101]), /* USB OHCI port2 */ CLKDEV_DEV_ID("ehci-platform.0", &mstp_clks[MSTP100]), /* USB EHCI port0/1 */ Index: renesas/arch/arm/mach-shmobile/setup-r8a7779.c =================================================================== --- renesas.orig/arch/arm/mach-shmobile/setup-r8a7779.c +++ renesas/arch/arm/mach-shmobile/setup-r8a7779.c @@ -322,6 +322,26 @@ static struct platform_device i2c3_devic .num_resources = ARRAY_SIZE(rcar_i2c3_res), }; +static struct resource sata_resources[] = { + [0] = { + .name = "rcar-sata", + .start = 0xfc600000, + .end = 0xfc601fff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = gic_spi(100), + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device sata_device = { + .name = "sata_rcar", + .id = -1, + .resource = sata_resources, + .num_resources = ARRAY_SIZE(sata_resources), +}; + static struct platform_device *r8a7779_early_devices_dt[] __initdata = { &scif0_device, &scif1_device, @@ -338,6 +358,7 @@ static struct platform_device *r8a7779_e &i2c1_device, &i2c2_device, &i2c3_device, + &sata_device, }; void __init r8a7779_add_standard_devices(void) @@ -404,6 +425,7 @@ void __init r8a7779_add_early_devices_dt } static const struct of_dev_auxdata r8a7779_auxdata_lookup[] __initconst = { + OF_DEV_AUXDATA("renesas,rcar-sata", 0xfc600000, "sata_rcar", NULL), {}, };