|
@@ -3465,3 +3465,80 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
|
|
|
.prcm = {
|
|
|
.omap4 = {
|
|
|
.clkctrl_offs = OMAP4_CM_L4PER_UART2_CLKCTRL_OFFSET,
|
|
|
+ .context_offs = OMAP4_RM_L4PER_UART2_CONTEXT_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* uart3 */
|
|
|
+static struct omap_hwmod_irq_info omap44xx_uart3_irqs[] = {
|
|
|
+ { .irq = 74 + OMAP44XX_IRQ_GIC_START },
|
|
|
+ { .irq = -1 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod_dma_info omap44xx_uart3_sdma_reqs[] = {
|
|
|
+ { .name = "tx", .dma_req = 52 + OMAP44XX_DMA_REQ_START },
|
|
|
+ { .name = "rx", .dma_req = 53 + OMAP44XX_DMA_REQ_START },
|
|
|
+ { .dma_req = -1 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod omap44xx_uart3_hwmod = {
|
|
|
+ .name = "uart3",
|
|
|
+ .class = &omap44xx_uart_hwmod_class,
|
|
|
+ .clkdm_name = "l4_per_clkdm",
|
|
|
+ .flags = HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,
|
|
|
+ .mpu_irqs = omap44xx_uart3_irqs,
|
|
|
+ .sdma_reqs = omap44xx_uart3_sdma_reqs,
|
|
|
+ .main_clk = "uart3_fck",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
|
|
|
+ .context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* uart4 */
|
|
|
+static struct omap_hwmod_irq_info omap44xx_uart4_irqs[] = {
|
|
|
+ { .irq = 70 + OMAP44XX_IRQ_GIC_START },
|
|
|
+ { .irq = -1 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod_dma_info omap44xx_uart4_sdma_reqs[] = {
|
|
|
+ { .name = "tx", .dma_req = 54 + OMAP44XX_DMA_REQ_START },
|
|
|
+ { .name = "rx", .dma_req = 55 + OMAP44XX_DMA_REQ_START },
|
|
|
+ { .dma_req = -1 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod omap44xx_uart4_hwmod = {
|
|
|
+ .name = "uart4",
|
|
|
+ .class = &omap44xx_uart_hwmod_class,
|
|
|
+ .clkdm_name = "l4_per_clkdm",
|
|
|
+ .mpu_irqs = omap44xx_uart4_irqs,
|
|
|
+ .sdma_reqs = omap44xx_uart4_sdma_reqs,
|
|
|
+ .main_clk = "uart4_fck",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = OMAP4_CM_L4PER_UART4_CLKCTRL_OFFSET,
|
|
|
+ .context_offs = OMAP4_RM_L4PER_UART4_CONTEXT_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'usb_host_fs' class
|
|
|
+ * full-speed usb host controller
|
|
|
+ */
|
|
|
+
|
|
|
+/* The IP is not compliant to type1 / type2 scheme */
|
|
|
+static struct omap_hwmod_sysc_fields omap_hwmod_sysc_type_usb_host_fs = {
|
|
|
+ .midle_shift = 4,
|
|
|
+ .sidle_shift = 2,
|
|
|
+ .srst_shift = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod_class_sysconfig omap44xx_usb_host_fs_sysc = {
|
|
|
+ .rev_offs = 0x0000,
|