Commit e8efd25540a58153138fb11d1e4a2bb09b374874
Committed by
Rajendra Nayak
1 parent
9ec956287a
Exists in
ti-linux-3.12.y
and in
3 other branches
ARM: AM437x: hwmod: add vpfe[0,1] hwmod entries
HWMOD entries support for TI Dual Video Processing Front End (VPFE) (aka Dual cam) of AM43xx platform Signed-off-by: Benoit Parrot <bparrot@ti.com>
Showing 2 changed files with 58 additions and 0 deletions Side-by-side Diff
arch/arm/mach-omap2/omap_hwmod_33xx_data.c
... | ... | @@ -2716,6 +2716,60 @@ |
2716 | 2716 | .user = OCP_USER_MPU, |
2717 | 2717 | }; |
2718 | 2718 | |
2719 | +static struct omap_hwmod_class_sysconfig am43xx_vpfe_sysc = { | |
2720 | + .rev_offs = 0x0, | |
2721 | + .sysc_offs = 0x104, | |
2722 | + .sysc_flags = SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE, | |
2723 | + .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | |
2724 | + MSTANDBY_FORCE | MSTANDBY_SMART | MSTANDBY_NO), | |
2725 | + .sysc_fields = &omap_hwmod_sysc_type2, | |
2726 | +}; | |
2727 | + | |
2728 | +static struct omap_hwmod_class am43xx_vpfe_hwmod_class = { | |
2729 | + .name = "vpfe", | |
2730 | + .sysc = &am43xx_vpfe_sysc, | |
2731 | +}; | |
2732 | + | |
2733 | +static struct omap_hwmod am43xx_vpfe0_hwmod = { | |
2734 | + .name = "vpfe0", | |
2735 | + .class = &am43xx_vpfe_hwmod_class, | |
2736 | + .clkdm_name = "l3s_clkdm", | |
2737 | + .prcm = { | |
2738 | + .omap4 = { | |
2739 | + .modulemode = MODULEMODE_SWCTRL, | |
2740 | + .clkctrl_offs = AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET, | |
2741 | + }, | |
2742 | + }, | |
2743 | +}; | |
2744 | + | |
2745 | +static struct omap_hwmod_ocp_if am43xx_l3__vpfe0 = { | |
2746 | + .master = &am33xx_l3_main_hwmod, | |
2747 | + .slave = &am43xx_vpfe0_hwmod, | |
2748 | + .clk = "vpfe0_fck", | |
2749 | + .flags = OCPIF_SWSUP_IDLE, | |
2750 | + .user = OCP_USER_MPU, | |
2751 | +}; | |
2752 | + | |
2753 | +static struct omap_hwmod am43xx_vpfe1_hwmod = { | |
2754 | + .name = "vpfe1", | |
2755 | + .class = &am43xx_vpfe_hwmod_class, | |
2756 | + .clkdm_name = "l3s_clkdm", | |
2757 | + .prcm = { | |
2758 | + .omap4 = { | |
2759 | + .modulemode = MODULEMODE_SWCTRL, | |
2760 | + .clkctrl_offs = AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET, | |
2761 | + }, | |
2762 | + }, | |
2763 | +}; | |
2764 | + | |
2765 | +static struct omap_hwmod_ocp_if am43xx_l3__vpfe1 = { | |
2766 | + .master = &am33xx_l3_main_hwmod, | |
2767 | + .slave = &am43xx_vpfe1_hwmod, | |
2768 | + .clk = "vpfe1_fck", | |
2769 | + .flags = OCPIF_SWSUP_IDLE, | |
2770 | + .user = OCP_USER_MPU, | |
2771 | +}; | |
2772 | + | |
2719 | 2773 | #define CLKCTRL(oh, clkctrl) ((oh).prcm.omap4.clkctrl_offs = (clkctrl)) |
2720 | 2774 | |
2721 | 2775 | static void am43xx_hwmod_clkctrl(void) |
... | ... | @@ -2944,6 +2998,8 @@ |
2944 | 2998 | &am43xx_l4_ls__gpio5, |
2945 | 2999 | &am43xx_l3_main__pruss, |
2946 | 3000 | &am43xx_l3_main__des, |
3001 | + &am43xx_l3__vpfe0, | |
3002 | + &am43xx_l3__vpfe1, | |
2947 | 3003 | NULL, |
2948 | 3004 | }; |
2949 | 3005 |
arch/arm/mach-omap2/prcm43xx.h
... | ... | @@ -139,6 +139,8 @@ |
139 | 139 | #define AM43XX_CM_PER_SPI4_CLKCTRL_OFFSET 0x0520 |
140 | 140 | #define AM43XX_CM_PER_GPIO4_CLKCTRL_OFFSET 0x0490 |
141 | 141 | #define AM43XX_CM_PER_GPIO5_CLKCTRL_OFFSET 0x0498 |
142 | +#define AM43XX_CM_PER_VPFE0_CLKCTRL_OFFSET 0x0068 | |
143 | +#define AM43XX_CM_PER_VPFE1_CLKCTRL_OFFSET 0x0070 | |
142 | 144 | |
143 | 145 | #endif |