diff options
| author | Olof Johansson <olof@lixom.net> | 2012-09-29 13:07:34 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-09-29 13:07:34 -0700 | 
| commit | ad932bb6b549722a561fb31ac2fa50dcbcb3e36b (patch) | |
| tree | 66cde27bd288e011a6e4cff87d342666399a1266 /arch/arm/mach-omap2/omap_hwmod_2430_data.c | |
| parent | 5698bd757d55b1bb87edd1a9744ab09c142abfc2 (diff) | |
| parent | 9cd68fa707cf6372f33eb51a5719dd7626efe5f6 (diff) | |
| download | olio-linux-3.10-ad932bb6b549722a561fb31ac2fa50dcbcb3e36b.tar.xz olio-linux-3.10-ad932bb6b549722a561fb31ac2fa50dcbcb3e36b.zip  | |
Merge tag 'omap-devel-late-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/soc
These changes take us a step closer to merging the common clock
framework for omap but unfortunately these patches were not
ready for merging earlier. See also the notes below on the
dependencies these patches have, they are based on a merge
of sereral branches already merged.
From Paul Walmsley <paul@pwsan.com>:
OMAP patches intended for the 3.7 merge window:
- Runtime PM conversions for the GPMC and RNG IP blocks
- Preparation patches for the OMAP common clock framework conversion
- clkdev alias additions required by other drivers
- Performance Monitoring Unit (PMU) support for OMAP2, 3, and non-4430 OMAP4
- OMAP hwmod code and data improvements
- Preparation patches for the IOMMU runtime PM conversion
- Preparation patches for OMAP4 full-chip retention support
Based on a merge of v3.6-rc6, the omap-cleanup-b-for-3.7 tag
(7852ec0536ca39cefffc6301dc77f8ae55592926),the cleanup-fixes-for-v3.7
tag (de6ca33a96a6bf61fcb91d3d399703e19ead9d1e), and the
omap-devel-am33xx-for-v3.7 tag
(11964f53eb4d9ce59a058be9999d9cfcb1ced878), due to dependencies.
* tag 'omap-devel-late-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (281 commits)
  ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70
  ARM: OMAP2+: PMU: Add runtime PM support
  ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD
  ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD
  ARM: OMAP3: hwmod data: Add debugss HWMOD data
  ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems
  ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP
  hwrng: OMAP: remove SoC restrictions from driver registration
  ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
  hwrng: OMAP: convert to use runtime PM
  hwrng: OMAP: store per-device data in per-device variables, not file statics
  ARM: OMAP2xxx: hwmod/CM: add RNG integration data
  ARM: OMAP2+: gpmc: minimal driver support
  ARM: OMAP2+: gpmc: Adapt to HWMOD
  ARM: OMAP2/3: hwmod data: add gpmc
  ARM: OMAP4: hwmod data: add mmu hwmod for ipu and dsp
  ARM: OMAP3: hwmod data: add mmu data for iva and isp
  ARM: OMAP: iommu: fix including iommu.h without IOMMU_API selected
  ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
  ARM: OMAP4: hwmod data: make *phy_48m* as the main_clk of ocp2scp
  ...
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_2430_data.c')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2430_data.c | 92 | 
1 files changed, 54 insertions, 38 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index 58b5bc196d3..cc4ed902437 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c @@ -13,20 +13,17 @@   * XXX these should be marked initdata for multi-OMAP kernels   */  #include <plat/omap_hwmod.h> -#include <mach/irqs.h> -#include <plat/cpu.h>  #include <plat/dma.h>  #include <plat/serial.h>  #include <plat/i2c.h> -#include <plat/gpio.h>  #include <plat/mcbsp.h>  #include <plat/mcspi.h>  #include <plat/dmtimer.h>  #include <plat/mmc.h>  #include <plat/l3_2xxx.h> +#include "soc.h"  #include "omap_hwmod_common_data.h" -  #include "prm-regbits-24xx.h"  #include "cm-regbits-24xx.h"  #include "wd_timer.h" @@ -133,8 +130,8 @@ static struct omap_hwmod omap2430_i2c2_hwmod = {  /* gpio5 */  static struct omap_hwmod_irq_info omap243x_gpio5_irqs[] = { -	{ .irq = 33 }, /* INT_24XX_GPIO_BANK5 */ -	{ .irq = -1 } +	{ .irq = 33 + OMAP_INTC_START, }, /* INT_24XX_GPIO_BANK5 */ +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_gpio5_hwmod = { @@ -173,8 +170,8 @@ static struct omap_hwmod omap2430_dma_system_hwmod = {  /* mailbox */  static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = { -	{ .irq = 26 }, -	{ .irq = -1 } +	{ .irq = 26 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_mailbox_hwmod = { @@ -195,8 +192,8 @@ static struct omap_hwmod omap2430_mailbox_hwmod = {  /* mcspi3 */  static struct omap_hwmod_irq_info omap2430_mcspi3_mpu_irqs[] = { -	{ .irq = 91 }, -	{ .irq = -1 } +	{ .irq = 91 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod_dma_info omap2430_mcspi3_sdma_reqs[] = { @@ -250,9 +247,9 @@ static struct omap_hwmod_class usbotg_class = {  /* usb_otg_hs */  static struct omap_hwmod_irq_info omap2430_usbhsotg_mpu_irqs[] = { -	{ .name = "mc", .irq = 92 }, -	{ .name = "dma", .irq = 93 }, -	{ .irq = -1 } +	{ .name = "mc", .irq = 92 + OMAP_INTC_START, }, +	{ .name = "dma", .irq = 93 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_usbhsotg_hwmod = { @@ -303,11 +300,11 @@ static struct omap_hwmod_opt_clk mcbsp_opt_clks[] = {  /* mcbsp1 */  static struct omap_hwmod_irq_info omap2430_mcbsp1_irqs[] = { -	{ .name = "tx",		.irq = 59 }, -	{ .name = "rx",		.irq = 60 }, -	{ .name = "ovr",	.irq = 61 }, -	{ .name = "common",	.irq = 64 }, -	{ .irq = -1 } +	{ .name = "tx",		.irq = 59 + OMAP_INTC_START, }, +	{ .name = "rx",		.irq = 60 + OMAP_INTC_START, }, +	{ .name = "ovr",	.irq = 61 + OMAP_INTC_START, }, +	{ .name = "common",	.irq = 64 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_mcbsp1_hwmod = { @@ -331,10 +328,10 @@ static struct omap_hwmod omap2430_mcbsp1_hwmod = {  /* mcbsp2 */  static struct omap_hwmod_irq_info omap2430_mcbsp2_irqs[] = { -	{ .name = "tx",		.irq = 62 }, -	{ .name = "rx",		.irq = 63 }, -	{ .name = "common",	.irq = 16 }, -	{ .irq = -1 } +	{ .name = "tx",		.irq = 62 + OMAP_INTC_START, }, +	{ .name = "rx",		.irq = 63 + OMAP_INTC_START, }, +	{ .name = "common",	.irq = 16 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_mcbsp2_hwmod = { @@ -358,10 +355,10 @@ static struct omap_hwmod omap2430_mcbsp2_hwmod = {  /* mcbsp3 */  static struct omap_hwmod_irq_info omap2430_mcbsp3_irqs[] = { -	{ .name = "tx",		.irq = 89 }, -	{ .name = "rx",		.irq = 90 }, -	{ .name = "common",	.irq = 17 }, -	{ .irq = -1 } +	{ .name = "tx",		.irq = 89 + OMAP_INTC_START, }, +	{ .name = "rx",		.irq = 90 + OMAP_INTC_START, }, +	{ .name = "common",	.irq = 17 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod omap2430_mcbsp3_hwmod = { @@ -385,10 +382,10 @@ static struct omap_hwmod omap2430_mcbsp3_hwmod = {  /* mcbsp4 */  static struct omap_hwmod_irq_info omap2430_mcbsp4_irqs[] = { -	{ .name = "tx",		.irq = 54 }, -	{ .name = "rx",		.irq = 55 }, -	{ .name = "common",	.irq = 18 }, -	{ .irq = -1 } +	{ .name = "tx",		.irq = 54 + OMAP_INTC_START, }, +	{ .name = "rx",		.irq = 55 + OMAP_INTC_START, }, +	{ .name = "common",	.irq = 18 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod_dma_info omap2430_mcbsp4_sdma_chs[] = { @@ -418,10 +415,10 @@ static struct omap_hwmod omap2430_mcbsp4_hwmod = {  /* mcbsp5 */  static struct omap_hwmod_irq_info omap2430_mcbsp5_irqs[] = { -	{ .name = "tx",		.irq = 81 }, -	{ .name = "rx",		.irq = 82 }, -	{ .name = "common",	.irq = 19 }, -	{ .irq = -1 } +	{ .name = "tx",		.irq = 81 + OMAP_INTC_START, }, +	{ .name = "rx",		.irq = 82 + OMAP_INTC_START, }, +	{ .name = "common",	.irq = 19 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod_dma_info omap2430_mcbsp5_sdma_chs[] = { @@ -468,8 +465,8 @@ static struct omap_hwmod_class omap2430_mmc_class = {  /* MMC/SD/SDIO1 */  static struct omap_hwmod_irq_info omap2430_mmc1_mpu_irqs[] = { -	{ .irq = 83 }, -	{ .irq = -1 } +	{ .irq = 83 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod_dma_info omap2430_mmc1_sdma_reqs[] = { @@ -509,8 +506,8 @@ static struct omap_hwmod omap2430_mmc1_hwmod = {  /* MMC/SD/SDIO2 */  static struct omap_hwmod_irq_info omap2430_mmc2_mpu_irqs[] = { -	{ .irq = 86 }, -	{ .irq = -1 } +	{ .irq = 86 + OMAP_INTC_START, }, +	{ .irq = -1 },  };  static struct omap_hwmod_dma_info omap2430_mmc2_sdma_reqs[] = { @@ -890,6 +887,15 @@ static struct omap_hwmod_addr_space omap2430_counter_32k_addrs[] = {  	{ }  }; +static struct omap_hwmod_addr_space omap2430_gpmc_addrs[] = { +	{ +		.pa_start	= 0x6e000000, +		.pa_end		= 0x6e000fff, +		.flags		= ADDR_TYPE_RT +	}, +	{ } +}; +  static struct omap_hwmod_ocp_if omap2430_l4_wkup__counter_32k = {  	.master		= &omap2xxx_l4_wkup_hwmod,  	.slave		= &omap2xxx_counter_32k_hwmod, @@ -898,6 +904,14 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__counter_32k = {  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; +static struct omap_hwmod_ocp_if omap2430_l3__gpmc = { +	.master		= &omap2xxx_l3_main_hwmod, +	.slave		= &omap2xxx_gpmc_hwmod, +	.clk		= "core_l3_ck", +	.addr		= omap2430_gpmc_addrs, +	.user		= OCP_USER_MPU | OCP_USER_SDMA, +}; +  static struct omap_hwmod_ocp_if *omap2430_hwmod_ocp_ifs[] __initdata = {  	&omap2xxx_l3_main__l4_core,  	&omap2xxx_mpu__l3_main, @@ -947,7 +961,9 @@ static struct omap_hwmod_ocp_if *omap2430_hwmod_ocp_ifs[] __initdata = {  	&omap2430_l4_core__mcbsp4,  	&omap2430_l4_core__mcbsp5,  	&omap2430_l4_core__hdq1w, +	&omap2xxx_l4_core__rng,  	&omap2430_l4_wkup__counter_32k, +	&omap2430_l3__gpmc,  	NULL,  };  |