@@ -383,6 +383,68 @@ static struct omap_hwmod dra7xx_dcan2_hwmod = {
383383 },
384384};
385385
386+ /* pwmss */
387+ static struct omap_hwmod_class_sysconfig dra7xx_epwmss_sysc = {
388+ .rev_offs = 0x0 ,
389+ .sysc_offs = 0x4 ,
390+ .sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET ,
391+ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART ),
392+ .sysc_fields = & omap_hwmod_sysc_type2 ,
393+ };
394+
395+ /*
396+ * epwmss class
397+ */
398+ static struct omap_hwmod_class dra7xx_epwmss_hwmod_class = {
399+ .name = "epwmss" ,
400+ .sysc = & dra7xx_epwmss_sysc ,
401+ };
402+
403+ /* epwmss0 */
404+ static struct omap_hwmod dra7xx_epwmss0_hwmod = {
405+ .name = "epwmss0" ,
406+ .class = & dra7xx_epwmss_hwmod_class ,
407+ .clkdm_name = "l4per2_clkdm" ,
408+ .main_clk = "l4_root_clk_div" ,
409+ .prcm = {
410+ .omap4 = {
411+ .modulemode = MODULEMODE_SWCTRL ,
412+ .clkctrl_offs = DRA7XX_CM_L4PER2_PWMSS1_CLKCTRL_OFFSET ,
413+ .context_offs = DRA7XX_RM_L4PER2_PWMSS1_CONTEXT_OFFSET ,
414+ },
415+ },
416+ };
417+
418+ /* epwmss1 */
419+ static struct omap_hwmod dra7xx_epwmss1_hwmod = {
420+ .name = "epwmss1" ,
421+ .class = & dra7xx_epwmss_hwmod_class ,
422+ .clkdm_name = "l4per2_clkdm" ,
423+ .main_clk = "l4_root_clk_div" ,
424+ .prcm = {
425+ .omap4 = {
426+ .modulemode = MODULEMODE_SWCTRL ,
427+ .clkctrl_offs = DRA7XX_CM_L4PER2_PWMSS2_CLKCTRL_OFFSET ,
428+ .context_offs = DRA7XX_RM_L4PER2_PWMSS2_CONTEXT_OFFSET ,
429+ },
430+ },
431+ };
432+
433+ /* epwmss2 */
434+ static struct omap_hwmod dra7xx_epwmss2_hwmod = {
435+ .name = "epwmss2" ,
436+ .class = & dra7xx_epwmss_hwmod_class ,
437+ .clkdm_name = "l4per2_clkdm" ,
438+ .main_clk = "l4_root_clk_div" ,
439+ .prcm = {
440+ .omap4 = {
441+ .modulemode = MODULEMODE_SWCTRL ,
442+ .clkctrl_offs = DRA7XX_CM_L4PER2_PWMSS3_CLKCTRL_OFFSET ,
443+ .context_offs = DRA7XX_RM_L4PER2_PWMSS3_CONTEXT_OFFSET ,
444+ },
445+ },
446+ };
447+
386448/*
387449 * 'dma' class
388450 *
@@ -3693,6 +3755,30 @@ static struct omap_hwmod_ocp_if dra7xx_l4_wkup__wd_timer2 = {
36933755 .user = OCP_USER_MPU | OCP_USER_SDMA ,
36943756};
36953757
3758+ /* l4_per2 -> epwmss0 */
3759+ static struct omap_hwmod_ocp_if dra7xx_l4_per2__epwmss0 = {
3760+ .master = & dra7xx_l4_per2_hwmod ,
3761+ .slave = & dra7xx_epwmss0_hwmod ,
3762+ .clk = "l4_root_clk_div" ,
3763+ .user = OCP_USER_MPU ,
3764+ };
3765+
3766+ /* l4_per2 -> epwmss1 */
3767+ static struct omap_hwmod_ocp_if dra7xx_l4_per2__epwmss1 = {
3768+ .master = & dra7xx_l4_per2_hwmod ,
3769+ .slave = & dra7xx_epwmss1_hwmod ,
3770+ .clk = "l4_root_clk_div" ,
3771+ .user = OCP_USER_MPU ,
3772+ };
3773+
3774+ /* l4_per2 -> epwmss2 */
3775+ static struct omap_hwmod_ocp_if dra7xx_l4_per2__epwmss2 = {
3776+ .master = & dra7xx_l4_per2_hwmod ,
3777+ .slave = & dra7xx_epwmss2_hwmod ,
3778+ .clk = "l4_root_clk_div" ,
3779+ .user = OCP_USER_MPU ,
3780+ };
3781+
36963782static struct omap_hwmod_ocp_if * dra7xx_hwmod_ocp_ifs [] __initdata = {
36973783 & dra7xx_l3_main_1__dmm ,
36983784 & dra7xx_l3_main_2__l3_instr ,
@@ -3814,6 +3900,9 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
38143900 & dra7xx_l3_main_1__vcp2 ,
38153901 & dra7xx_l4_per2__vcp2 ,
38163902 & dra7xx_l4_wkup__wd_timer2 ,
3903+ & dra7xx_l4_per2__epwmss0 ,
3904+ & dra7xx_l4_per2__epwmss1 ,
3905+ & dra7xx_l4_per2__epwmss2 ,
38173906 NULL ,
38183907};
38193908
0 commit comments