|
@@ -122,3 +122,133 @@ static struct omap_hwmod am33xx_l3_main_hwmod = {
|
|
|
|
|
|
/* l3_s */
|
|
|
static struct omap_hwmod am33xx_l3_s_hwmod = {
|
|
|
+ .name = "l3_s",
|
|
|
+ .class = &am33xx_l3_hwmod_class,
|
|
|
+ .clkdm_name = "l3s_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+/* l3_instr */
|
|
|
+static struct omap_hwmod am33xx_l3_instr_hwmod = {
|
|
|
+ .name = "l3_instr",
|
|
|
+ .class = &am33xx_l3_hwmod_class,
|
|
|
+ .clkdm_name = "l3_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .main_clk = "l3_gclk",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'l4' class
|
|
|
+ * instance(s): l4_ls, l4_hs, l4_wkup, l4_fw
|
|
|
+ */
|
|
|
+static struct omap_hwmod_class am33xx_l4_hwmod_class = {
|
|
|
+ .name = "l4",
|
|
|
+};
|
|
|
+
|
|
|
+/* l4_ls */
|
|
|
+static struct omap_hwmod am33xx_l4_ls_hwmod = {
|
|
|
+ .name = "l4_ls",
|
|
|
+ .class = &am33xx_l4_hwmod_class,
|
|
|
+ .clkdm_name = "l4ls_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .main_clk = "l4ls_gclk",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* l4_hs */
|
|
|
+static struct omap_hwmod am33xx_l4_hs_hwmod = {
|
|
|
+ .name = "l4_hs",
|
|
|
+ .class = &am33xx_l4_hwmod_class,
|
|
|
+ .clkdm_name = "l4hs_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .main_clk = "l4hs_gclk",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_L4HS_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+/* l4_wkup */
|
|
|
+static struct omap_hwmod am33xx_l4_wkup_hwmod = {
|
|
|
+ .name = "l4_wkup",
|
|
|
+ .class = &am33xx_l4_hwmod_class,
|
|
|
+ .clkdm_name = "l4_wkup_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* l4_fw */
|
|
|
+static struct omap_hwmod am33xx_l4_fw_hwmod = {
|
|
|
+ .name = "l4_fw",
|
|
|
+ .class = &am33xx_l4_hwmod_class,
|
|
|
+ .clkdm_name = "l4fw_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_PER_L4FW_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'mpu' class
|
|
|
+ */
|
|
|
+static struct omap_hwmod_class am33xx_mpu_hwmod_class = {
|
|
|
+ .name = "mpu",
|
|
|
+};
|
|
|
+
|
|
|
+/* mpu */
|
|
|
+static struct omap_hwmod_irq_info am33xx_mpu_irqs[] = {
|
|
|
+ { .name = "emuint", .irq = 0 + OMAP_INTC_START, },
|
|
|
+ { .name = "commtx", .irq = 1 + OMAP_INTC_START, },
|
|
|
+ { .name = "commrx", .irq = 2 + OMAP_INTC_START, },
|
|
|
+ { .name = "bench", .irq = 3 + OMAP_INTC_START, },
|
|
|
+ { .irq = -1 },
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod am33xx_mpu_hwmod = {
|
|
|
+ .name = "mpu",
|
|
|
+ .class = &am33xx_mpu_hwmod_class,
|
|
|
+ .clkdm_name = "mpu_clkdm",
|
|
|
+ .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
|
|
|
+ .mpu_irqs = am33xx_mpu_irqs,
|
|
|
+ .main_clk = "dpll_mpu_m2_ck",
|
|
|
+ .prcm = {
|
|
|
+ .omap4 = {
|
|
|
+ .clkctrl_offs = AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET,
|
|
|
+ .modulemode = MODULEMODE_SWCTRL,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/*
|
|
|
+ * 'wakeup m3' class
|
|
|
+ * Wakeup controller sub-system under wakeup domain
|
|
|
+ */
|
|
|
+static struct omap_hwmod_class am33xx_wkup_m3_hwmod_class = {
|
|
|
+ .name = "wkup_m3",
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_hwmod_rst_info am33xx_wkup_m3_resets[] = {
|
|
|
+ { .name = "wkup_m3", .rst_shift = 3, .st_shift = 5 },
|
|
|
+};
|
|
|
+
|