ARM: OMAP: AM43xx hwmod: Add data for am43xx emif hwmod
Without a hwmod for am43xx emif use counting for emif clockdomain does not happen correctly so it may be shut off by pm code unintentionally. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> [paul@pwsan.com: updated to apply] Signed-off-by: Paul Walmsley <paul@pwsan.com>
This commit is contained in:
Родитель
63aa945b10
Коммит
fabbe6df13
|
@ -145,6 +145,7 @@ extern struct omap_hwmod am33xx_uart5_hwmod;
|
|||
extern struct omap_hwmod am33xx_uart6_hwmod;
|
||||
extern struct omap_hwmod am33xx_wd_timer1_hwmod;
|
||||
|
||||
extern struct omap_hwmod_class am33xx_emif_hwmod_class;
|
||||
extern struct omap_hwmod_class am33xx_l4_hwmod_class;
|
||||
extern struct omap_hwmod_class am33xx_wkup_m3_hwmod_class;
|
||||
extern struct omap_hwmod_class am33xx_control_hwmod_class;
|
||||
|
|
|
@ -202,6 +202,19 @@ struct omap_hwmod am33xx_prcm_hwmod = {
|
|||
.clkdm_name = "l4_wkup_clkdm",
|
||||
};
|
||||
|
||||
/*
|
||||
* 'emif' class
|
||||
* instance(s): emif
|
||||
*/
|
||||
static struct omap_hwmod_class_sysconfig am33xx_emif_sysc = {
|
||||
.rev_offs = 0x0000,
|
||||
};
|
||||
|
||||
struct omap_hwmod_class am33xx_emif_hwmod_class = {
|
||||
.name = "emif",
|
||||
.sysc = &am33xx_emif_sysc,
|
||||
};
|
||||
|
||||
/*
|
||||
* 'aes0' class
|
||||
*/
|
||||
|
|
|
@ -34,19 +34,6 @@
|
|||
* IP blocks
|
||||
*/
|
||||
|
||||
/*
|
||||
* '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,
|
||||
};
|
||||
|
||||
/* emif */
|
||||
static struct omap_hwmod am33xx_emif_hwmod = {
|
||||
.name = "emif",
|
||||
|
|
|
@ -24,6 +24,20 @@
|
|||
|
||||
|
||||
/* IP blocks */
|
||||
static struct omap_hwmod am43xx_emif_hwmod = {
|
||||
.name = "emif",
|
||||
.class = &am33xx_emif_hwmod_class,
|
||||
.clkdm_name = "emif_clkdm",
|
||||
.flags = HWMOD_INIT_NO_IDLE,
|
||||
.main_clk = "dpll_ddr_m2_ck",
|
||||
.prcm = {
|
||||
.omap4 = {
|
||||
.clkctrl_offs = AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET,
|
||||
.modulemode = MODULEMODE_SWCTRL,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
static struct omap_hwmod am43xx_l4_hs_hwmod = {
|
||||
.name = "l4_hs",
|
||||
.class = &am33xx_l4_hwmod_class,
|
||||
|
@ -583,6 +597,13 @@ static struct omap_hwmod am43xx_vpfe1_hwmod = {
|
|||
};
|
||||
|
||||
/* Interfaces */
|
||||
static struct omap_hwmod_ocp_if am43xx_l3_main__emif = {
|
||||
.master = &am33xx_l3_main_hwmod,
|
||||
.slave = &am43xx_emif_hwmod,
|
||||
.clk = "dpll_core_m4_ck",
|
||||
.user = OCP_USER_MPU | OCP_USER_SDMA,
|
||||
};
|
||||
|
||||
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
|
||||
.master = &am33xx_l3_main_hwmod,
|
||||
.slave = &am43xx_l4_hs_hwmod,
|
||||
|
@ -918,6 +939,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
|
|||
&am33xx_l3_main__l3_instr,
|
||||
&am33xx_l3_main__gfx,
|
||||
&am33xx_l3_s__l3_main,
|
||||
&am43xx_l3_main__emif,
|
||||
&am33xx_pruss__l3_main,
|
||||
&am43xx_wkup_m3__l4_wkup,
|
||||
&am33xx_gfx__l3_main,
|
||||
|
|
|
@ -146,4 +146,6 @@
|
|||
#define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0
|
||||
#define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068
|
||||
#define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070
|
||||
#define AM43XX_CM_PER_EMIF_CLKCTRL_OFFSET 0x0720
|
||||
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче