|
@@ -210,3 +210,115 @@ static struct platform_device dm9000_device = {
|
|
|
#if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE)
|
|
|
static struct resource sl811_hcd_resources[] = {
|
|
|
{
|
|
|
+ .start = 0x20340000,
|
|
|
+ .end = 0x20340000,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = 0x20340004,
|
|
|
+ .end = 0x20340004,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = IRQ_PF4,
|
|
|
+ .end = IRQ_PF4,
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+#if defined(CONFIG_USB_SL811_BFIN_USE_VBUS)
|
|
|
+void sl811_port_power(struct device *dev, int is_on)
|
|
|
+{
|
|
|
+ gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS");
|
|
|
+ gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on);
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+static struct sl811_platform_data sl811_priv = {
|
|
|
+ .potpg = 10,
|
|
|
+ .power = 250, /* == 500mA */
|
|
|
+#if defined(CONFIG_USB_SL811_BFIN_USE_VBUS)
|
|
|
+ .port_power = &sl811_port_power,
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device sl811_hcd_device = {
|
|
|
+ .name = "sl811-hcd",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &sl811_priv,
|
|
|
+ },
|
|
|
+ .num_resources = ARRAY_SIZE(sl811_hcd_resources),
|
|
|
+ .resource = sl811_hcd_resources,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
|
|
|
+static struct resource isp1362_hcd_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0x20360000,
|
|
|
+ .end = 0x20360000,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = 0x20360004,
|
|
|
+ .end = 0x20360004,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .start = IRQ_PF3,
|
|
|
+ .end = IRQ_PF3,
|
|
|
+ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct isp1362_platform_data isp1362_priv = {
|
|
|
+ .sel15Kres = 1,
|
|
|
+ .clknotstop = 0,
|
|
|
+ .oc_enable = 0,
|
|
|
+ .int_act_high = 0,
|
|
|
+ .int_edge_triggered = 0,
|
|
|
+ .remote_wakeup_connected = 0,
|
|
|
+ .no_power_switching = 1,
|
|
|
+ .power_switching_mode = 0,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device isp1362_hcd_device = {
|
|
|
+ .name = "isp1362-hcd",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &isp1362_priv,
|
|
|
+ },
|
|
|
+ .num_resources = ARRAY_SIZE(isp1362_hcd_resources),
|
|
|
+ .resource = isp1362_hcd_resources,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_CAN_BFIN) || defined(CONFIG_CAN_BFIN_MODULE)
|
|
|
+static unsigned short bfin_can_peripherals[] = {
|
|
|
+ P_CAN0_RX, P_CAN0_TX, 0
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource bfin_can_resources[] = {
|
|
|
+ {
|
|
|
+ .start = 0xFFC02A00,
|
|
|
+ .end = 0xFFC02FFF,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_CAN_RX,
|
|
|
+ .end = IRQ_CAN_RX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_CAN_TX,
|
|
|
+ .end = IRQ_CAN_TX,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .start = IRQ_CAN_ERROR,
|
|
|
+ .end = IRQ_CAN_ERROR,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device bfin_can_device = {
|
|
|
+ .name = "bfin_can",
|
|
|
+ .num_resources = ARRAY_SIZE(bfin_can_resources),
|
|
|
+ .resource = bfin_can_resources,
|