iwl3945: calculate debugfs isr statistics
[safe/jmp/linux-2.6] / arch / arm / mach-omap1 / board-palmz71.c
index c275d51..9a55c3c 100644 (file)
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/flash.h>
 
-#include <asm/arch/mcbsp.h>
-#include <asm/arch/gpio.h>
-#include <asm/arch/mux.h>
-#include <asm/arch/usb.h>
-#include <asm/arch/dma.h>
-#include <asm/arch/tc.h>
-#include <asm/arch/board.h>
-#include <asm/arch/irda.h>
-#include <asm/arch/keypad.h>
-#include <asm/arch/common.h>
-#include <asm/arch/omap-alsa.h>
+#include <mach/gpio.h>
+#include <mach/mux.h>
+#include <mach/usb.h>
+#include <mach/dma.h>
+#include <mach/tc.h>
+#include <mach/board.h>
+#include <mach/irda.h>
+#include <mach/keypad.h>
+#include <mach/common.h>
+#include <mach/omap-alsa.h>
 
-#include <linux/input.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/ads7846.h>
 
+#define PALMZ71_USBDETECT_GPIO 0
+#define PALMZ71_PENIRQ_GPIO    6
+#define PALMZ71_MMC_WP_GPIO    8
+#define PALMZ71_HDQ_GPIO       11
+
+#define PALMZ71_HOTSYNC_GPIO   OMAP_MPUIO(1)
+#define PALMZ71_CABLE_GPIO     OMAP_MPUIO(2)
+#define PALMZ71_SLIDER_GPIO    OMAP_MPUIO(3)
+#define PALMZ71_MMC_IN_GPIO    OMAP_MPUIO(4)
+
 static void __init
 omap_palmz71_init_irq(void)
 {
@@ -66,7 +74,7 @@ static int palmz71_keymap[] = {
        KEY(1, 1, KEY_DOWN),
        KEY(1, 2, KEY_UP),
        KEY(1, 3, KEY_RIGHT),
-       KEY(1, 4, KEY_CENTER),
+       KEY(1, 4, KEY_ENTER),
        KEY(2, 0, KEY_CAMERA),
        0,
 };
@@ -180,41 +188,6 @@ static struct platform_device palmz71_spi_device = {
        .id     = -1,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-       .spcr2  = FREE | FRST | GRST | XRST | XINTM(3),
-       .spcr1  = RINTM(3) | RRST,
-       .rcr2   = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-                       RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-       .rcr1   = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-       .xcr2   = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-                       XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-       .xcr1   = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-       .srgr1  = FWID(DEFAULT_BITPERSAMPLE - 1),
-       .srgr2  = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-       .pcr0   = CLKXP | CLKRP,        /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-       .name                   = "PalmZ71 AIC23",
-       .mcbsp_regs_alsa        = &mcbsp_regs,
-       .codec_configure_dev    = NULL, /* aic23_configure */
-       .codec_set_samplerate   = NULL, /* aic23_set_samplerate */
-       .codec_clock_setup      = NULL, /* aic23_clock_setup */
-       .codec_clock_on         = NULL, /* aic23_clock_on */
-       .codec_clock_off        = NULL, /* aic23_clock_off */
-       .get_default_samplerate = NULL, /* aic23_get_default_samplerate */
-};
-
-static struct platform_device palmz71_mcbsp1_device = {
-       .name   = "omap_alsa_mcbsp",
-       .id     = 1,
-       .dev = {
-               .platform_data = &alsa_config,
-       },
-};
-
 static struct omap_backlight_config palmz71_backlight_config = {
        .default_intensity      = 0xa0,
 };
@@ -230,7 +203,6 @@ static struct platform_device palmz71_backlight_device = {
 static struct platform_device *devices[] __initdata = {
        &palmz71_rom_device,
        &palmz71_kp_device,
-       &palmz71_mcbsp1_device,
        &palmz71_lcd_device,
        &palmz71_irda_device,
        &palmz71_spi_device,
@@ -240,7 +212,7 @@ static struct platform_device *devices[] __initdata = {
 static int
 palmz71_get_pendown_state(void)
 {
-       return !omap_get_gpio_datain(PALMZ71_PENIRQ_GPIO);
+       return !gpio_get_value(PALMZ71_PENIRQ_GPIO);
 }
 
 static const struct ads7846_platform_data palmz71_ts_info = {
@@ -268,16 +240,6 @@ static struct omap_usb_config palmz71_usb_config __initdata = {
        .pins[0]        = 2,
 };
 
-static struct omap_mmc_config palmz71_mmc_config __initdata = {
-       .mmc[0] = {
-               .enabled        = 1,
-               .wire4          = 0,
-               .wp_pin         = PALMZ71_MMC_WP_GPIO,
-               .power_pin      = -1,
-               .switch_pin     = PALMZ71_MMC_IN_GPIO,
-       },
-};
-
 static struct omap_lcd_config palmz71_lcd_config __initdata = {
        .ctrl_name = "internal",
 };
@@ -286,9 +248,7 @@ static struct omap_uart_config palmz71_uart_config __initdata = {
        .enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2),
 };
 
-static struct omap_board_config_kernel palmz71_config[] = {
-       {OMAP_TAG_USB,  &palmz71_usb_config},
-       {OMAP_TAG_MMC,  &palmz71_mmc_config},
+static struct omap_board_config_kernel palmz71_config[] __initdata = {
        {OMAP_TAG_LCD,  &palmz71_lcd_config},
        {OMAP_TAG_UART, &palmz71_uart_config},
 };
@@ -296,14 +256,14 @@ static struct omap_board_config_kernel palmz71_config[] = {
 static irqreturn_t
 palmz71_powercable(int irq, void *dev_id)
 {
-       if (omap_get_gpio_datain(PALMZ71_USBDETECT_GPIO)) {
+       if (gpio_get_value(PALMZ71_USBDETECT_GPIO)) {
                printk(KERN_INFO "PM: Power cable connected\n");
-               set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO),
-                               IRQT_FALLING);
+               set_irq_type(gpio_to_irq(PALMZ71_USBDETECT_GPIO),
+                               IRQ_TYPE_EDGE_FALLING);
        } else {
                printk(KERN_INFO "PM: Power cable disconnected\n");
-               set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO),
-                               IRQT_RISING);
+               set_irq_type(gpio_to_irq(PALMZ71_USBDETECT_GPIO),
+                               IRQ_TYPE_EDGE_RISING);
        }
        return IRQ_HANDLED;
 }
@@ -324,29 +284,28 @@ palmz71_gpio_setup(int early)
 {
        if (early) {
                /* Only set GPIO1 so we have a working serial */
-               omap_set_gpio_dataout(1, 1);
-               omap_set_gpio_direction(1, 0);
+               gpio_direction_output(1, 1);
        } else {
                /* Set MMC/SD host WP pin as input */
-               if (omap_request_gpio(PALMZ71_MMC_WP_GPIO)) {
+               if (gpio_request(PALMZ71_MMC_WP_GPIO, "MMC WP") < 0) {
                        printk(KERN_ERR "Could not reserve WP GPIO!\n");
                        return;
                }
-               omap_set_gpio_direction(PALMZ71_MMC_WP_GPIO, 1);
+               gpio_direction_input(PALMZ71_MMC_WP_GPIO);
 
                /* Monitor the Power-cable-connected signal */
-               if (omap_request_gpio(PALMZ71_USBDETECT_GPIO)) {
+               if (gpio_request(PALMZ71_USBDETECT_GPIO, "USB detect") < 0) {
                        printk(KERN_ERR
                                "Could not reserve cable signal GPIO!\n");
                        return;
                }
-               omap_set_gpio_direction(PALMZ71_USBDETECT_GPIO, 1);
-               if (request_irq(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO),
+               gpio_direction_input(PALMZ71_USBDETECT_GPIO);
+               if (request_irq(gpio_to_irq(PALMZ71_USBDETECT_GPIO),
                                palmz71_powercable, IRQF_SAMPLE_RANDOM,
                                "palmz71-cable", 0))
                        printk(KERN_ERR
                                        "IRQ request for power cable failed!\n");
-               palmz71_powercable(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO), 0);
+               palmz71_powercable(gpio_to_irq(PALMZ71_USBDETECT_GPIO), 0);
        }
 }
 
@@ -363,7 +322,9 @@ omap_palmz71_init(void)
 
        spi_register_board_info(palmz71_boardinfo,
                                ARRAY_SIZE(palmz71_boardinfo));
+       omap_usb_init(&palmz71_usb_config);
        omap_serial_init();
+       omap_register_i2c_bus(1, 100, NULL, 0);
        palmz71_gpio_setup(0);
 }