diff options
Diffstat (limited to 'arch/arm/mach-omap1')
| -rw-r--r-- | arch/arm/mach-omap1/board-ams-delta.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-fsample.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-generic.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-h2.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-htcherald.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-innovator.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-nokia770.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-osk.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-palmte.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-palmtt.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-palmz71.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-perseus2.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-sx1.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/board-voiceblue.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/io.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap1/mcbsp.c | 45 | 
17 files changed, 61 insertions, 15 deletions
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 312ea6b0409..eb36b25450a 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c @@ -386,7 +386,7 @@ static void __init ams_delta_map_io(void)  MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")  	/* Maintainer: Jonathan McDowell <noodles@earth.li> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= ams_delta_map_io,  	.reserve	= omap_reserve,  	.init_irq	= ams_delta_init_irq, diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index a6b1bea5037..999789c4811 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c @@ -389,7 +389,7 @@ static void __init omap_fsample_map_io(void)  MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")  /* Maintainer: Brian Swetland <swetland@google.com> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_fsample_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_fsample_init_irq, diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index 04fc356c40f..23cc9e4ad50 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c @@ -94,7 +94,7 @@ static void __init omap_generic_map_io(void)  MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")  	/* Maintainer: Tony Lindgren <tony@atomide.com> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_generic_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_generic_init_irq, diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index cb7fb1aa3dc..6c70c28d055 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c @@ -461,7 +461,7 @@ static void __init h2_map_io(void)  MACHINE_START(OMAP_H2, "TI-H2")  	/* Maintainer: Imre Deak <imre.deak@nokia.com> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= h2_map_io,  	.reserve	= omap_reserve,  	.init_irq	= h2_init_irq, diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 31f34875ffa..8e2b64a4692 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c @@ -449,7 +449,7 @@ static void __init h3_map_io(void)  MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")  	/* Maintainer: Texas Instruments, Inc. */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= h3_map_io,  	.reserve	= omap_reserve,  	.init_irq	= h3_init_irq, diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c index 36e06ea7ec6..e81ead1c89e 100644 --- a/arch/arm/mach-omap1/board-htcherald.c +++ b/arch/arm/mach-omap1/board-htcherald.c @@ -611,7 +611,7 @@ static void __init htcherald_init_irq(void)  MACHINE_START(HERALD, "HTC Herald")  	/* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */  	/* Maintainer: wing-linux.sourceforge.net */ -	.boot_params    = 0x10000100, +	.atag_offset    = 0x100,  	.map_io         = htcherald_map_io,  	.reserve	= omap_reserve,  	.init_irq       = htcherald_init_irq, diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index 0b1ba462d38..8b034594fbc 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c @@ -459,7 +459,7 @@ static void __init innovator_map_io(void)  MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")  	/* Maintainer: MontaVista Software, Inc. */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= innovator_map_io,  	.reserve	= omap_reserve,  	.init_irq	= innovator_init_irq, diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 5469ce247ff..6825635ac68 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c @@ -264,7 +264,7 @@ static void __init omap_nokia770_map_io(void)  }  MACHINE_START(NOKIA770, "Nokia 770") -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_nokia770_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_nokia770_init_irq, diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index b08a2138077..44b8e9362bf 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c @@ -583,7 +583,7 @@ static void __init osk_map_io(void)  MACHINE_START(OMAP_OSK, "TI-OSK")  	/* Maintainer: Dirk Behme <dirk.behme@de.bosch.com> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= osk_map_io,  	.reserve	= omap_reserve,  	.init_irq	= osk_init_irq, diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 459cb6bfed5..3d8cd90b1db 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c @@ -275,7 +275,7 @@ static void __init omap_palmte_map_io(void)  }  MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_palmte_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_palmte_init_irq, diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index b214f45f646..d0eefe81cd1 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c @@ -321,7 +321,7 @@ static void __init omap_palmtt_map_io(void)  }  MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_palmtt_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_palmtt_init_irq, diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index 9b0ea48d35f..98e79bc0921 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c @@ -341,7 +341,7 @@ omap_palmz71_map_io(void)  }  MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_palmz71_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_palmz71_init_irq, diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c index 67acd414263..ad3a1567604 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c @@ -350,7 +350,7 @@ static void __init omap_perseus2_map_io(void)  MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")  	/* Maintainer: Kevin Hilman <kjh@hilman.org> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_perseus2_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_perseus2_init_irq, diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 9c3b7c52d9c..602b55c39d3 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c @@ -421,7 +421,7 @@ static void __init omap_sx1_map_io(void)  }  MACHINE_START(SX1, "OMAP310 based Siemens SX1") -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= omap_sx1_map_io,  	.reserve	= omap_reserve,  	.init_irq	= omap_sx1_init_irq, diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index 036edc0ee9b..80165154617 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c @@ -301,7 +301,7 @@ static void __init voiceblue_init(void)  MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")  	/* Maintainer: Ladislav Michl <michl@2n.cz> */ -	.boot_params	= 0x10000100, +	.atag_offset	= 0x100,  	.map_io		= voiceblue_map_io,  	.reserve	= omap_reserve,  	.init_irq	= voiceblue_init_irq, diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index 870886a2959..1cfa1b6bb62 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c @@ -121,6 +121,7 @@ void __init omap1_map_common_io(void)  #endif  	omap_sram_init(); +	omap_init_consistent_dma_size();  }  /* diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c index ab7395d84bc..91f9abbd325 100644 --- a/arch/arm/mach-omap1/mcbsp.c +++ b/arch/arm/mach-omap1/mcbsp.c @@ -31,6 +31,7 @@  static int dsp_use;  static struct clk *api_clk;  static struct clk *dsp_clk; +static struct platform_device **omap_mcbsp_devices;  static void omap1_mcbsp_request(unsigned int id)  { @@ -78,6 +79,17 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {  	.free		= omap1_mcbsp_free,  }; +#define OMAP7XX_MCBSP1_BASE	0xfffb1000 +#define OMAP7XX_MCBSP2_BASE	0xfffb1800 + +#define OMAP1510_MCBSP1_BASE	0xe1011800 +#define OMAP1510_MCBSP2_BASE	0xfffb1000 +#define OMAP1510_MCBSP3_BASE	0xe1017000 + +#define OMAP1610_MCBSP1_BASE	0xe1011800 +#define OMAP1610_MCBSP2_BASE	0xfffb1000 +#define OMAP1610_MCBSP3_BASE	0xe1017000 +  #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)  struct resource omap7xx_mcbsp_res[][6] = {  	{ @@ -369,6 +381,39 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {  #define OMAP16XX_MCBSP_COUNT		0  #endif +static void omap_mcbsp_register_board_cfg(struct resource *res, int res_count, +			struct omap_mcbsp_platform_data *config, int size) +{ +	int i; + +	omap_mcbsp_devices = kzalloc(size * sizeof(struct platform_device *), +				     GFP_KERNEL); +	if (!omap_mcbsp_devices) { +		printk(KERN_ERR "Could not register McBSP devices\n"); +		return; +	} + +	for (i = 0; i < size; i++) { +		struct platform_device *new_mcbsp; +		int ret; + +		new_mcbsp = platform_device_alloc("omap-mcbsp", i + 1); +		if (!new_mcbsp) +			continue; +		platform_device_add_resources(new_mcbsp, &res[i * res_count], +					res_count); +		config[i].reg_size = 2; +		config[i].reg_step = 2; +		new_mcbsp->dev.platform_data = &config[i]; +		ret = platform_device_add(new_mcbsp); +		if (ret) { +			platform_device_put(new_mcbsp); +			continue; +		} +		omap_mcbsp_devices[i] = new_mcbsp; +	} +} +  static int __init omap1_mcbsp_init(void)  {  	if (!cpu_class_is_omap1())  |