aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-omap4panda.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-omap4panda.c')
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 1ecd0a6cefb7..b43e3ff9adec 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -40,6 +40,7 @@
40 40
41#include "hsmmc.h" 41#include "hsmmc.h"
42#include "control.h" 42#include "control.h"
43#include "mux.h"
43 44
44#define GPIO_HUB_POWER 1 45#define GPIO_HUB_POWER 1
45#define GPIO_HUB_NRESET 62 46#define GPIO_HUB_NRESET 62
@@ -76,9 +77,9 @@ static struct platform_device *panda_devices[] __initdata = {
76 77
77static void __init omap4_panda_init_irq(void) 78static void __init omap4_panda_init_irq(void)
78{ 79{
79 omap2_init_common_hw(NULL, NULL); 80 omap2_init_common_infrastructure();
81 omap2_init_common_devices(NULL, NULL);
80 gic_init_irq(); 82 gic_init_irq();
81 omap_gpio_init();
82} 83}
83 84
84static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { 85static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
@@ -142,6 +143,7 @@ static struct omap2_hsmmc_info mmc[] = {
142 .mmc = 1, 143 .mmc = 1,
143 .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, 144 .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
144 .gpio_wp = -EINVAL, 145 .gpio_wp = -EINVAL,
146 .gpio_cd = -EINVAL,
145 }, 147 },
146 {} /* Terminator */ 148 {} /* Terminator */
147}; 149};
@@ -368,8 +370,23 @@ static int __init omap4_panda_i2c_init(void)
368 omap_register_i2c_bus(4, 400, NULL, 0); 370 omap_register_i2c_bus(4, 400, NULL, 0);
369 return 0; 371 return 0;
370} 372}
373
374#ifdef CONFIG_OMAP_MUX
375static struct omap_board_mux board_mux[] __initdata = {
376 { .reg_offset = OMAP_MUX_TERMINATOR },
377};
378#else
379#define board_mux NULL
380#endif
381
371static void __init omap4_panda_init(void) 382static void __init omap4_panda_init(void)
372{ 383{
384 int package = OMAP_PACKAGE_CBS;
385
386 if (omap_rev() == OMAP4430_REV_ES1_0)
387 package = OMAP_PACKAGE_CBL;
388 omap4_mux_init(board_mux, package);
389
373 omap4_panda_i2c_init(); 390 omap4_panda_i2c_init();
374 platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices)); 391 platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
375 omap_serial_init(); 392 omap_serial_init();
@@ -391,6 +408,7 @@ static void __init omap4_panda_map_io(void)
391MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") 408MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
392 /* Maintainer: David Anders - Texas Instruments Inc */ 409 /* Maintainer: David Anders - Texas Instruments Inc */
393 .boot_params = 0x80000100, 410 .boot_params = 0x80000100,
411 .reserve = omap_reserve,
394 .map_io = omap4_panda_map_io, 412 .map_io = omap4_panda_map_io,
395 .init_irq = omap4_panda_init_irq, 413 .init_irq = omap4_panda_init_irq,
396 .init_machine = omap4_panda_init, 414 .init_machine = omap4_panda_init,