diff options
Diffstat (limited to 'arch/arm/mach-omap1/board-palmte.c')
| -rw-r--r-- | arch/arm/mach-omap1/board-palmte.c | 128 | 
1 files changed, 38 insertions, 90 deletions
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index f32738b1eb6..3b8e98f4353 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c @@ -16,7 +16,7 @@   * it under the terms of the GNU General Public License version 2 as   * published by the Free Software Foundation.   */ - +#include <linux/gpio.h>  #include <linux/kernel.h>  #include <linux/init.h>  #include <linux/input.h> @@ -27,22 +27,23 @@  #include <linux/spi/spi.h>  #include <linux/interrupt.h>  #include <linux/apm-emulation.h> +#include <linux/omapfb.h> +#include <linux/platform_data/omap1_bl.h> -#include <mach/hardware.h>  #include <asm/mach-types.h>  #include <asm/mach/arch.h>  #include <asm/mach/map.h> -#include <mach/gpio.h> -#include <plat/flash.h> -#include <plat/mux.h> -#include <plat/usb.h> -#include <plat/tc.h> -#include <plat/dma.h> -#include <plat/board.h> -#include <plat/irda.h> -#include <plat/keypad.h> -#include <plat/common.h> +#include <mach/flash.h> +#include <mach/mux.h> +#include <mach/tc.h> +#include <linux/omap-dma.h> +#include <linux/platform_data/keypad-omap.h> + +#include <mach/hardware.h> +#include <mach/usb.h> + +#include "common.h"  #define PALMTE_USBDETECT_GPIO	0  #define PALMTE_USB_OR_DC_GPIO	1 @@ -59,32 +60,29 @@  #define PALMTE_MMC2_GPIO	OMAP_MPUIO(7)  #define PALMTE_MMC3_GPIO	OMAP_MPUIO(11) -static void __init omap_palmte_init_irq(void) -{ -	omap1_init_common_hw(); -	omap_init_irq(); -	omap_gpio_init(); -} - -static const int palmte_keymap[] = { +static const unsigned int palmte_keymap[] = {  	KEY(0, 0, KEY_F1),		/* Calendar */ -	KEY(0, 1, KEY_F2),		/* Contacts */ -	KEY(0, 2, KEY_F3),		/* Tasks List */ -	KEY(0, 3, KEY_F4),		/* Note Pad */ -	KEY(0, 4, KEY_POWER), -	KEY(1, 0, KEY_LEFT), +	KEY(1, 0, KEY_F2),		/* Contacts */ +	KEY(2, 0, KEY_F3),		/* Tasks List */ +	KEY(3, 0, KEY_F4),		/* Note Pad */ +	KEY(4, 0, KEY_POWER), +	KEY(0, 1, KEY_LEFT),  	KEY(1, 1, KEY_DOWN), -	KEY(1, 2, KEY_UP), -	KEY(1, 3, KEY_RIGHT), -	KEY(1, 4, KEY_ENTER), -	0, +	KEY(2, 1, KEY_UP), +	KEY(3, 1, KEY_RIGHT), +	KEY(4, 1, KEY_ENTER), +}; + +static const struct matrix_keymap_data palmte_keymap_data = { +	.keymap		= palmte_keymap, +	.keymap_size	= ARRAY_SIZE(palmte_keymap),  };  static struct omap_kp_platform_data palmte_kp_data = {  	.rows	= 8,  	.cols	= 8, -	.keymap = (int *) palmte_keymap, -	.rep	= 1, +	.keymap_data = &palmte_keymap_data, +	.rep	= true,  	.delay	= 12,  }; @@ -167,40 +165,11 @@ static struct platform_device palmte_backlight_device = {  	},  }; -static struct omap_irda_config palmte_irda_config = { -	.transceiver_cap	= IR_SIRMODE, -	.rx_channel		= OMAP_DMA_UART3_RX, -	.tx_channel		= OMAP_DMA_UART3_TX, -	.dest_start		= UART3_THR, -	.src_start		= UART3_RHR, -	.tx_trigger		= 0, -	.rx_trigger		= 0, -}; - -static struct resource palmte_irda_resources[] = { -	[0]	= { -		.start	= INT_UART3, -		.end	= INT_UART3, -		.flags	= IORESOURCE_IRQ, -	}, -}; - -static struct platform_device palmte_irda_device = { -	.name		= "omapirda", -	.id		= -1, -	.dev		= { -		.platform_data	= &palmte_irda_config, -	}, -	.num_resources	= ARRAY_SIZE(palmte_irda_resources), -	.resource	= palmte_irda_resources, -}; -  static struct platform_device *palmte_devices[] __initdata = {  	&palmte_rom_device,  	&palmte_kp_device,  	&palmte_lcd_device,  	&palmte_backlight_device, -	&palmte_irda_device,  };  static struct omap_usb_config palmte_usb_config __initdata = { @@ -213,33 +182,15 @@ static struct omap_lcd_config palmte_lcd_config __initdata = {  	.ctrl_name	= "internal",  }; -static struct omap_board_config_kernel palmte_config[] __initdata = { -	{ OMAP_TAG_LCD,		&palmte_lcd_config }, -}; -  static struct spi_board_info palmte_spi_info[] __initdata = {  	{  		.modalias	= "tsc2102",  		.bus_num	= 2,	/* uWire (officially) */  		.chip_select	= 0,	/* As opposed to 3 */ -		.irq		= OMAP_GPIO_IRQ(PALMTE_PINTDAV_GPIO),  		.max_speed_hz	= 8000000,  	},  }; -static void palmte_headphones_detect(void *data, int state) -{ -	if (state) { -		/* Headphones connected, disable speaker */ -		gpio_set_value(PALMTE_SPEAKER_GPIO, 0); -		printk(KERN_INFO "PM: speaker off\n"); -	} else { -		/* Headphones unplugged, re-enable speaker */ -		gpio_set_value(PALMTE_SPEAKER_GPIO, 1); -		printk(KERN_INFO "PM: speaker on\n"); -	} -} -  static void __init palmte_misc_gpio_setup(void)  {  	/* Set TSC2102 PINTDAV pin as input (used by TSC2102 driver) */ @@ -267,28 +218,25 @@ static void __init omap_palmte_init(void)  	omap_cfg_reg(UART3_TX);  	omap_cfg_reg(UART3_RX); -	omap_board_config = palmte_config; -	omap_board_config_size = ARRAY_SIZE(palmte_config); -  	platform_add_devices(palmte_devices, ARRAY_SIZE(palmte_devices)); +	palmte_spi_info[0].irq = gpio_to_irq(PALMTE_PINTDAV_GPIO);  	spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info));  	palmte_misc_gpio_setup();  	omap_serial_init();  	omap1_usb_init(&palmte_usb_config);  	omap_register_i2c_bus(1, 100, NULL, 0); -} -static void __init omap_palmte_map_io(void) -{ -	omap1_map_common_io(); +	omapfb_set_lcd_config(&palmte_lcd_config);  }  MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") -	.boot_params	= 0x10000100, -	.map_io		= omap_palmte_map_io, -	.reserve	= omap_reserve, -	.init_irq	= omap_palmte_init_irq, +	.atag_offset	= 0x100, +	.map_io		= omap15xx_map_io, +	.init_early     = omap1_init_early, +	.init_irq	= omap1_init_irq,  	.init_machine	= omap_palmte_init, -	.timer		= &omap_timer, +	.init_late	= omap1_init_late, +	.init_time	= omap1_timer_init, +	.restart	= omap1_restart,  MACHINE_END  | 
