| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  linux/arch/arm/mach-mmp/aspenite.c | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Support for the Marvell PXA168-based Aspenite and Zylonite2 | 
					
						
							|  |  |  |  *  Development Platform. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  *  it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  *  publishhed by the Free Software Foundation. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2011-07-26 10:53:52 +01:00
										 |  |  | #include <linux/gpio.h>
 | 
					
						
							| 
									
										
										
										
											2013-04-09 18:12:04 +08:00
										 |  |  | #include <linux/gpio-pxa.h>
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | #include <linux/init.h>
 | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | #include <linux/kernel.h>
 | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | #include <linux/platform_device.h>
 | 
					
						
							|  |  |  | #include <linux/smc91x.h>
 | 
					
						
							| 
									
										
										
										
											2009-09-10 14:37:48 +08:00
										 |  |  | #include <linux/mtd/mtd.h>
 | 
					
						
							|  |  |  | #include <linux/mtd/partitions.h>
 | 
					
						
							|  |  |  | #include <linux/mtd/nand.h>
 | 
					
						
							| 
									
										
										
										
											2010-09-08 09:42:42 -04:00
										 |  |  | #include <linux/interrupt.h>
 | 
					
						
							| 
									
										
										
										
											2012-05-03 15:55:10 +08:00
										 |  |  | #include <linux/platform_data/mv_usb.h>
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <asm/mach-types.h>
 | 
					
						
							|  |  |  | #include <asm/mach/arch.h>
 | 
					
						
							|  |  |  | #include <mach/addr-map.h>
 | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | #include <mach/mfp-pxa168.h>
 | 
					
						
							|  |  |  | #include <mach/pxa168.h>
 | 
					
						
							| 
									
										
										
										
											2012-01-03 16:50:40 -06:00
										 |  |  | #include <mach/irqs.h>
 | 
					
						
							| 
									
										
										
										
											2010-08-25 23:51:55 -04:00
										 |  |  | #include <video/pxa168fb.h>
 | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | #include <linux/input.h>
 | 
					
						
							| 
									
										
										
										
											2012-08-24 15:16:48 +02:00
										 |  |  | #include <linux/platform_data/keypad-pxa27x.h>
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "common.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | static unsigned long common_pin_config[] __initdata = { | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | 	/* Data Flash Interface */ | 
					
						
							|  |  |  | 	GPIO0_DFI_D15, | 
					
						
							|  |  |  | 	GPIO1_DFI_D14, | 
					
						
							|  |  |  | 	GPIO2_DFI_D13, | 
					
						
							|  |  |  | 	GPIO3_DFI_D12, | 
					
						
							|  |  |  | 	GPIO4_DFI_D11, | 
					
						
							|  |  |  | 	GPIO5_DFI_D10, | 
					
						
							|  |  |  | 	GPIO6_DFI_D9, | 
					
						
							|  |  |  | 	GPIO7_DFI_D8, | 
					
						
							|  |  |  | 	GPIO8_DFI_D7, | 
					
						
							|  |  |  | 	GPIO9_DFI_D6, | 
					
						
							|  |  |  | 	GPIO10_DFI_D5, | 
					
						
							|  |  |  | 	GPIO11_DFI_D4, | 
					
						
							|  |  |  | 	GPIO12_DFI_D3, | 
					
						
							|  |  |  | 	GPIO13_DFI_D2, | 
					
						
							|  |  |  | 	GPIO14_DFI_D1, | 
					
						
							|  |  |  | 	GPIO15_DFI_D0, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* Static Memory Controller */ | 
					
						
							|  |  |  | 	GPIO18_SMC_nCS0, | 
					
						
							|  |  |  | 	GPIO34_SMC_nCS1, | 
					
						
							|  |  |  | 	GPIO23_SMC_nLUA, | 
					
						
							|  |  |  | 	GPIO25_SMC_nLLA, | 
					
						
							|  |  |  | 	GPIO28_SMC_RDY, | 
					
						
							|  |  |  | 	GPIO29_SMC_SCLK, | 
					
						
							|  |  |  | 	GPIO35_SMC_BE1, | 
					
						
							|  |  |  | 	GPIO36_SMC_BE2, | 
					
						
							|  |  |  | 	GPIO27_GPIO,	/* Ethernet IRQ */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | 	/* UART1 */ | 
					
						
							|  |  |  | 	GPIO107_UART1_RXD, | 
					
						
							|  |  |  | 	GPIO108_UART1_TXD, | 
					
						
							| 
									
										
										
										
											2010-03-19 11:55:14 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* SSP1 */ | 
					
						
							|  |  |  | 	GPIO113_I2S_MCLK, | 
					
						
							|  |  |  | 	GPIO114_I2S_FRM, | 
					
						
							|  |  |  | 	GPIO115_I2S_BCLK, | 
					
						
							|  |  |  | 	GPIO116_I2S_RXD, | 
					
						
							|  |  |  | 	GPIO117_I2S_TXD, | 
					
						
							| 
									
										
										
										
											2010-08-25 23:51:55 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* LCD */ | 
					
						
							|  |  |  | 	GPIO56_LCD_FCLK_RD, | 
					
						
							|  |  |  | 	GPIO57_LCD_LCLK_A0, | 
					
						
							|  |  |  | 	GPIO58_LCD_PCLK_WR, | 
					
						
							|  |  |  | 	GPIO59_LCD_DENA_BIAS, | 
					
						
							|  |  |  | 	GPIO60_LCD_DD0, | 
					
						
							|  |  |  | 	GPIO61_LCD_DD1, | 
					
						
							|  |  |  | 	GPIO62_LCD_DD2, | 
					
						
							|  |  |  | 	GPIO63_LCD_DD3, | 
					
						
							|  |  |  | 	GPIO64_LCD_DD4, | 
					
						
							|  |  |  | 	GPIO65_LCD_DD5, | 
					
						
							|  |  |  | 	GPIO66_LCD_DD6, | 
					
						
							|  |  |  | 	GPIO67_LCD_DD7, | 
					
						
							|  |  |  | 	GPIO68_LCD_DD8, | 
					
						
							|  |  |  | 	GPIO69_LCD_DD9, | 
					
						
							|  |  |  | 	GPIO70_LCD_DD10, | 
					
						
							|  |  |  | 	GPIO71_LCD_DD11, | 
					
						
							|  |  |  | 	GPIO72_LCD_DD12, | 
					
						
							|  |  |  | 	GPIO73_LCD_DD13, | 
					
						
							|  |  |  | 	GPIO74_LCD_DD14, | 
					
						
							|  |  |  | 	GPIO75_LCD_DD15, | 
					
						
							|  |  |  | 	GPIO76_LCD_DD16, | 
					
						
							|  |  |  | 	GPIO77_LCD_DD17, | 
					
						
							|  |  |  | 	GPIO78_LCD_DD18, | 
					
						
							|  |  |  | 	GPIO79_LCD_DD19, | 
					
						
							|  |  |  | 	GPIO80_LCD_DD20, | 
					
						
							|  |  |  | 	GPIO81_LCD_DD21, | 
					
						
							|  |  |  | 	GPIO82_LCD_DD22, | 
					
						
							|  |  |  | 	GPIO83_LCD_DD23, | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* Keypad */ | 
					
						
							|  |  |  | 	GPIO109_KP_MKIN1, | 
					
						
							|  |  |  | 	GPIO110_KP_MKIN0, | 
					
						
							|  |  |  | 	GPIO111_KP_MKOUT7, | 
					
						
							|  |  |  | 	GPIO112_KP_MKOUT6, | 
					
						
							|  |  |  | 	GPIO121_KP_MKIN4, | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-09 18:12:04 +08:00
										 |  |  | static struct pxa_gpio_platform_data pxa168_gpio_pdata = { | 
					
						
							|  |  |  | 	.irq_base	= MMP_GPIO_TO_IRQ(0), | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | static struct smc91x_platdata smc91x_info = { | 
					
						
							|  |  |  | 	.flags	= SMC91X_USE_16BIT | SMC91X_NOWAIT, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static struct resource smc91x_resources[] = { | 
					
						
							|  |  |  | 	[0] = { | 
					
						
							|  |  |  | 		.start	= SMC_CS1_PHYS_BASE + 0x300, | 
					
						
							|  |  |  | 		.end	= SMC_CS1_PHYS_BASE + 0xfffff, | 
					
						
							|  |  |  | 		.flags	= IORESOURCE_MEM, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	[1] = { | 
					
						
							| 
									
										
										
										
											2011-10-10 16:03:51 +08:00
										 |  |  | 		.start	= MMP_GPIO_TO_IRQ(27), | 
					
						
							|  |  |  | 		.end	= MMP_GPIO_TO_IRQ(27), | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | 		.flags	= IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static struct platform_device smc91x_device = { | 
					
						
							|  |  |  | 	.name		= "smc91x", | 
					
						
							|  |  |  | 	.id		= 0, | 
					
						
							|  |  |  | 	.dev		= { | 
					
						
							|  |  |  | 		.platform_data = &smc91x_info, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	.num_resources	= ARRAY_SIZE(smc91x_resources), | 
					
						
							|  |  |  | 	.resource	= smc91x_resources, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-10 14:37:48 +08:00
										 |  |  | static struct mtd_partition aspenite_nand_partitions[] = { | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		.name		= "bootloader", | 
					
						
							|  |  |  | 		.offset		= 0, | 
					
						
							|  |  |  | 		.size		= SZ_1M, | 
					
						
							|  |  |  | 		.mask_flags	= MTD_WRITEABLE, | 
					
						
							|  |  |  | 	}, { | 
					
						
							|  |  |  | 		.name		= "reserved", | 
					
						
							|  |  |  | 		.offset		= MTDPART_OFS_APPEND, | 
					
						
							|  |  |  | 		.size		= SZ_128K, | 
					
						
							|  |  |  | 		.mask_flags	= MTD_WRITEABLE, | 
					
						
							|  |  |  | 	}, { | 
					
						
							|  |  |  | 		.name		= "reserved", | 
					
						
							|  |  |  | 		.offset		= MTDPART_OFS_APPEND, | 
					
						
							|  |  |  | 		.size		= SZ_8M, | 
					
						
							|  |  |  | 		.mask_flags	= MTD_WRITEABLE, | 
					
						
							|  |  |  | 	}, { | 
					
						
							|  |  |  | 		.name		= "kernel", | 
					
						
							|  |  |  | 		.offset		= MTDPART_OFS_APPEND, | 
					
						
							|  |  |  | 		.size		= (SZ_2M + SZ_1M), | 
					
						
							|  |  |  | 		.mask_flags	= 0, | 
					
						
							|  |  |  | 	}, { | 
					
						
							|  |  |  | 		.name		= "filesystem", | 
					
						
							|  |  |  | 		.offset		= MTDPART_OFS_APPEND, | 
					
						
							| 
									
										
										
										
											2011-07-26 18:45:54 +01:00
										 |  |  | 		.size		= SZ_32M + SZ_16M, | 
					
						
							| 
									
										
										
										
											2009-09-10 14:37:48 +08:00
										 |  |  | 		.mask_flags	= 0, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static struct pxa3xx_nand_platform_data aspenite_nand_info = { | 
					
						
							|  |  |  | 	.enable_arbiter	= 1, | 
					
						
							| 
									
										
										
										
											2011-07-14 20:44:33 -07:00
										 |  |  | 	.num_cs = 1, | 
					
						
							|  |  |  | 	.parts[0]	= aspenite_nand_partitions, | 
					
						
							|  |  |  | 	.nr_parts[0]	= ARRAY_SIZE(aspenite_nand_partitions), | 
					
						
							| 
									
										
										
										
											2009-09-10 14:37:48 +08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-19 11:55:14 -04:00
										 |  |  | static struct i2c_board_info aspenite_i2c_info[] __initdata = { | 
					
						
							|  |  |  | 	{ I2C_BOARD_INFO("wm8753", 0x1b), }, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-25 23:51:55 -04:00
										 |  |  | static struct fb_videomode video_modes[] = { | 
					
						
							|  |  |  | 	[0] = { | 
					
						
							|  |  |  | 		.pixclock	= 30120, | 
					
						
							|  |  |  | 		.refresh	= 60, | 
					
						
							|  |  |  | 		.xres		= 800, | 
					
						
							|  |  |  | 		.yres		= 480, | 
					
						
							|  |  |  | 		.hsync_len	= 1, | 
					
						
							|  |  |  | 		.left_margin	= 215, | 
					
						
							|  |  |  | 		.right_margin	= 40, | 
					
						
							|  |  |  | 		.vsync_len	= 1, | 
					
						
							|  |  |  | 		.upper_margin	= 34, | 
					
						
							|  |  |  | 		.lower_margin	= 10, | 
					
						
							|  |  |  | 		.sync		= FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT, | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct pxa168fb_mach_info aspenite_lcd_info = { | 
					
						
							|  |  |  | 	.id			= "Graphic Frame", | 
					
						
							|  |  |  | 	.modes			= video_modes, | 
					
						
							|  |  |  | 	.num_modes		= ARRAY_SIZE(video_modes), | 
					
						
							|  |  |  | 	.pix_fmt		= PIX_FMT_RGB565, | 
					
						
							|  |  |  | 	.io_pin_allocation_mode = PIN_MODE_DUMB_24, | 
					
						
							|  |  |  | 	.dumb_mode		= DUMB_MODE_RGB888, | 
					
						
							|  |  |  | 	.active			= 1, | 
					
						
							|  |  |  | 	.panel_rbswap		= 0, | 
					
						
							|  |  |  | 	.invert_pixclock	= 0, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-05 20:24:58 -07:00
										 |  |  | static const unsigned int aspenite_matrix_key_map[] = { | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | 	KEY(0, 6, KEY_UP),	/* SW 4 */ | 
					
						
							|  |  |  | 	KEY(0, 7, KEY_DOWN),	/* SW 5 */ | 
					
						
							|  |  |  | 	KEY(1, 6, KEY_LEFT),	/* SW 6 */ | 
					
						
							|  |  |  | 	KEY(1, 7, KEY_RIGHT),	/* SW 7 */ | 
					
						
							|  |  |  | 	KEY(4, 6, KEY_ENTER),	/* SW 8 */ | 
					
						
							|  |  |  | 	KEY(4, 7, KEY_ESC),	/* SW 9 */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-05 20:24:58 -07:00
										 |  |  | static struct matrix_keymap_data aspenite_matrix_keymap_data = { | 
					
						
							|  |  |  | 	.keymap			= aspenite_matrix_key_map, | 
					
						
							|  |  |  | 	.keymap_size		= ARRAY_SIZE(aspenite_matrix_key_map), | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = { | 
					
						
							|  |  |  | 	.matrix_key_rows	= 5, | 
					
						
							|  |  |  | 	.matrix_key_cols	= 8, | 
					
						
							| 
									
										
										
										
											2013-05-05 20:24:58 -07:00
										 |  |  | 	.matrix_keymap_data	= &aspenite_matrix_keymap_data, | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | 	.debounce_interval	= 30, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-03 15:55:10 +08:00
										 |  |  | #if defined(CONFIG_USB_EHCI_MV)
 | 
					
						
							|  |  |  | static struct mv_usb_platform_data pxa168_sph_pdata = { | 
					
						
							|  |  |  | 	.mode           = MV_USB_MODE_HOST, | 
					
						
							|  |  |  | 	.phy_init	= pxa_usb_phy_init, | 
					
						
							|  |  |  | 	.phy_deinit	= pxa_usb_phy_deinit, | 
					
						
							|  |  |  | 	.set_vbus	= NULL, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | static void __init common_init(void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | 	mfp_config(ARRAY_AND_SIZE(common_pin_config)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | 	/* on-chip devices */ | 
					
						
							| 
									
										
										
										
											2009-02-10 10:35:25 +08:00
										 |  |  | 	pxa168_add_uart(1); | 
					
						
							| 
									
										
										
										
											2010-03-19 11:55:14 -04:00
										 |  |  | 	pxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_i2c_info)); | 
					
						
							|  |  |  | 	pxa168_add_ssp(1); | 
					
						
							| 
									
										
										
										
											2009-09-10 14:37:48 +08:00
										 |  |  | 	pxa168_add_nand(&aspenite_nand_info); | 
					
						
							| 
									
										
										
										
											2010-08-25 23:51:55 -04:00
										 |  |  | 	pxa168_add_fb(&aspenite_lcd_info); | 
					
						
							| 
									
										
										
										
											2010-09-03 18:28:11 -04:00
										 |  |  | 	pxa168_add_keypad(&aspenite_keypad_info); | 
					
						
							| 
									
										
										
										
											2013-04-09 18:12:04 +08:00
										 |  |  | 	platform_device_add_data(&pxa168_device_gpio, &pxa168_gpio_pdata, | 
					
						
							|  |  |  | 				 sizeof(struct pxa_gpio_platform_data)); | 
					
						
							| 
									
										
										
										
											2011-10-17 20:37:52 +08:00
										 |  |  | 	platform_device_register(&pxa168_device_gpio); | 
					
						
							| 
									
										
										
										
											2009-02-18 16:38:22 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* off-chip devices */ | 
					
						
							|  |  |  | 	platform_device_register(&smc91x_device); | 
					
						
							| 
									
										
										
										
											2012-05-03 15:55:10 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | #if defined(CONFIG_USB_EHCI_MV)
 | 
					
						
							|  |  |  | 	pxa168_add_usb_host(&pxa168_sph_pdata); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform") | 
					
						
							| 
									
										
										
										
											2010-07-15 17:50:13 +08:00
										 |  |  | 	.map_io		= mmp_map_io, | 
					
						
							| 
									
										
										
										
											2012-01-03 16:50:40 -06:00
										 |  |  | 	.nr_irqs	= MMP_NR_IRQS, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 	.init_irq       = pxa168_init_irq, | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | 	.init_time	= pxa168_timer_init, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 	.init_machine   = common_init, | 
					
						
							| 
									
										
										
										
											2011-11-05 15:40:09 +00:00
										 |  |  | 	.restart	= pxa168_restart, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | MACHINE_END | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform") | 
					
						
							| 
									
										
										
										
											2010-07-15 17:50:13 +08:00
										 |  |  | 	.map_io		= mmp_map_io, | 
					
						
							| 
									
										
										
										
											2012-01-03 16:50:40 -06:00
										 |  |  | 	.nr_irqs	= MMP_NR_IRQS, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 	.init_irq       = pxa168_init_irq, | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | 	.init_time	= pxa168_timer_init, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | 	.init_machine   = common_init, | 
					
						
							| 
									
										
										
										
											2011-11-05 15:40:09 +00:00
										 |  |  | 	.restart	= pxa168_restart, | 
					
						
							| 
									
										
										
										
											2009-01-20 14:15:18 +08:00
										 |  |  | MACHINE_END |