aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-am3517evm.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-am3517evm.c')
-rw-r--r--arch/arm/mach-omap2/board-am3517evm.c38
1 files changed, 38 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
297static 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
310static 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
317static 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
326static 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
295static void __init am3517_evm_init(void) 332static 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