diff options
author | Benoit Parrot <bparrot@ti.com> | 2015-05-08 15:01:09 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2015-05-08 15:01:09 -0400 |
commit | 9a55706221812e4b609320ed41b7b149da981e51 (patch) | |
tree | 84d038440e140779f425b9a23d66c8ff6328cc35 | |
parent | b787f68c36d49bb1d9236f403813641efa74a031 (diff) |
ARM: AM43xx: hwmod: add VPFE hwmod entries
This patch adds VPFE HWMOD data for AM43xx.
Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Tested-by: Benoit Parrot <bparrot@ti.com>
[paul@pwsan.com: updated to apply on v4.1-rc1]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 70 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prcm43xx.h | 3 |
2 files changed, 72 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index e2223148ba4d..17e8004fc20f 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c | |||
@@ -544,6 +544,44 @@ static struct omap_hwmod am43xx_hdq1w_hwmod = { | |||
544 | }, | 544 | }, |
545 | }; | 545 | }; |
546 | 546 | ||
547 | static struct omap_hwmod_class_sysconfig am43xx_vpfe_sysc = { | ||
548 | .rev_offs = 0x0, | ||
549 | .sysc_offs = 0x104, | ||
550 | .sysc_flags = SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE, | ||
551 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | ||
552 | MSTANDBY_FORCE | MSTANDBY_SMART | MSTANDBY_NO), | ||
553 | .sysc_fields = &omap_hwmod_sysc_type2, | ||
554 | }; | ||
555 | |||
556 | static struct omap_hwmod_class am43xx_vpfe_hwmod_class = { | ||
557 | .name = "vpfe", | ||
558 | .sysc = &am43xx_vpfe_sysc, | ||
559 | }; | ||
560 | |||
561 | static struct omap_hwmod am43xx_vpfe0_hwmod = { | ||
562 | .name = "vpfe0", | ||
563 | .class = &am43xx_vpfe_hwmod_class, | ||
564 | .clkdm_name = "l3s_clkdm", | ||
565 | .prcm = { | ||
566 | .omap4 = { | ||
567 | .modulemode = MODULEMODE_SWCTRL, | ||
568 | .clkctrl_offs = AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET, | ||
569 | }, | ||
570 | }, | ||
571 | }; | ||
572 | |||
573 | static struct omap_hwmod am43xx_vpfe1_hwmod = { | ||
574 | .name = "vpfe1", | ||
575 | .class = &am43xx_vpfe_hwmod_class, | ||
576 | .clkdm_name = "l3s_clkdm", | ||
577 | .prcm = { | ||
578 | .omap4 = { | ||
579 | .modulemode = MODULEMODE_SWCTRL, | ||
580 | .clkctrl_offs = AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET, | ||
581 | }, | ||
582 | }, | ||
583 | }; | ||
584 | |||
547 | /* Interfaces */ | 585 | /* Interfaces */ |
548 | static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { | 586 | static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = { |
549 | .master = &am33xx_l3_main_hwmod, | 587 | .master = &am33xx_l3_main_hwmod, |
@@ -825,6 +863,34 @@ static struct omap_hwmod_ocp_if am43xx_l4_ls__hdq1w = { | |||
825 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 863 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
826 | }; | 864 | }; |
827 | 865 | ||
866 | static struct omap_hwmod_ocp_if am43xx_l3__vpfe0 = { | ||
867 | .master = &am43xx_vpfe0_hwmod, | ||
868 | .slave = &am33xx_l3_main_hwmod, | ||
869 | .clk = "l3_gclk", | ||
870 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
871 | }; | ||
872 | |||
873 | static struct omap_hwmod_ocp_if am43xx_l3__vpfe1 = { | ||
874 | .master = &am43xx_vpfe1_hwmod, | ||
875 | .slave = &am33xx_l3_main_hwmod, | ||
876 | .clk = "l3_gclk", | ||
877 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
878 | }; | ||
879 | |||
880 | static struct omap_hwmod_ocp_if am43xx_l4_ls__vpfe0 = { | ||
881 | .master = &am33xx_l4_ls_hwmod, | ||
882 | .slave = &am43xx_vpfe0_hwmod, | ||
883 | .clk = "l4ls_gclk", | ||
884 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
885 | }; | ||
886 | |||
887 | static struct omap_hwmod_ocp_if am43xx_l4_ls__vpfe1 = { | ||
888 | .master = &am33xx_l4_ls_hwmod, | ||
889 | .slave = &am43xx_vpfe1_hwmod, | ||
890 | .clk = "l4ls_gclk", | ||
891 | .user = OCP_USER_MPU | OCP_USER_SDMA, | ||
892 | }; | ||
893 | |||
828 | static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | 894 | static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { |
829 | &am33xx_l4_wkup__synctimer, | 895 | &am33xx_l4_wkup__synctimer, |
830 | &am43xx_l4_ls__timer8, | 896 | &am43xx_l4_ls__timer8, |
@@ -925,6 +991,10 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | |||
925 | &am43xx_l4_ls__dss_dispc, | 991 | &am43xx_l4_ls__dss_dispc, |
926 | &am43xx_l4_ls__dss_rfbi, | 992 | &am43xx_l4_ls__dss_rfbi, |
927 | &am43xx_l4_ls__hdq1w, | 993 | &am43xx_l4_ls__hdq1w, |
994 | &am43xx_l3__vpfe0, | ||
995 | &am43xx_l3__vpfe1, | ||
996 | &am43xx_l4_ls__vpfe0, | ||
997 | &am43xx_l4_ls__vpfe1, | ||
928 | NULL, | 998 | NULL, |
929 | }; | 999 | }; |
930 | 1000 | ||
diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h index 48df3b55057e..d0261996db6d 100644 --- a/arch/arm/mach-omap2/prcm43xx.h +++ b/arch/arm/mach-omap2/prcm43xx.h | |||
@@ -144,5 +144,6 @@ | |||
144 | #define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0 | 144 | #define AM43XX_CM_PER_USBPHYOCP2SCP1_CLKCTRL_OFFSET 0x05C0 |
145 | #define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20 | 145 | #define AM43XX_CM_PER_DSS_CLKCTRL_OFFSET 0x0a20 |
146 | #define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0 | 146 | #define AM43XX_CM_PER_HDQ1W_CLKCTRL_OFFSET 0x04a0 |
147 | 147 | #define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068 | |
148 | #define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070 | ||
148 | #endif | 149 | #endif |