at91: Add CAN init function

To enable CAN init, CONFIG_CAN has to be defined in the board config file
and at91_can_hw_init() has to be called in the board specific code.

CAN is available on AT91SAM9263 and AT91CAP9 SoC.

Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu>
This commit is contained in:
Daniel Gorsulowski 2009-06-30 23:03:33 +02:00 committed by Jean-Christophe PLAGNIOL-VILLARD
parent 2e23008e5d
commit 45627fce18
3 changed files with 31 additions and 0 deletions

View File

@ -3,6 +3,10 @@
* Stelian Pop <stelian.pop@leadtechdesign.com> * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com> * Lead Tech Design <www.leadtechdesign.com>
* *
* (C) Copyright 2009
* Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
* esd electronic system design gmbh <www.esd.eu>
*
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
* *
@ -174,3 +178,14 @@ void at91_macb_hw_init(void)
#endif #endif
} }
#endif #endif
#ifdef CONFIG_AT91_CAN
void at91_can_hw_init(void)
{
at91_set_A_periph(AT91_PIN_PA12, 0); /* CAN_TX */
at91_set_A_periph(AT91_PIN_PA13, 1); /* CAN_RX */
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91CAP9_ID_CAN);
}
#endif

View File

@ -3,6 +3,10 @@
* Stelian Pop <stelian.pop@leadtechdesign.com> * Stelian Pop <stelian.pop@leadtechdesign.com>
* Lead Tech Design <www.leadtechdesign.com> * Lead Tech Design <www.leadtechdesign.com>
* *
* (C) Copyright 2009
* Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
* esd electronic system design gmbh <www.esd.eu>
*
* See file CREDITS for list of people who contributed to this * See file CREDITS for list of people who contributed to this
* project. * project.
* *
@ -182,3 +186,14 @@ void at91_uhp_hw_init(void)
at91_set_gpio_output(AT91_PIN_PA24, 0); at91_set_gpio_output(AT91_PIN_PA24, 0);
} }
#endif #endif
#ifdef CONFIG_AT91_CAN
void at91_can_hw_init(void)
{
at91_set_A_periph(AT91_PIN_PA13, 0); /* CAN_TX */
at91_set_A_periph(AT91_PIN_PA14, 1); /* CAN_RX */
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_CAN);
}
#endif

View File

@ -25,6 +25,7 @@
#ifndef AT91_COMMON_H #ifndef AT91_COMMON_H
#define AT91_COMMON_H #define AT91_COMMON_H
void at91_can_hw_init(void);
void at91_macb_hw_init(void); void at91_macb_hw_init(void);
void at91_serial_hw_init(void); void at91_serial_hw_init(void);
void at91_serial0_hw_init(void); void at91_serial0_hw_init(void);