/* * Board support file for OMAP4430 based PandaBoard. * * Copyright (C) 2010 Texas Instruments * * Author: David Anders * * Based on mach-omap2/board-4430sdp.c * * Author: Santosh Shilimkar * * Based on mach-omap2/board-3430sdp.c * * 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 * published by the Free Software Foundation. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "soc.h" #include "mmc.h" #include "hsmmc.h" #include "control.h" #include "mux.h" #include "common-board-devices.h" #include "dss-common.h" #define GPIO_HUB_POWER 1 #define GPIO_HUB_NRESET 62 #define GPIO_WIFI_PMENA 43 #define GPIO_WIFI_IRQ 53 /* wl127x BT, FM, GPS connectivity chip */ static struct ti_st_plat_data wilink_platform_data = { .nshutdown_gpio = 46, .dev_name = "/dev/ttyO1", .flow_cntrl = 1, .baud_rate = 3000000, .chip_enable = NULL, .suspend = NULL, .resume = NULL, }; static struct platform_device wl1271_device = { .name = "kim", .id = -1, .dev = { .platform_data = &wilink_platform_data, }, }; static struct gpio_led gpio_leds[] = { { .name = "pandaboard::status1", .default_trigger = "heartbeat", .gpio = 7, }, { .name = "pandaboard::status2", .default_trigger = "mmc0", .gpio = 8, }, }; static struct gpio_led_platform_data gpio_led_info = { .leds = gpio_leds, .num_leds = ARRAY_SIZE(gpio_leds), }; static struct platform_device leds_gpio = { .name = "leds-gpio", .id = -1, .dev = { .platform_data = &gpio_led_info, }, }; static struct omap_abe_twl6040_data panda_abe_audio_data = { /* Audio out */ .has_hs = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, /* HandsFree through expansion connector */ .has_hf = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, /* PandaBoard: FM TX, PandaBoardES: can be connected to audio out */ .has_aux = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, /* PandaBoard: FM RX, PandaBoardES: audio in */ .has_afm = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT, /* No jack detection. */ .jack_detection = 0, /* MCLK input is 38.4MHz */ .mclk_freq = 38400000, }; static struct platform_device panda_abe_audio = { .name = "omap-abe-twl6040", .id = -1, .dev = { .platform_data = &panda_abe_audio_data, }, }; static struct platform_device panda_hdmi_audio_codec = { .name = "hdmi-audio-codec", .id = -1, }; static struct platform_device btwilink_device = { .name = "btwilink", .id = -1, }; static struct platform_device *panda_devices[] __initdata = { &leds_gpio, &wl1271_device, &panda_abe_audio, &panda_hdmi_audio_codec, &btwilink_device,