13179a019STony Lindgren /* 23179a019STony Lindgren * linux/arch/arm/mach-omap1/board-palmte.c 33179a019STony Lindgren * 43179a019STony Lindgren * Modified from board-generic.c 53179a019STony Lindgren * 63179a019STony Lindgren * Support for the Palm Tungsten E PDA. 73179a019STony Lindgren * 83179a019STony Lindgren * Original version : Laurent Gonzalez 93179a019STony Lindgren * 103179a019STony Lindgren * Maintainters : http://palmtelinux.sf.net 113179a019STony Lindgren * palmtelinux-developpers@lists.sf.net 123179a019STony Lindgren * 133179a019STony Lindgren * This program is free software; you can redistribute it and/or modify 143179a019STony Lindgren * it under the terms of the GNU General Public License version 2 as 153179a019STony Lindgren * published by the Free Software Foundation. 163179a019STony Lindgren */ 173179a019STony Lindgren 183179a019STony Lindgren #include <linux/kernel.h> 193179a019STony Lindgren #include <linux/init.h> 203179a019STony Lindgren #include <linux/platform_device.h> 213179a019STony Lindgren #include <linux/notifier.h> 22f8ce2547SRussell King #include <linux/clk.h> 233179a019STony Lindgren 243179a019STony Lindgren #include <asm/hardware.h> 253179a019STony Lindgren #include <asm/mach-types.h> 263179a019STony Lindgren #include <asm/mach/arch.h> 273179a019STony Lindgren #include <asm/mach/map.h> 283179a019STony Lindgren 293179a019STony Lindgren #include <asm/arch/gpio.h> 303179a019STony Lindgren #include <asm/arch/mux.h> 313179a019STony Lindgren #include <asm/arch/usb.h> 323179a019STony Lindgren #include <asm/arch/board.h> 333179a019STony Lindgren #include <asm/arch/common.h> 343179a019STony Lindgren 353179a019STony Lindgren static void __init omap_generic_init_irq(void) 363179a019STony Lindgren { 3787bd63f6STony Lindgren omap1_init_common_hw(); 383179a019STony Lindgren omap_init_irq(); 393179a019STony Lindgren } 403179a019STony Lindgren 41*9b6553cdSTony Lindgren static struct platform_device palmte_lcd_device = { 42*9b6553cdSTony Lindgren .name = "lcd_palmte", 43*9b6553cdSTony Lindgren .id = -1, 44*9b6553cdSTony Lindgren }; 45*9b6553cdSTony Lindgren 46*9b6553cdSTony Lindgren static struct platform_device *devices[] __initdata = { 47*9b6553cdSTony Lindgren &palmte_lcd_device, 48*9b6553cdSTony Lindgren }; 49*9b6553cdSTony Lindgren 503179a019STony Lindgren static struct omap_usb_config palmte_usb_config __initdata = { 513179a019STony Lindgren .register_dev = 1, 523179a019STony Lindgren .hmc_mode = 0, 533179a019STony Lindgren .pins[0] = 3, 543179a019STony Lindgren }; 553179a019STony Lindgren 563179a019STony Lindgren static struct omap_mmc_config palmte_mmc_config __initdata = { 573179a019STony Lindgren .mmc [0] = { 583179a019STony Lindgren .enabled = 1, 593179a019STony Lindgren .wire4 = 1, 603179a019STony Lindgren .wp_pin = OMAP_MPUIO(3), 613179a019STony Lindgren .power_pin = -1, 623179a019STony Lindgren .switch_pin = -1, 633179a019STony Lindgren }, 643179a019STony Lindgren }; 653179a019STony Lindgren 663179a019STony Lindgren static struct omap_lcd_config palmte_lcd_config __initdata = { 673179a019STony Lindgren .ctrl_name = "internal", 683179a019STony Lindgren }; 693179a019STony Lindgren 703179a019STony Lindgren static struct omap_board_config_kernel palmte_config[] = { 713179a019STony Lindgren { OMAP_TAG_USB, &palmte_usb_config }, 723179a019STony Lindgren { OMAP_TAG_MMC, &palmte_mmc_config }, 733179a019STony Lindgren { OMAP_TAG_LCD, &palmte_lcd_config }, 743179a019STony Lindgren }; 753179a019STony Lindgren 763179a019STony Lindgren static void __init omap_generic_init(void) 773179a019STony Lindgren { 783179a019STony Lindgren omap_board_config = palmte_config; 793179a019STony Lindgren omap_board_config_size = ARRAY_SIZE(palmte_config); 80*9b6553cdSTony Lindgren 81*9b6553cdSTony Lindgren platform_add_devices(devices, ARRAY_SIZE(devices)); 823179a019STony Lindgren } 833179a019STony Lindgren 843179a019STony Lindgren static void __init omap_generic_map_io(void) 853179a019STony Lindgren { 8687bd63f6STony Lindgren omap1_map_common_io(); 873179a019STony Lindgren } 883179a019STony Lindgren 893179a019STony Lindgren MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") 903179a019STony Lindgren .phys_io = 0xfff00000, 913179a019STony Lindgren .io_pg_offst = ((0xfef00000) >> 18) & 0xfffc, 923179a019STony Lindgren .boot_params = 0x10000100, 933179a019STony Lindgren .map_io = omap_generic_map_io, 943179a019STony Lindgren .init_irq = omap_generic_init_irq, 953179a019STony Lindgren .init_machine = omap_generic_init, 963179a019STony Lindgren .timer = &omap_timer, 973179a019STony Lindgren MACHINE_END 98