From patchwork Fri Aug 2 13:36:48 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Afzal Mohammed X-Patchwork-Id: 2837899 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id CBC54BF535 for ; Fri, 2 Aug 2013 13:37:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 990A72048F for ; Fri, 2 Aug 2013 13:37:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 64CF920489 for ; Fri, 2 Aug 2013 13:37:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752664Ab3HBNhT (ORCPT ); Fri, 2 Aug 2013 09:37:19 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:60776 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752607Ab3HBNhS (ORCPT ); Fri, 2 Aug 2013 09:37:18 -0400 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id r72DarQk005433; Fri, 2 Aug 2013 08:36:53 -0500 Received: from DFLE72.ent.ti.com (dfle72.ent.ti.com [128.247.5.109]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id r72DarfT013900; Fri, 2 Aug 2013 08:36:53 -0500 Received: from dlelxv24.itg.ti.com (172.17.1.199) by DFLE72.ent.ti.com (128.247.5.109) with Microsoft SMTP Server id 14.2.342.3; Fri, 2 Aug 2013 08:36:52 -0500 Received: from afzal-Latitude-E6420.india.ti.com (dbdp20.itg.ti.com [172.24.170.38]) by dlelxv24.itg.ti.com (8.13.8/8.13.8) with ESMTP id r72Damtw010684; Fri, 2 Aug 2013 08:36:50 -0500 From: Afzal Mohammed To: , CC: Tony Lindgren , Paul Walmsley , Benoit Cousson , Subject: [PATCH v2 02/13] ARM: OMAP2+: hwmod: AM335x: prepare for AM43x reuse Date: Fri, 2 Aug 2013 19:06:48 +0530 Message-ID: <5207ff755f653dd438b7717bab1d0d61d50d44b6.1375443858.git.afzal@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP AM335x & AM43x have most of the interconnects, IPs similar. Instead of adding new hwmod data for AM43x, reuse AM335x hwmod data as much as possible. In the hwmod entries that could be reused on AM43x, major changes are in register offsets and different ocpif clock for most of peripherals that comes under l4_wkup interconnect. To achieve reuse, as a first step, bring out ocpif's relevant for both SoC's to a new array and handle appropriately. Signed-off-by: Afzal Mohammed --- arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c index 7a9b492..b0a38f0 100644 --- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c @@ -29,6 +29,7 @@ #include "i2c.h" #include "mmc.h" #include "wd_timer.h" +#include "soc.h" /* * IP blocks @@ -2458,6 +2459,13 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__aes0 = { static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { &am33xx_l3_main__emif, + &am33xx_l4_hs__pruss, + &am33xx_l3_main__lcdc, + &am33xx_l3_s__usbss, + NULL, +}; + +static struct omap_hwmod_ocp_if *amx3xx_hwmod_ocp_ifs[] __initdata = { &am33xx_mpu__l3_main, &am33xx_mpu__prcm, &am33xx_l3_s__l4_ls, @@ -2481,7 +2489,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { &am33xx_l4_wkup__gpio0, &am33xx_l4_wkup__adc_tsc, &am33xx_l4_wkup__wd_timer1, - &am33xx_l4_hs__pruss, &am33xx_l4_per__dcan0, &am33xx_l4_per__dcan1, &am33xx_l4_per__gpio1, @@ -2522,14 +2529,12 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { &am33xx_epwmss2__eqep2, &am33xx_epwmss2__ehrpwm2, &am33xx_l3_s__gpmc, - &am33xx_l3_main__lcdc, &am33xx_l4_ls__mcspi0, &am33xx_l4_ls__mcspi1, &am33xx_l3_main__tptc0, &am33xx_l3_main__tptc1, &am33xx_l3_main__tptc2, &am33xx_l3_main__ocmc, - &am33xx_l3_s__usbss, &am33xx_l4_hs__cpgmac0, &am33xx_cpgmac0__mdio, &am33xx_l3_main__sha0, @@ -2539,6 +2544,15 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { int __init am33xx_hwmod_init(void) { + int ret; + omap_hwmod_init(); - return omap_hwmod_register_links(am33xx_hwmod_ocp_ifs); + ret = omap_hwmod_register_links(amx3xx_hwmod_ocp_ifs); + if (ret < 0) + return ret; + + if (soc_is_am33xx()) + return omap_hwmod_register_links(am33xx_hwmod_ocp_ifs); + + return 0; }