Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a557062 authored by Benoit Parrot's avatar Benoit Parrot Committed by Paul Walmsley
Browse files

ARM: AM43xx: hwmod: add VPFE hwmod entries



This patch adds VPFE HWMOD data for AM43xx.

Signed-off-by: default avatarBenoit Parrot <bparrot@ti.com>
Signed-off-by: default avatarDarren Etheridge <detheridge@ti.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
Tested-by: default avatarBenoit Parrot <bparrot@ti.com>
[paul@pwsan.com: updated to apply on v4.1-rc1]
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
parent b787f68c
Loading
Loading
Loading
Loading
+70 −0
Original line number Diff line number Diff line
@@ -544,6 +544,44 @@ static struct omap_hwmod am43xx_hdq1w_hwmod = {
	},
};

static struct omap_hwmod_class_sysconfig am43xx_vpfe_sysc = {
	.rev_offs       = 0x0,
	.sysc_offs      = 0x104,
	.sysc_flags     = SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE,
	.idlemodes      = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
				MSTANDBY_FORCE | MSTANDBY_SMART | MSTANDBY_NO),
	.sysc_fields    = &omap_hwmod_sysc_type2,
};

static struct omap_hwmod_class am43xx_vpfe_hwmod_class = {
	.name           = "vpfe",
	.sysc           = &am43xx_vpfe_sysc,
};

static struct omap_hwmod am43xx_vpfe0_hwmod = {
	.name           = "vpfe0",
	.class          = &am43xx_vpfe_hwmod_class,
	.clkdm_name     = "l3s_clkdm",
	.prcm           = {
		.omap4  = {
			.modulemode     = MODULEMODE_SWCTRL,
			.clkctrl_offs   = AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET,
		},
	},
};

static struct omap_hwmod am43xx_vpfe1_hwmod = {
	.name           = "vpfe1",
	.class          = &am43xx_vpfe_hwmod_class,
	.clkdm_name     = "l3s_clkdm",
	.prcm           = {
		.omap4  = {
			.modulemode     = MODULEMODE_SWCTRL,
			.clkctrl_offs   = AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET,
		},
	},
};

/* Interfaces */
static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
	.master		= &am33xx_l3_main_hwmod,
@@ -825,6 +863,34 @@ static struct omap_hwmod_ocp_if am43xx_l4_ls__hdq1w = {
	.user           = OCP_USER_MPU | OCP_USER_SDMA,
};

static struct omap_hwmod_ocp_if am43xx_l3__vpfe0 = {
	.master         = &am43xx_vpfe0_hwmod,
	.slave          = &am33xx_l3_main_hwmod,
	.clk            = "l3_gclk",
	.user           = OCP_USER_MPU | OCP_USER_SDMA,
};

static struct omap_hwmod_ocp_if am43xx_l3__vpfe1 = {
	.master         = &am43xx_vpfe1_hwmod,
	.slave          = &am33xx_l3_main_hwmod,
	.clk            = "l3_gclk",
	.user           = OCP_USER_MPU | OCP_USER_SDMA,
};

static struct omap_hwmod_ocp_if am43xx_l4_ls__vpfe0 = {
	.master         = &am33xx_l4_ls_hwmod,
	.slave          = &am43xx_vpfe0_hwmod,
	.clk            = "l4ls_gclk",
	.user           = OCP_USER_MPU | OCP_USER_SDMA,
};

static struct omap_hwmod_ocp_if am43xx_l4_ls__vpfe1 = {
	.master         = &am33xx_l4_ls_hwmod,
	.slave          = &am43xx_vpfe1_hwmod,
	.clk            = "l4ls_gclk",
	.user           = OCP_USER_MPU | OCP_USER_SDMA,
};

static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
	&am33xx_l4_wkup__synctimer,
	&am43xx_l4_ls__timer8,
@@ -925,6 +991,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
	&am43xx_l4_ls__dss_dispc,
	&am43xx_l4_ls__dss_rfbi,
	&am43xx_l4_ls__hdq1w,
	&am43xx_l3__vpfe0,
	&am43xx_l3__vpfe1,
	&am43xx_l4_ls__vpfe0,
	&am43xx_l4_ls__vpfe1,
	NULL,
};

+2 −1
Original line number Diff line number Diff line
@@ -144,5 +144,6 @@
#define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET	0x05C0
#define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET		0x0a20
#define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET		0x04a0

#define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET		0x0068
#define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET		0x0070
#endif