|
@@ -32,6 +32,7 @@
|
|
|
#include <linux/spi/spi.h>
|
|
|
#include <linux/irq.h>
|
|
|
#include <linux/fsl_devices.h>
|
|
|
+#include <linux/can/platform/sja1000.h>
|
|
|
|
|
|
#include <media/soc_camera.h>
|
|
|
|
|
@@ -514,6 +515,33 @@ static struct mx3fb_platform_data mx3fb_pdata = {
|
|
|
.num_modes = ARRAY_SIZE(fb_modedb),
|
|
|
};
|
|
|
|
|
|
+static struct resource pcm970_sja1000_resources[] = {
|
|
|
+ {
|
|
|
+ .start = CS5_BASE_ADDR,
|
|
|
+ .end = CS5_BASE_ADDR + 0x100 - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = IOMUX_TO_IRQ(IOMUX_PIN(48, 105)),
|
|
|
+ .end = IOMUX_TO_IRQ(IOMUX_PIN(48, 105)),
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+struct sja1000_platform_data pcm970_sja1000_platform_data = {
|
|
|
+ .clock = 16000000 / 2,
|
|
|
+ .ocr = 0x40 | 0x18,
|
|
|
+ .cdr = 0x40,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device pcm970_sja1000 = {
|
|
|
+ .name = "sja1000_platform",
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &pcm970_sja1000_platform_data,
|
|
|
+ },
|
|
|
+ .resource = pcm970_sja1000_resources,
|
|
|
+ .num_resources = ARRAY_SIZE(pcm970_sja1000_resources),
|
|
|
+};
|
|
|
+
|
|
|
/*
|
|
|
* Board specific initialization.
|
|
|
*/
|
|
@@ -574,6 +602,8 @@ static void __init mxc_board_init(void)
|
|
|
|
|
|
if (!pcm037_camera_alloc_dma(4 * 1024 * 1024))
|
|
|
mxc_register_device(&mx3_camera, &camera_pdata);
|
|
|
+
|
|
|
+ platform_device_register(&pcm970_sja1000);
|
|
|
}
|
|
|
|
|
|
static void __init pcm037_timer_init(void)
|