From patchwork Sat Oct 23 01:05:01 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: omar ramirez X-Patchwork-Id: 278681 X-Patchwork-Delegate: paul@pwsan.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o9N1FMVl004909 for ; Sat, 23 Oct 2010 01:15:28 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753028Ab0JWBPV (ORCPT ); Fri, 22 Oct 2010 21:15:21 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:58322 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752618Ab0JWBPQ (ORCPT ); Fri, 22 Oct 2010 21:15:16 -0400 Received: from dlep35.itg.ti.com ([157.170.170.118]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id o9N1Ex2h028118 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 22 Oct 2010 20:14:59 -0500 Received: from legion.dal.design.ti.com (localhost [127.0.0.1]) by dlep35.itg.ti.com (8.13.7/8.13.7) with ESMTP id o9N1EuEH017744; Fri, 22 Oct 2010 20:14:57 -0500 (CDT) Received: from localhost (bacab.am.dhcp.ti.com [128.247.77.143]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id o9N1Euf25536; Fri, 22 Oct 2010 20:14:56 -0500 (CDT) From: Omar Ramirez Luna To: Tony Lindgren , Paul Walmsley Cc: Russell King , Kevin Hilman , Santosh Shilimkar , Kalle Jokiniemi , Rajendra Nayak , Felipe Contreras , Tero Kristo , Fernando Guzman Lugo , Rene Sapiens , Ernesto Ramos , linux-omap@vger.kernel.org, Paul Walmsley , Subject: [PATCH 3/3] tidspbridge: convert OMAP3430 adaptation layer to use new SCM DSP boot control fns Date: Fri, 22 Oct 2010 20:05:01 -0500 Message-Id: <1287795901-28613-3-git-send-email-omar.ramirez@ti.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1287795901-28613-1-git-send-email-omar.ramirez@ti.com> References: <1287795901-28613-1-git-send-email-omar.ramirez@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Sat, 23 Oct 2010 01:15:28 +0000 (UTC) diff --git a/arch/arm/mach-omap2/dsp.c b/arch/arm/mach-omap2/dsp.c index 6feeeae..307f67a 100644 --- a/arch/arm/mach-omap2/dsp.c +++ b/arch/arm/mach-omap2/dsp.c @@ -12,6 +12,7 @@ */ #include +#include "control.h" #include "prm.h" #include "cm.h" #ifdef CONFIG_BRIDGE_DVFS @@ -31,6 +32,9 @@ static struct omap_dsp_platform_data omap_dsp_pdata __initdata = { .cpu_set_freq = omap_pm_cpu_set_freq, .cpu_get_freq = omap_pm_cpu_get_freq, #endif + .set_dsp_bootaddr = omap2430_ctrl_set_dsp_bootaddr, + .set_dsp_bootmode = omap2430_ctrl_set_dsp_bootmode, + .dsp_prm_read = prm_read_mod_reg, .dsp_prm_write = prm_write_mod_reg, .dsp_prm_rmw_bits = prm_rmw_mod_reg_bits, diff --git a/arch/arm/plat-omap/include/plat/dsp.h b/arch/arm/plat-omap/include/plat/dsp.h index 9c604b3..34e2bd8 100644 --- a/arch/arm/plat-omap/include/plat/dsp.h +++ b/arch/arm/plat-omap/include/plat/dsp.h @@ -10,7 +10,11 @@ struct omap_dsp_platform_data { unsigned long (*cpu_get_freq) (void); unsigned long mpu_speed[6]; + void (*set_dsp_bootaddr)(u32 pa); + void (*set_dsp_bootmode)(u8 mode); + /* functions to write and read PRCM registers */ + /* XXX None of this should be here */ void (*dsp_prm_write)(u32, s16 , u16); u32 (*dsp_prm_read)(s16 , u16); u32 (*dsp_prm_rmw_bits)(u32, u32, s16, s16); diff --git a/drivers/staging/tidspbridge/core/tiomap3430.c b/drivers/staging/tidspbridge/core/tiomap3430.c index f22bc12..b91d911 100644 --- a/drivers/staging/tidspbridge/core/tiomap3430.c +++ b/drivers/staging/tidspbridge/core/tiomap3430.c @@ -23,7 +23,7 @@ #include #include #include -#include +#include /* ----------------------------------- DSP/BIOS Bridge */ #include @@ -293,6 +293,7 @@ static int bridge_brd_start(struct bridge_dev_context *dev_ctxt, u32 clk_cmd; struct io_mgr *hio_mgr; u32 ul_load_monitor_timer; + u8 bootmode; struct omap_dsp_platform_data *pdata = omap_dspbridge_dev->dev.platform_data; @@ -334,15 +335,13 @@ static int bridge_brd_start(struct bridge_dev_context *dev_ctxt, OMAP3430_RST1_IVA2_MASK, OMAP3430_IVA2_MOD, OMAP2_RM_RSTCTRL); /* Mask address with 1K for compatibility */ - __raw_writel(dsp_addr & OMAP3_IVA2_BOOTADDR_MASK, - OMAP343X_CTRL_REGADDR( - OMAP343X_CONTROL_IVA2_BOOTADDR)); + dsp_addr &= OMAP3_IVA2_BOOTADDR_MASK; + (*pdata->set_dsp_bootaddr)(dsp_addr); /* * Set bootmode to self loop if dsp_debug flag is true */ - __raw_writel((dsp_debug) ? OMAP3_IVA2_BOOTMOD_IDLE : 0, - OMAP343X_CTRL_REGADDR( - OMAP343X_CONTROL_IVA2_BOOTMOD)); + bootmode = dsp_debug ? OMAP_IVA2_DSP_BOOTMODE_IDLE : 0; + (*pdata->set_dsp_bootmode)(bootmode); } }