diff options
author | Sriram <srk@ti.com> | 2010-05-10 17:29:16 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-05-20 13:48:57 -0400 |
commit | 917336318ef1c2520b6898113dade12c401ea1a0 (patch) | |
tree | d86439bf5f4abb339221a8dcbcd6692c86632a00 /arch/arm/mach-omap2 | |
parent | a29b8204d22c9c634841f2474c0bc327f36d7be6 (diff) |
can: ti_hecc: board specific hookup on AM3517EVM
Add board specific hookup for TI HECC driver on
AM3517 EVM
Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/board-am3517evm.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-omap2/include/mach/am35xx.h | 9 |
2 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index c1c4389fbd8f..6ca0075026ff 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/gpio.h> | 22 | #include <linux/gpio.h> |
23 | #include <linux/i2c/pca953x.h> | 23 | #include <linux/i2c/pca953x.h> |
24 | #include <linux/can/platform/ti_hecc.h> | ||
24 | 25 | ||
25 | #include <mach/hardware.h> | 26 | #include <mach/hardware.h> |
26 | #include <mach/am35xx.h> | 27 | #include <mach/am35xx.h> |
@@ -292,6 +293,42 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
292 | #define board_mux NULL | 293 | #define board_mux NULL |
293 | #endif | 294 | #endif |
294 | 295 | ||
296 | |||
297 | static struct resource am3517_hecc_resources[] = { | ||
298 | { | ||
299 | .start = AM35XX_IPSS_HECC_BASE, | ||
300 | .end = AM35XX_IPSS_HECC_BASE + 0x3FFF, | ||
301 | .flags = IORESOURCE_MEM, | ||
302 | }, | ||
303 | { | ||
304 | .start = INT_35XX_HECC0_IRQ, | ||
305 | .end = INT_35XX_HECC0_IRQ, | ||
306 | .flags = IORESOURCE_IRQ, | ||
307 | }, | ||
308 | }; | ||
309 | |||
310 | static struct platform_device am3517_hecc_device = { | ||
311 | .name = "ti_hecc", | ||
312 | .id = -1, | ||
313 | .num_resources = ARRAY_SIZE(am3517_hecc_resources), | ||
314 | .resource = am3517_hecc_resources, | ||
315 | }; | ||
316 | |||
317 | static struct ti_hecc_platform_data am3517_evm_hecc_pdata = { | ||
318 | .scc_hecc_offset = AM35XX_HECC_SCC_HECC_OFFSET, | ||
319 | .scc_ram_offset = AM35XX_HECC_SCC_RAM_OFFSET, | ||
320 | .hecc_ram_offset = AM35XX_HECC_RAM_OFFSET, | ||
321 | .mbx_offset = AM35XX_HECC_MBOX_OFFSET, | ||
322 | .int_line = AM35XX_HECC_INT_LINE, | ||
323 | .version = AM35XX_HECC_VERSION, | ||
324 | }; | ||
325 | |||
326 | static void am3517_evm_hecc_init(struct ti_hecc_platform_data *pdata) | ||
327 | { | ||
328 | am3517_hecc_device.dev.platform_data = pdata; | ||
329 | platform_device_register(&am3517_hecc_device); | ||
330 | } | ||
331 | |||
295 | static void __init am3517_evm_init(void) | 332 | static void __init am3517_evm_init(void) |
296 | { | 333 | { |
297 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 334 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
@@ -305,6 +342,7 @@ static void __init am3517_evm_init(void) | |||
305 | /* Configure GPIO for EHCI port */ | 342 | /* Configure GPIO for EHCI port */ |
306 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); | 343 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); |
307 | usb_ehci_init(&ehci_pdata); | 344 | usb_ehci_init(&ehci_pdata); |
345 | am3517_evm_hecc_init(&am3517_evm_hecc_pdata); | ||
308 | /* DSS */ | 346 | /* DSS */ |
309 | am3517_evm_display_init(); | 347 | am3517_evm_display_init(); |
310 | 348 | ||
diff --git a/arch/arm/mach-omap2/include/mach/am35xx.h b/arch/arm/mach-omap2/include/mach/am35xx.h index a705f946fc46..0636263c2e7d 100644 --- a/arch/arm/mach-omap2/include/mach/am35xx.h +++ b/arch/arm/mach-omap2/include/mach/am35xx.h | |||
@@ -23,4 +23,13 @@ | |||
23 | #define AM35XX_IPSS_HECC_BASE 0x5C050000 | 23 | #define AM35XX_IPSS_HECC_BASE 0x5C050000 |
24 | #define AM35XX_IPSS_VPFE_BASE 0x5C060000 | 24 | #define AM35XX_IPSS_VPFE_BASE 0x5C060000 |
25 | 25 | ||
26 | |||
27 | /* HECC module specifc offset definitions */ | ||
28 | #define AM35XX_HECC_SCC_HECC_OFFSET (0x0) | ||
29 | #define AM35XX_HECC_SCC_RAM_OFFSET (0x3000) | ||
30 | #define AM35XX_HECC_RAM_OFFSET (0x3000) | ||
31 | #define AM35XX_HECC_MBOX_OFFSET (0x2000) | ||
32 | #define AM35XX_HECC_INT_LINE (0x0) | ||
33 | #define AM35XX_HECC_VERSION (0x1) | ||
34 | |||
26 | #endif /* __ASM_ARCH_AM35XX_H */ | 35 | #endif /* __ASM_ARCH_AM35XX_H */ |