| 
					
				 | 
			
			
				@@ -366,3 +366,99 @@ static struct pxamci_platform_data trizeps4_mci_platform_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static short trizeps_conxs_ircr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static int trizeps4_irda_startup(struct device *dev) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	trizeps_conxs_ircr &= ~ConXS_IRCR_SD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	IRCR_writew(trizeps_conxs_ircr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void trizeps4_irda_shutdown(struct device *dev) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	trizeps_conxs_ircr |= ConXS_IRCR_SD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	IRCR_writew(trizeps_conxs_ircr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void trizeps4_irda_transceiver_mode(struct device *dev, int mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	unsigned long flags; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	local_irq_save(flags); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Switch mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (mode & IR_SIRMODE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		trizeps_conxs_ircr &= ~ConXS_IRCR_MODE;	/* Slow mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else if (mode & IR_FIRMODE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		trizeps_conxs_ircr |= ConXS_IRCR_MODE;	/* Fast mode */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Switch power */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (mode & IR_OFF) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		trizeps_conxs_ircr |= ConXS_IRCR_SD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		trizeps_conxs_ircr &= ~ConXS_IRCR_SD; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	IRCR_writew(trizeps_conxs_ircr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	local_irq_restore(flags); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	pxa2xx_transceiver_mode(dev, mode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct pxaficp_platform_data trizeps4_ficp_platform_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.gpio_pwdown		= -1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.transceiver_cap	= IR_SIRMODE | IR_FIRMODE | IR_OFF, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.transceiver_mode	= trizeps4_irda_transceiver_mode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.startup		= trizeps4_irda_startup, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.shutdown		= trizeps4_irda_shutdown, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/**************************************************************************** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * OHCI USB port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ ****************************************************************************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct pxaohci_platform_data trizeps4_ohci_platform_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.port_mode	= PMM_PERPORT_MODE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.flags		= ENABLE_PORT_ALL | POWER_CONTROL_LOW | POWER_SENSE_LOW, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct map_desc trizeps4_io_desc[] __initdata = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 	/* ConXS CFSR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.virtual	= TRIZEPS4_CFSR_VIRT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.pfn		= __phys_to_pfn(TRIZEPS4_CFSR_PHYS), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.length		= 0x00001000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.type		= MT_DEVICE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{	/* ConXS BCR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.virtual	= TRIZEPS4_BOCR_VIRT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.pfn		= __phys_to_pfn(TRIZEPS4_BOCR_PHYS), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.length		= 0x00001000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.type		= MT_DEVICE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 	/* ConXS IRCR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.virtual	= TRIZEPS4_IRCR_VIRT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.pfn		= __phys_to_pfn(TRIZEPS4_IRCR_PHYS), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.length		= 0x00001000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.type		= MT_DEVICE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{	/* ConXS DCR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.virtual	= TRIZEPS4_DICR_VIRT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.pfn		= __phys_to_pfn(TRIZEPS4_DICR_PHYS), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.length		= 0x00001000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.type		= MT_DEVICE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{	/* ConXS UPSR */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.virtual	= TRIZEPS4_UPSR_VIRT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.pfn		= __phys_to_pfn(TRIZEPS4_UPSR_PHYS), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.length		= 0x00001000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.type		= MT_DEVICE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct pxafb_mode_info sharp_lcd_mode = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.pixclock	= 78000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.xres		= 640, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.yres		= 480, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.bpp		= 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.hsync_len	= 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.left_margin	= 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.right_margin	= 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.vsync_len	= 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.upper_margin	= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.lower_margin	= 0, 
			 |