at91sam9263: add at91_can device to generic device definition
This patch adds the device definition for the at91_can device to the generic device definiton file for the at91sam9263. Signed-off-by: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
ec47562382
Коммит
58a587dc2a
|
@ -757,6 +757,42 @@ void __init at91_add_device_ac97(struct atmel_ac97_data *data)
|
|||
void __init at91_add_device_ac97(struct atmel_ac97_data *data) {}
|
||||
#endif
|
||||
|
||||
/* --------------------------------------------------------------------
|
||||
* CAN Controller
|
||||
* -------------------------------------------------------------------- */
|
||||
|
||||
#if defined(CONFIG_CAN_AT91) || defined(CONFIG_CAN_AT91_MODULE)
|
||||
static struct resource can_resources[] = {
|
||||
[0] = {
|
||||
.start = AT91SAM9263_BASE_CAN,
|
||||
.end = AT91SAM9263_BASE_CAN + SZ_16K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = AT91SAM9263_ID_CAN,
|
||||
.end = AT91SAM9263_ID_CAN,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device at91sam9263_can_device = {
|
||||
.name = "at91_can",
|
||||
.id = -1,
|
||||
.resource = can_resources,
|
||||
.num_resources = ARRAY_SIZE(can_resources),
|
||||
};
|
||||
|
||||
void __init at91_add_device_can(struct at91_can_data *data)
|
||||
{
|
||||
at91_set_A_periph(AT91_PIN_PA13, 0); /* CANTX */
|
||||
at91_set_A_periph(AT91_PIN_PA14, 0); /* CANRX */
|
||||
at91sam9263_can_device.dev.platform_data = data;
|
||||
|
||||
platform_device_register(&at91sam9263_can_device);
|
||||
}
|
||||
#else
|
||||
void __init at91_add_device_can(struct at91_can_data *data) {}
|
||||
#endif
|
||||
|
||||
/* --------------------------------------------------------------------
|
||||
* LCD Controller
|
||||
|
|
|
@ -179,6 +179,12 @@ extern void __init at91_add_device_isi(void);
|
|||
/* Touchscreen Controller */
|
||||
extern void __init at91_add_device_tsadcc(void);
|
||||
|
||||
/* CAN */
|
||||
struct at91_can_data {
|
||||
void (*transceiver_switch)(int on);
|
||||
};
|
||||
extern void __init at91_add_device_can(struct at91_can_data *data);
|
||||
|
||||
/* LEDs */
|
||||
extern void __init at91_init_leds(u8 cpu_led, u8 timer_led);
|
||||
extern void __init at91_gpio_leds(struct gpio_led *leds, int nr);
|
||||
|
|
Загрузка…
Ссылка в новой задаче