All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>, <robh+dt@kernel.org>,
	Tero Kristo <t-kristo@ti.com>, <linux-omap@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 10/11] ARM: DRA7: hwmod: Add data for McASP1/2/4/5/6/7/8
Date: Tue, 1 Mar 2016 18:43:29 +0200	[thread overview]
Message-ID: <56D5C6B1.6040005@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1603010900590.14948@utopia.booyaka.com>

Hi Paul,

On 03/01/2016 11:11 AM, Paul Walmsley wrote:
> Hi Péter
> 
> A few questions:
> 
> On Thu, 25 Feb 2016, Peter Ujfalusi wrote:
> 
>> Add missing data for all McASP ports for the dra7 family
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> 
> 1. The patch doesn't set the HWMOD_OPT_CLKS_NEEDED flag for McASP1 and 2, 
> but does set it for McASP4-8.  Could you please confirm that this is 
> intentional, and if so, why?

All should have the HWMOD_OPT_CLKS_NEEDED as both fclk and ahclkx is treated
as functional clock and needs to be available in order to be able to access
McASP registers.
Sorry, I can only test McASP3 and somehow I overlooked this when copy-pasting
the data.

> 2. The patch sets HWMOD_SWSUP_SIDLE for McASP1 and 2, but doesn't set it 
> for McASP4-8.  Could you please confirm that this is intentional, and if 
> so, why?  The descriptions of the MODULEMODE fields in SPRUHZ6 look 
> identical.

I need to confirm this, but all McASP should have the same set of flags.

> 
> 3. Can McASP1,2,3 bus-master onto the L3?  If so, then there should be 
> "dra7xx_mcasp1__l3_main_1"-style links to indicate this.

I need to check this, but I don't think McASP1,2,3 can be bus-master onto L3.

> 
> 
> - Paul

I can resend the series next week as I'm out of office this week.

-- 
Péter

> 
>> ---
>>  arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 235 ++++++++++++++++++++++++++++++
>>  1 file changed, 235 insertions(+)
>>
>> diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> index 3953ad031c43..3bd067afa702 100644
>> --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> @@ -1374,6 +1374,50 @@ static struct omap_hwmod_class dra7xx_mcasp_hwmod_class = {
>>  	.sysc	= &dra7xx_mcasp_sysc,
>>  };
>>  
>> +/* mcasp1 */
>> +static struct omap_hwmod_opt_clk mcasp1_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp1_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp1_hwmod = {
>> +	.name		= "mcasp1",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "ipu_clkdm",
>> +	.main_clk	= "mcasp1_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_IPU_MCASP1_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_IPU_MCASP1_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp1_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp1_opt_clks),
>> +};
>> +
>> +/* mcasp2 */
>> +static struct omap_hwmod_opt_clk mcasp2_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp2_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp2_hwmod = {
>> +	.name		= "mcasp2",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp2_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP2_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP2_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp2_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp2_opt_clks),
>> +};
>> +
>>  /* mcasp3 */
>>  static struct omap_hwmod_opt_clk mcasp3_opt_clks[] = {
>>  	{ .role = "ahclkx", .clk = "mcasp3_ahclkx_mux" },
>> @@ -1396,6 +1440,116 @@ static struct omap_hwmod dra7xx_mcasp3_hwmod = {
>>  	.opt_clks_cnt	= ARRAY_SIZE(mcasp3_opt_clks),
>>  };
>>  
>> +/* mcasp4 */
>> +static struct omap_hwmod_opt_clk mcasp4_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp4_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp4_hwmod = {
>> +	.name		= "mcasp4",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp4_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP4_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP4_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp4_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp4_opt_clks),
>> +};
>> +
>> +/* mcasp5 */
>> +static struct omap_hwmod_opt_clk mcasp5_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp5_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp5_hwmod = {
>> +	.name		= "mcasp5",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp5_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP5_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP5_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp5_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp5_opt_clks),
>> +};
>> +
>> +/* mcasp6 */
>> +static struct omap_hwmod_opt_clk mcasp6_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp6_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp6_hwmod = {
>> +	.name		= "mcasp6",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp6_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP6_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP6_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp6_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp6_opt_clks),
>> +};
>> +
>> +/* mcasp7 */
>> +static struct omap_hwmod_opt_clk mcasp7_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp7_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp7_hwmod = {
>> +	.name		= "mcasp7",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp7_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP7_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP7_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp7_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp7_opt_clks),
>> +};
>> +
>> +/* mcasp8 */
>> +static struct omap_hwmod_opt_clk mcasp8_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp8_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp8_hwmod = {
>> +	.name		= "mcasp8",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp8_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP8_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP8_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp8_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp8_opt_clks),
>> +};
>> +
>>  /*
>>   * 'mmc' class
>>   *
>> @@ -2703,6 +2857,38 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__hdmi = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp1 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp1 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp2 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp2 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per2 -> mcasp3 */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp3 = {
>>  	.master		= &dra7xx_l4_per2_hwmod,
>> @@ -2719,6 +2905,46 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp3 = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp4 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp4 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp4_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp5 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp5 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp5_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp6 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp6 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp6_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp7 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp7 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp7_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp8 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp8 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp8_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per1 -> elm */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per1__elm = {
>>  	.master		= &dra7xx_l4_per1_hwmod,
>> @@ -3461,8 +3687,17 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
>>  	&dra7xx_l4_wkup__dcan1,
>>  	&dra7xx_l4_per2__dcan2,
>>  	&dra7xx_l4_per2__cpgmac0,
>> +	&dra7xx_l4_per2__mcasp1,
>> +	&dra7xx_l3_main_1__mcasp1,
>> +	&dra7xx_l4_per2__mcasp2,
>> +	&dra7xx_l3_main_1__mcasp2,
>>  	&dra7xx_l4_per2__mcasp3,
>>  	&dra7xx_l3_main_1__mcasp3,
>> +	&dra7xx_l4_per2__mcasp4,
>> +	&dra7xx_l4_per2__mcasp5,
>> +	&dra7xx_l4_per2__mcasp6,
>> +	&dra7xx_l4_per2__mcasp7,
>> +	&dra7xx_l4_per2__mcasp8,
>>  	&dra7xx_gmac__mdio,
>>  	&dra7xx_l4_cfg__dma_system,
>>  	&dra7xx_l3_main_1__tpcc,
>> -- 
>> 2.7.1
>>
> 
> 
> - Paul
> 

WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: devicetree@vger.kernel.org, Tony Lindgren <tony@atomide.com>,
	linux-kernel@vger.kernel.org, Tero Kristo <t-kristo@ti.com>,
	robh+dt@kernel.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 10/11] ARM: DRA7: hwmod: Add data for McASP1/2/4/5/6/7/8
Date: Tue, 1 Mar 2016 18:43:29 +0200	[thread overview]
Message-ID: <56D5C6B1.6040005@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1603010900590.14948@utopia.booyaka.com>

Hi Paul,

On 03/01/2016 11:11 AM, Paul Walmsley wrote:
> Hi Péter
> 
> A few questions:
> 
> On Thu, 25 Feb 2016, Peter Ujfalusi wrote:
> 
>> Add missing data for all McASP ports for the dra7 family
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> 
> 1. The patch doesn't set the HWMOD_OPT_CLKS_NEEDED flag for McASP1 and 2, 
> but does set it for McASP4-8.  Could you please confirm that this is 
> intentional, and if so, why?

All should have the HWMOD_OPT_CLKS_NEEDED as both fclk and ahclkx is treated
as functional clock and needs to be available in order to be able to access
McASP registers.
Sorry, I can only test McASP3 and somehow I overlooked this when copy-pasting
the data.

> 2. The patch sets HWMOD_SWSUP_SIDLE for McASP1 and 2, but doesn't set it 
> for McASP4-8.  Could you please confirm that this is intentional, and if 
> so, why?  The descriptions of the MODULEMODE fields in SPRUHZ6 look 
> identical.

I need to confirm this, but all McASP should have the same set of flags.

> 
> 3. Can McASP1,2,3 bus-master onto the L3?  If so, then there should be 
> "dra7xx_mcasp1__l3_main_1"-style links to indicate this.

I need to check this, but I don't think McASP1,2,3 can be bus-master onto L3.

> 
> 
> - Paul

I can resend the series next week as I'm out of office this week.

-- 
Péter

> 
>> ---
>>  arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 235 ++++++++++++++++++++++++++++++
>>  1 file changed, 235 insertions(+)
>>
>> diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> index 3953ad031c43..3bd067afa702 100644
>> --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> @@ -1374,6 +1374,50 @@ static struct omap_hwmod_class dra7xx_mcasp_hwmod_class = {
>>  	.sysc	= &dra7xx_mcasp_sysc,
>>  };
>>  
>> +/* mcasp1 */
>> +static struct omap_hwmod_opt_clk mcasp1_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp1_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp1_hwmod = {
>> +	.name		= "mcasp1",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "ipu_clkdm",
>> +	.main_clk	= "mcasp1_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_IPU_MCASP1_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_IPU_MCASP1_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp1_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp1_opt_clks),
>> +};
>> +
>> +/* mcasp2 */
>> +static struct omap_hwmod_opt_clk mcasp2_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp2_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp2_hwmod = {
>> +	.name		= "mcasp2",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp2_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP2_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP2_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp2_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp2_opt_clks),
>> +};
>> +
>>  /* mcasp3 */
>>  static struct omap_hwmod_opt_clk mcasp3_opt_clks[] = {
>>  	{ .role = "ahclkx", .clk = "mcasp3_ahclkx_mux" },
>> @@ -1396,6 +1440,116 @@ static struct omap_hwmod dra7xx_mcasp3_hwmod = {
>>  	.opt_clks_cnt	= ARRAY_SIZE(mcasp3_opt_clks),
>>  };
>>  
>> +/* mcasp4 */
>> +static struct omap_hwmod_opt_clk mcasp4_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp4_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp4_hwmod = {
>> +	.name		= "mcasp4",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp4_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP4_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP4_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp4_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp4_opt_clks),
>> +};
>> +
>> +/* mcasp5 */
>> +static struct omap_hwmod_opt_clk mcasp5_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp5_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp5_hwmod = {
>> +	.name		= "mcasp5",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp5_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP5_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP5_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp5_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp5_opt_clks),
>> +};
>> +
>> +/* mcasp6 */
>> +static struct omap_hwmod_opt_clk mcasp6_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp6_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp6_hwmod = {
>> +	.name		= "mcasp6",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp6_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP6_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP6_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp6_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp6_opt_clks),
>> +};
>> +
>> +/* mcasp7 */
>> +static struct omap_hwmod_opt_clk mcasp7_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp7_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp7_hwmod = {
>> +	.name		= "mcasp7",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp7_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP7_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP7_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp7_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp7_opt_clks),
>> +};
>> +
>> +/* mcasp8 */
>> +static struct omap_hwmod_opt_clk mcasp8_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp8_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp8_hwmod = {
>> +	.name		= "mcasp8",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp8_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP8_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP8_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp8_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp8_opt_clks),
>> +};
>> +
>>  /*
>>   * 'mmc' class
>>   *
>> @@ -2703,6 +2857,38 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__hdmi = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp1 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp1 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp2 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp2 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per2 -> mcasp3 */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp3 = {
>>  	.master		= &dra7xx_l4_per2_hwmod,
>> @@ -2719,6 +2905,46 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp3 = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp4 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp4 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp4_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp5 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp5 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp5_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp6 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp6 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp6_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp7 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp7 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp7_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp8 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp8 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp8_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per1 -> elm */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per1__elm = {
>>  	.master		= &dra7xx_l4_per1_hwmod,
>> @@ -3461,8 +3687,17 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
>>  	&dra7xx_l4_wkup__dcan1,
>>  	&dra7xx_l4_per2__dcan2,
>>  	&dra7xx_l4_per2__cpgmac0,
>> +	&dra7xx_l4_per2__mcasp1,
>> +	&dra7xx_l3_main_1__mcasp1,
>> +	&dra7xx_l4_per2__mcasp2,
>> +	&dra7xx_l3_main_1__mcasp2,
>>  	&dra7xx_l4_per2__mcasp3,
>>  	&dra7xx_l3_main_1__mcasp3,
>> +	&dra7xx_l4_per2__mcasp4,
>> +	&dra7xx_l4_per2__mcasp5,
>> +	&dra7xx_l4_per2__mcasp6,
>> +	&dra7xx_l4_per2__mcasp7,
>> +	&dra7xx_l4_per2__mcasp8,
>>  	&dra7xx_gmac__mdio,
>>  	&dra7xx_l4_cfg__dma_system,
>>  	&dra7xx_l3_main_1__tpcc,
>> -- 
>> 2.7.1
>>
> 
> 
> - Paul
> 

WARNING: multiple messages have this Message-ID (diff)
From: peter.ujfalusi@ti.com (Peter Ujfalusi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/11] ARM: DRA7: hwmod: Add data for McASP1/2/4/5/6/7/8
Date: Tue, 1 Mar 2016 18:43:29 +0200	[thread overview]
Message-ID: <56D5C6B1.6040005@ti.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1603010900590.14948@utopia.booyaka.com>

Hi Paul,

On 03/01/2016 11:11 AM, Paul Walmsley wrote:
> Hi P?ter
> 
> A few questions:
> 
> On Thu, 25 Feb 2016, Peter Ujfalusi wrote:
> 
>> Add missing data for all McASP ports for the dra7 family
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> 
> 1. The patch doesn't set the HWMOD_OPT_CLKS_NEEDED flag for McASP1 and 2, 
> but does set it for McASP4-8.  Could you please confirm that this is 
> intentional, and if so, why?

All should have the HWMOD_OPT_CLKS_NEEDED as both fclk and ahclkx is treated
as functional clock and needs to be available in order to be able to access
McASP registers.
Sorry, I can only test McASP3 and somehow I overlooked this when copy-pasting
the data.

> 2. The patch sets HWMOD_SWSUP_SIDLE for McASP1 and 2, but doesn't set it 
> for McASP4-8.  Could you please confirm that this is intentional, and if 
> so, why?  The descriptions of the MODULEMODE fields in SPRUHZ6 look 
> identical.

I need to confirm this, but all McASP should have the same set of flags.

> 
> 3. Can McASP1,2,3 bus-master onto the L3?  If so, then there should be 
> "dra7xx_mcasp1__l3_main_1"-style links to indicate this.

I need to check this, but I don't think McASP1,2,3 can be bus-master onto L3.

> 
> 
> - Paul

I can resend the series next week as I'm out of office this week.

-- 
P?ter

> 
>> ---
>>  arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 235 ++++++++++++++++++++++++++++++
>>  1 file changed, 235 insertions(+)
>>
>> diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> index 3953ad031c43..3bd067afa702 100644
>> --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
>> @@ -1374,6 +1374,50 @@ static struct omap_hwmod_class dra7xx_mcasp_hwmod_class = {
>>  	.sysc	= &dra7xx_mcasp_sysc,
>>  };
>>  
>> +/* mcasp1 */
>> +static struct omap_hwmod_opt_clk mcasp1_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp1_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp1_hwmod = {
>> +	.name		= "mcasp1",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "ipu_clkdm",
>> +	.main_clk	= "mcasp1_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_IPU_MCASP1_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_IPU_MCASP1_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp1_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp1_opt_clks),
>> +};
>> +
>> +/* mcasp2 */
>> +static struct omap_hwmod_opt_clk mcasp2_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp2_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp2_hwmod = {
>> +	.name		= "mcasp2",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp2_aux_gfclk_mux",
>> +	.flags		= HWMOD_SWSUP_SIDLE,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP2_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP2_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp2_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp2_opt_clks),
>> +};
>> +
>>  /* mcasp3 */
>>  static struct omap_hwmod_opt_clk mcasp3_opt_clks[] = {
>>  	{ .role = "ahclkx", .clk = "mcasp3_ahclkx_mux" },
>> @@ -1396,6 +1440,116 @@ static struct omap_hwmod dra7xx_mcasp3_hwmod = {
>>  	.opt_clks_cnt	= ARRAY_SIZE(mcasp3_opt_clks),
>>  };
>>  
>> +/* mcasp4 */
>> +static struct omap_hwmod_opt_clk mcasp4_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp4_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp4_hwmod = {
>> +	.name		= "mcasp4",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp4_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP4_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP4_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp4_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp4_opt_clks),
>> +};
>> +
>> +/* mcasp5 */
>> +static struct omap_hwmod_opt_clk mcasp5_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp5_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp5_hwmod = {
>> +	.name		= "mcasp5",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp5_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP5_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP5_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp5_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp5_opt_clks),
>> +};
>> +
>> +/* mcasp6 */
>> +static struct omap_hwmod_opt_clk mcasp6_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp6_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp6_hwmod = {
>> +	.name		= "mcasp6",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp6_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP6_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP6_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp6_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp6_opt_clks),
>> +};
>> +
>> +/* mcasp7 */
>> +static struct omap_hwmod_opt_clk mcasp7_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp7_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp7_hwmod = {
>> +	.name		= "mcasp7",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp7_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP7_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP7_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp7_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp7_opt_clks),
>> +};
>> +
>> +/* mcasp8 */
>> +static struct omap_hwmod_opt_clk mcasp8_opt_clks[] = {
>> +	{ .role = "ahclkx", .clk = "mcasp8_ahclkx_mux" },
>> +};
>> +
>> +static struct omap_hwmod dra7xx_mcasp8_hwmod = {
>> +	.name		= "mcasp8",
>> +	.class		= &dra7xx_mcasp_hwmod_class,
>> +	.clkdm_name	= "l4per2_clkdm",
>> +	.main_clk	= "mcasp8_aux_gfclk_mux",
>> +	.flags		= HWMOD_OPT_CLKS_NEEDED,
>> +	.prcm = {
>> +		.omap4 = {
>> +			.clkctrl_offs = DRA7XX_CM_L4PER2_MCASP8_CLKCTRL_OFFSET,
>> +			.context_offs = DRA7XX_RM_L4PER2_MCASP8_CONTEXT_OFFSET,
>> +			.modulemode   = MODULEMODE_SWCTRL,
>> +		},
>> +	},
>> +	.opt_clks	= mcasp8_opt_clks,
>> +	.opt_clks_cnt	= ARRAY_SIZE(mcasp8_opt_clks),
>> +};
>> +
>>  /*
>>   * 'mmc' class
>>   *
>> @@ -2703,6 +2857,38 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__hdmi = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp1 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp1 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp1 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp1_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp2 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l3_main_1 -> mcasp2 */
>> +static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp2 = {
>> +	.master		= &dra7xx_l3_main_1_hwmod,
>> +	.slave		= &dra7xx_mcasp2_hwmod,
>> +	.clk		= "l3_iclk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per2 -> mcasp3 */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp3 = {
>>  	.master		= &dra7xx_l4_per2_hwmod,
>> @@ -2719,6 +2905,46 @@ static struct omap_hwmod_ocp_if dra7xx_l3_main_1__mcasp3 = {
>>  	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>>  };
>>  
>> +/* l4_per2 -> mcasp4 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp4 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp4_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp5 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp5 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp5_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp6 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp6 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp6_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp7 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp7 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp7_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>> +/* l4_per2 -> mcasp8 */
>> +static struct omap_hwmod_ocp_if dra7xx_l4_per2__mcasp8 = {
>> +	.master		= &dra7xx_l4_per2_hwmod,
>> +	.slave		= &dra7xx_mcasp8_hwmod,
>> +	.clk		= "l4_root_clk_div",
>> +	.user		= OCP_USER_MPU | OCP_USER_SDMA,
>> +};
>> +
>>  /* l4_per1 -> elm */
>>  static struct omap_hwmod_ocp_if dra7xx_l4_per1__elm = {
>>  	.master		= &dra7xx_l4_per1_hwmod,
>> @@ -3461,8 +3687,17 @@ static struct omap_hwmod_ocp_if *dra7xx_hwmod_ocp_ifs[] __initdata = {
>>  	&dra7xx_l4_wkup__dcan1,
>>  	&dra7xx_l4_per2__dcan2,
>>  	&dra7xx_l4_per2__cpgmac0,
>> +	&dra7xx_l4_per2__mcasp1,
>> +	&dra7xx_l3_main_1__mcasp1,
>> +	&dra7xx_l4_per2__mcasp2,
>> +	&dra7xx_l3_main_1__mcasp2,
>>  	&dra7xx_l4_per2__mcasp3,
>>  	&dra7xx_l3_main_1__mcasp3,
>> +	&dra7xx_l4_per2__mcasp4,
>> +	&dra7xx_l4_per2__mcasp5,
>> +	&dra7xx_l4_per2__mcasp6,
>> +	&dra7xx_l4_per2__mcasp7,
>> +	&dra7xx_l4_per2__mcasp8,
>>  	&dra7xx_gmac__mdio,
>>  	&dra7xx_l4_cfg__dma_system,
>>  	&dra7xx_l3_main_1__tpcc,
>> -- 
>> 2.7.1
>>
> 
> 
> - Paul
> 

  reply	other threads:[~2016-03-01 16:46 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-25 14:50 [PATCH 00/11] ARM: DTS/clk: DRA7 family: enable eDMA and audio updates Peter Ujfalusi
2016-02-25 14:50 ` Peter Ujfalusi
2016-02-25 14:50 ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 01/11] ARM: DTS: dra7: Move the sDMA crossbar node under l4_cfg/scm Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 02/11] ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1 Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-03-01  8:55   ` Paul Walmsley
2016-03-01  8:55     ` Paul Walmsley
2016-03-01  8:55     ` Paul Walmsley
2016-02-25 14:50 ` [PATCH 03/11] ARM: DTS: dra7: Enable eDMA Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 04/11] ARM: DTS: dra7: Use eDMA and add DAT port address for McASP3 Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 05/11] ARM: DTS: dra7-evm: Enable AFIFO use " Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 06/11] ARM: DTS: dra72-evm: " Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 07/11] ARM: DTS: am57xx-beagle-x15: Move clkout2 source selection to codec node Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 08/11] ARM: DTS: am57xx-beagle-x15: Enable AFIFO use for McASP3 Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 09/11] ARM: clk: dra7xx: Correct mcasp8_ahclkx_mux name Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50 ` [PATCH 10/11] ARM: DRA7: hwmod: Add data for McASP1/2/4/5/6/7/8 Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-03-01  9:11   ` Paul Walmsley
2016-03-01  9:11     ` Paul Walmsley
2016-03-01 16:43     ` Peter Ujfalusi [this message]
2016-03-01 16:43       ` Peter Ujfalusi
2016-03-01 16:43       ` Peter Ujfalusi
2016-03-01 17:01       ` Paul Walmsley
2016-03-01 17:01         ` Paul Walmsley
2016-03-03 11:13         ` Peter Ujfalusi
2016-03-03 11:13           ` Peter Ujfalusi
2016-03-03 11:13           ` Peter Ujfalusi
2016-03-03 15:38           ` Paul Walmsley
2016-03-03 15:38             ` Paul Walmsley
2016-03-03 15:38             ` Paul Walmsley
2016-02-25 14:50 ` [PATCH 11/11] ARM: DTS: dra7: Add nodes " Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi
2016-02-25 14:50   ` Peter Ujfalusi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56D5C6B1.6040005@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=robh+dt@kernel.org \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.