/* * omap_hwmod_33xx_data.c: Hardware modules present on the AM33XX chips * * Copyright (C) {2012} Texas Instruments Incorporated - http://www.ti.com/ * * This file is automatically generated from the AM33XX hardware databases. * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation version 2. * * This program is distributed "as is" WITHOUT ANY WARRANTY of any * kind, whether express or implied; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include "omap_hwmod.h" #include #include #include "omap_hwmod_common_data.h" #include "control.h" #include "cm33xx.h" #include "prm33xx.h" #include "prm-regbits-33xx.h" #include "i2c.h" #include "mmc.h" /* * IP blocks */ /* * 'emif_fw' class * instance(s): emif_fw */ static struct omap_hwmod_class am33xx_emif_fw_hwmod_class = { .name = "emif_fw", }; /* emif_fw */ static struct omap_hwmod am33xx_emif_fw_hwmod = { .name = "emif_fw", .class = &am33xx_emif_fw_hwmod_class, .clkdm_name = "l4fw_clkdm", .main_clk = "l4fw_gclk", .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), .prcm = { .omap4 = { .clkctrl_offs = AM33XX_CM_PER_EMIF_FW_CLKCTRL_OFFSET, .modulemode = MODULEMODE_SWCTRL, }, }, }; /* * 'emif' class * instance(s): emif */ static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = { .rev_offs = 0x0000, }; static struct omap_hwmod_class am33xx_emif_hwmod_class = { .name = "emif", .sysc = &am33xx_emif_sysc, }; static struct omap_hwmod_irq_info am33xx_emif_irqs[] = { { .name = "ddrerr0", .irq = 101 + OMAP_INTC_START, }, { .irq = -1 }, }; /* emif */ static struct omap_hwmod am33xx_emif_hwmod = { .name = "emif", .class = &am33xx_emif_hwmod_class, .clkdm_name = "l3_clkdm", .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), .mpu_irqs = am33xx_emif_irqs, .main_clk = "dpll_ddr_m2_div2_ck", .prcm = { .omap4 = { .clkctrl_offs = AM33XX_CM_PER_EMIF_CLKCTRL_OFFSET, .modulemode = MODULEMODE_SWCTRL, }, }, }; /* * 'l3' class * instance(s): l3_main, l3_s, l3_instr */ static struct omap_hwmod_class am33xx_l3_hwmod_class = { .name = "l3", }; /* l3_main (l3_fast) */ static struct omap_hwmod_irq_info am33xx_l3_main_irqs[] = { { .name = "l3debug", .irq = 9 + OMAP_INTC_START, }, { .name = "l3appint", .irq = 10 + OMAP_INTC_START, }, { .irq = -1 }, }; static struct omap_hwmod am33xx_l3_main_hwmod = { .name = "l3_main", .class = &am33xx_l3_hwmod_class, .clkdm_name = "l3_clkdm", .flags = (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), .mpu_irqs = am33xx_l3_main_irqs, .main_clk = "l3_gclk", .prcm = { .omap4 = { .clkctrl_offs = AM33XX_CM_PER_L3_CLKCTRL_OFFSET, .modulemode = MODULEMODE_SWCTRL, }, }, }; /* 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 }, };