|
@@ -715,3 +715,76 @@ static struct platform_device usb_dma0_device = {
|
|
|
/* USB DMAC1 */
|
|
|
static const struct sh_dmae_slave_config sh7372_usb_dmae1_slaves[] = {
|
|
|
{
|
|
|
+ .slave_id = SHDMA_SLAVE_USB1_TX,
|
|
|
+ .chcr = USBTS_INDEX2VAL(USBTS_XMIT_SZ_8BYTE),
|
|
|
+ }, {
|
|
|
+ .slave_id = SHDMA_SLAVE_USB1_RX,
|
|
|
+ .chcr = USBTS_INDEX2VAL(USBTS_XMIT_SZ_8BYTE),
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct sh_dmae_pdata usb_dma1_platform_data = {
|
|
|
+ .slave = sh7372_usb_dmae1_slaves,
|
|
|
+ .slave_num = ARRAY_SIZE(sh7372_usb_dmae1_slaves),
|
|
|
+ .channel = sh7372_usb_dmae_channels,
|
|
|
+ .channel_num = ARRAY_SIZE(sh7372_usb_dmae_channels),
|
|
|
+ .ts_low_shift = USBTS_LOW_SHIFT,
|
|
|
+ .ts_low_mask = USBTS_LOW_BIT << USBTS_LOW_SHIFT,
|
|
|
+ .ts_high_shift = USBTS_HI_SHIFT,
|
|
|
+ .ts_high_mask = USBTS_HI_BIT << USBTS_HI_SHIFT,
|
|
|
+ .ts_shift = dma_usbts_shift,
|
|
|
+ .ts_shift_num = ARRAY_SIZE(dma_usbts_shift),
|
|
|
+ .dmaor_init = DMAOR_DME,
|
|
|
+ .chcr_offset = 0x14,
|
|
|
+ .chcr_ie_bit = 1 << 5,
|
|
|
+ .dmaor_is_32bit = 1,
|
|
|
+ .needs_tend_set = 1,
|
|
|
+ .no_dmars = 1,
|
|
|
+ .slave_only = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource sh7372_usb_dmae1_resources[] = {
|
|
|
+ {
|
|
|
+ /* Channel registers and DMAOR */
|
|
|
+ .start = 0xe68c0020,
|
|
|
+ .end = 0xe68c0064 - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ /* VCR/SWR/DMICR */
|
|
|
+ .start = 0xe68c0000,
|
|
|
+ .end = 0xe68c0014 - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ /* IRQ for channels */
|
|
|
+ .start = evt2irq(0x1d00),
|
|
|
+ .end = evt2irq(0x1d00),
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device usb_dma1_device = {
|
|
|
+ .name = "sh-dma-engine",
|
|
|
+ .id = 4,
|
|
|
+ .resource = sh7372_usb_dmae1_resources,
|
|
|
+ .num_resources = ARRAY_SIZE(sh7372_usb_dmae1_resources),
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &usb_dma1_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* VPU */
|
|
|
+static struct uio_info vpu_platform_data = {
|
|
|
+ .name = "VPU5HG",
|
|
|
+ .version = "0",
|
|
|
+ .irq = intcs_evt2irq(0x980),
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource vpu_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .name = "VPU",
|
|
|
+ .start = 0xfe900000,
|
|
|
+ .end = 0xfe900157,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|