aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3/mach-mx31moboard.c
diff options
context:
space:
mode:
authorValentin Longchamp <valentin.longchamp@epfl.ch>2010-02-09 12:13:36 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2010-02-10 05:11:56 -0500
commite335c75cf32b7014f84c90bbe7ed9b7ecd8e7778 (patch)
tree44182d22d8a9befa3eedb747a20294bb5b24369b /arch/arm/mach-mx3/mach-mx31moboard.c
parentcda82f85c2bba92daa3d017f7c7bc5f8c61a2e11 (diff)
mx31moboard: support for the smartbot baseboard
This baseboard is used on the handbot and eybot robots. The sel gpios are used as enables and rst signals on smartbot, thus the sel init is moved from mx31moboard file to board files. Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3/mach-mx31moboard.c')
-rw-r--r--arch/arm/mach-mx3/mach-mx31moboard.c36
1 files changed, 3 insertions, 33 deletions
diff --git a/arch/arm/mach-mx3/mach-mx31moboard.c b/arch/arm/mach-mx3/mach-mx31moboard.c
index c357a72ee406..a7dc5191bf5e 100644
--- a/arch/arm/mach-mx3/mach-mx31moboard.c
+++ b/arch/arm/mach-mx3/mach-mx31moboard.c
@@ -96,9 +96,6 @@ static unsigned int moboard_pins[] = {
96 /* LEDs */ 96 /* LEDs */
97 MX31_PIN_SVEN0__GPIO2_0, MX31_PIN_STX0__GPIO2_1, 97 MX31_PIN_SVEN0__GPIO2_0, MX31_PIN_STX0__GPIO2_1,
98 MX31_PIN_SRX0__GPIO2_2, MX31_PIN_SIMPD0__GPIO2_3, 98 MX31_PIN_SRX0__GPIO2_2, MX31_PIN_SIMPD0__GPIO2_3,
99 /* SEL */
100 MX31_PIN_DTR_DCE1__GPIO2_8, MX31_PIN_DSR_DCE1__GPIO2_9,
101 MX31_PIN_RI_DCE1__GPIO2_10, MX31_PIN_DCD_DCE1__GPIO2_11,
102 /* SPI1 */ 99 /* SPI1 */
103 MX31_PIN_CSPI2_MOSI__MOSI, MX31_PIN_CSPI2_MISO__MISO, 100 MX31_PIN_CSPI2_MOSI__MOSI, MX31_PIN_CSPI2_MISO__MISO,
104 MX31_PIN_CSPI2_SCLK__SCLK, MX31_PIN_CSPI2_SPI_RDY__SPI_RDY, 101 MX31_PIN_CSPI2_SCLK__SCLK, MX31_PIN_CSPI2_SPI_RDY__SPI_RDY,
@@ -432,34 +429,6 @@ static struct platform_device mx31moboard_leds_device = {
432 }, 429 },
433}; 430};
434 431
435#define SEL0 IOMUX_TO_GPIO(MX31_PIN_DTR_DCE1)
436#define SEL1 IOMUX_TO_GPIO(MX31_PIN_DSR_DCE1)
437#define SEL2 IOMUX_TO_GPIO(MX31_PIN_RI_DCE1)
438#define SEL3 IOMUX_TO_GPIO(MX31_PIN_DCD_DCE1)
439
440static void mx31moboard_init_sel_gpios(void)
441{
442 if (!gpio_request(SEL0, "sel0")) {
443 gpio_direction_input(SEL0);
444 gpio_export(SEL0, true);
445 }
446
447 if (!gpio_request(SEL1, "sel1")) {
448 gpio_direction_input(SEL1);
449 gpio_export(SEL1, true);
450 }
451
452 if (!gpio_request(SEL2, "sel2")) {
453 gpio_direction_input(SEL2);
454 gpio_export(SEL2, true);
455 }
456
457 if (!gpio_request(SEL3, "sel3")) {
458 gpio_direction_input(SEL3);
459 gpio_export(SEL3, true);
460 }
461}
462
463static struct ipu_platform_data mx3_ipu_data = { 432static struct ipu_platform_data mx3_ipu_data = {
464 .irq_base = MXC_IPU_IRQ_START, 433 .irq_base = MXC_IPU_IRQ_START,
465}; 434};
@@ -519,8 +488,6 @@ static void __init mxc_board_init(void)
519 488
520 mxc_register_device(&mxc_uart_device4, &uart4_pdata); 489 mxc_register_device(&mxc_uart_device4, &uart4_pdata);
521 490
522 mx31moboard_init_sel_gpios();
523
524 mxc_register_device(&mxc_i2c_device0, &moboard_i2c0_pdata); 491 mxc_register_device(&mxc_i2c_device0, &moboard_i2c0_pdata);
525 mxc_register_device(&mxc_i2c_device1, &moboard_i2c1_pdata); 492 mxc_register_device(&mxc_i2c_device1, &moboard_i2c1_pdata);
526 493
@@ -553,6 +520,9 @@ static void __init mxc_board_init(void)
553 case MX31MARXBOT: 520 case MX31MARXBOT:
554 mx31moboard_marxbot_init(); 521 mx31moboard_marxbot_init();
555 break; 522 break;
523 case MX31SMARTBOT:
524 mx31moboard_smartbot_init();
525 break;
556 default: 526 default:
557 printk(KERN_ERR "Illegal mx31moboard_baseboard type %d\n", 527 printk(KERN_ERR "Illegal mx31moboard_baseboard type %d\n",
558 mx31moboard_baseboard); 528 mx31moboard_baseboard);