aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/board-sam9263ek.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-12-01 02:16:22 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2009-12-01 02:16:22 -0500
commit838632438145ac6863377eb12d8b8eef9c55d288 (patch)
treefbb0757df837f3c75a99c518a3596c38daef162d /arch/arm/mach-at91/board-sam9263ek.c
parent9996508b3353063f2d6c48c1a28a84543d72d70b (diff)
parent29e553631b2a0d4eebd23db630572e1027a9967a (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/arm/mach-at91/board-sam9263ek.c')
-rw-r--r--arch/arm/mach-at91/board-sam9263ek.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index 1bf7bd4cbe13..2d867fb0630f 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -57,7 +57,7 @@ static void __init ek_map_io(void)
57 /* Initialize processor: 16.367 MHz crystal */ 57 /* Initialize processor: 16.367 MHz crystal */
58 at91sam9263_initialize(16367660); 58 at91sam9263_initialize(16367660);
59 59
60 /* DGBU on ttyS0. (Rx & Tx only) */ 60 /* DBGU on ttyS0. (Rx & Tx only) */
61 at91_register_uart(0, 0, 0); 61 at91_register_uart(0, 0, 0);
62 62
63 /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */ 63 /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */
@@ -400,6 +400,23 @@ static struct gpio_led ek_pwm_led[] = {
400 } 400 }
401}; 401};
402 402
403/*
404 * CAN
405 */
406static void sam9263ek_transceiver_switch(int on)
407{
408 if (on) {
409 at91_set_gpio_output(AT91_PIN_PA18, 1); /* CANRXEN */
410 at91_set_gpio_output(AT91_PIN_PA19, 0); /* CANRS */
411 } else {
412 at91_set_gpio_output(AT91_PIN_PA18, 0); /* CANRXEN */
413 at91_set_gpio_output(AT91_PIN_PA19, 1); /* CANRS */
414 }
415}
416
417static struct at91_can_data ek_can_data = {
418 .transceiver_switch = sam9263ek_transceiver_switch,
419};
403 420
404static void __init ek_board_init(void) 421static void __init ek_board_init(void)
405{ 422{
@@ -431,6 +448,8 @@ static void __init ek_board_init(void)
431 /* LEDs */ 448 /* LEDs */
432 at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); 449 at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
433 at91_pwm_leds(ek_pwm_led, ARRAY_SIZE(ek_pwm_led)); 450 at91_pwm_leds(ek_pwm_led, ARRAY_SIZE(ek_pwm_led));
451 /* CAN */
452 at91_add_device_can(&ek_can_data);
434} 453}
435 454
436MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK") 455MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")