| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * linux/arch/arm/mach-sa1100/lart.c | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/init.h>
 | 
					
						
							|  |  |  | #include <linux/kernel.h>
 | 
					
						
							|  |  |  | #include <linux/tty.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-05 16:14:15 +01:00
										 |  |  | #include <mach/hardware.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #include <asm/setup.h>
 | 
					
						
							|  |  |  | #include <asm/mach-types.h>
 | 
					
						
							| 
									
										
										
										
											2009-04-26 13:56:01 +01:00
										 |  |  | #include <asm/page.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <asm/mach/arch.h>
 | 
					
						
							|  |  |  | #include <asm/mach/map.h>
 | 
					
						
							|  |  |  | #include <asm/mach/serial_sa1100.h>
 | 
					
						
							| 
									
										
										
										
											2008-08-05 16:14:15 +01:00
										 |  |  | #include <mach/mcp.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "generic.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #warning "include/asm/arch-sa1100/ide.h needs fixing for lart"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-08-18 10:10:46 +01:00
										 |  |  | static struct mcp_plat_data lart_mcp_data = { | 
					
						
							|  |  |  | 	.mccr0		= MCCR0_ADM, | 
					
						
							|  |  |  | 	.sclk_rate	= 11981000, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void __init lart_init(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2009-10-06 14:55:53 +01:00
										 |  |  | 	sa11x0_register_mcp(&lart_mcp_data); | 
					
						
							| 
									
										
										
										
											2005-08-18 10:10:46 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | static struct map_desc lart_io_desc[] __initdata = { | 
					
						
							| 
									
										
										
										
											2005-10-28 15:19:04 +01:00
										 |  |  | 	{	/* main flash memory */ | 
					
						
							|  |  |  | 		.virtual	=  0xe8000000, | 
					
						
							|  |  |  | 		.pfn		= __phys_to_pfn(0x00000000), | 
					
						
							|  |  |  | 		.length		= 0x00400000, | 
					
						
							|  |  |  | 		.type		= MT_DEVICE | 
					
						
							|  |  |  | 	}, {	/* main flash, alternative location */ | 
					
						
							|  |  |  | 		.virtual	=  0xec000000, | 
					
						
							|  |  |  | 		.pfn		= __phys_to_pfn(0x08000000), | 
					
						
							|  |  |  | 		.length		= 0x00400000, | 
					
						
							|  |  |  | 		.type		= MT_DEVICE | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void __init lart_map_io(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	sa1100_map_io(); | 
					
						
							|  |  |  | 	iotable_init(lart_io_desc, ARRAY_SIZE(lart_io_desc)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	sa1100_register_uart(0, 3); | 
					
						
							|  |  |  | 	sa1100_register_uart(1, 1); | 
					
						
							|  |  |  | 	sa1100_register_uart(2, 2); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	GAFR |= (GPIO_UART_TXD | GPIO_UART_RXD); | 
					
						
							|  |  |  | 	GPDR |= GPIO_UART_TXD; | 
					
						
							|  |  |  | 	GPDR &= ~GPIO_UART_RXD; | 
					
						
							|  |  |  | 	PPAR |= PPAR_UPR; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MACHINE_START(LART, "LART") | 
					
						
							| 
									
										
										
										
											2011-07-05 22:38:17 -04:00
										 |  |  | 	.atag_offset	= 0x100, | 
					
						
							| 
									
										
										
										
											2005-07-03 17:38:58 +01:00
										 |  |  | 	.map_io		= lart_map_io, | 
					
						
							|  |  |  | 	.init_irq	= sa1100_init_irq, | 
					
						
							| 
									
										
										
										
											2005-08-18 10:10:46 +01:00
										 |  |  | 	.init_machine	= lart_init, | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	.timer		= &sa1100_timer, | 
					
						
							| 
									
										
										
										
											2011-11-05 10:28:50 +00:00
										 |  |  | 	.restart	= sa11x0_restart, | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | MACHINE_END |