Commit e8efd25540a58153138fb11d1e4a2bb09b374874

Authored by Benoit Parrot
Committed by Rajendra Nayak
1 parent 9ec956287a

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