ASoC: Blackfin: update SPORT0 port selector (v2)
PATCH 1/1 ASoC: Blackfin: update SPORT0 port selector (v2)
From: Cliff Cai <[email protected]>
- Setting the TFS pin selector for SPORT 0 based on whether the selected port id F or G. If the port is F then no conflict should exist for the TFS. When Port G is selected and EMAC then there is a conflict between the PHY interrupt line and TFS. Current settings prevent the conflict by ignoring the TFS pin when Port G is selected. This allows both ssm2602 using Port G and EMAC concurrently.
- some code cleanup
--- sound/soc/blackfin/bf5xx-i2s.c | 34 ++++++++++++++++++++++------------ 1 files changed, 22 insertions(+), 12 deletions(-)
sound/soc/blackfin/bf5xx-i2s.c +22 -12
@@ -70,12 +70,24 @@ static struct sport_param sport_params[2] = { } }; -static u16 sport_req[][7 ] = { - {P_SPORT0_DTPRI ,P_SPORT0_TSCLK ,P_SPORT0_RFS , -P_SPORT0_DRPRI ,P_SPORT0_RSCLK ,0 }, - {P_SPORT1_DTPRI ,P_SPORT1_TSCLK ,P_SPORT1_RFS , -P_SPORT1_DRPRI ,P_SPORT1_RSCLK ,0 }, -}; +/* +* Setting the TFS pin selector for SPORT 0 based on whether the selected +* port id F or G. If the port is F then no conflict should exist for the +* TFS. When Port G is selected and EMAC then there is a conflict between +* the PHY interrupt line and TFS. Current settings prevent the conflict +* by ignoring the TFS pin when Port G is selected. This allows both +* ssm2602 using Port G and EMAC concurrently. +*/ +#ifdef CONFIG_BF527_SPORT0_PORTF +#define LOCAL_SPORT0_TFS (P_SPORT0_TFS) +#else +#define LOCAL_SPORT0_TFS (0) +#endif + +static u16 sport_req[][7 ] = { {P_SPORT0_DTPRI ,P_SPORT0_TSCLK ,P_SPORT0_RFS , +P_SPORT0_DRPRI ,P_SPORT0_RSCLK ,LOCAL_SPORT0_TFS ,0 }, + {P_SPORT1_DTPRI ,P_SPORT1_TSCLK ,P_SPORT1_RFS ,P_SPORT1_DRPRI , +P_SPORT1_RSCLK ,P_SPORT1_TFS ,0 } };static int bf5xx_i2s_set_dai_fmt (struct snd_soc_dai *cpu_dai,unsigned int fmt)
@@ -98,23 +110,21 @@ static int bf5xx_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai, ret = -EINVAL ;break ;default : +printk (KERN_ERR "%s: Unknown DAI format type\n" , __func__); ret = -EINVAL ;break ; }switch (fmt &SND_SOC_DAIFMT_MASTER_MASK ) { -case SND_SOC_DAIFMT_CBS_CFS : - ret = -EINVAL ; -break ; -case SND_SOC_DAIFMT_CBM_CFS : - ret = -EINVAL ; -break ;case SND_SOC_DAIFMT_CBM_CFM :break ; +case SND_SOC_DAIFMT_CBS_CFS : +case SND_SOC_DAIFMT_CBM_CFS :case SND_SOC_DAIFMT_CBS_CFM : ret = -EINVAL ;break ;default : +printk (KERN_ERR "%s: Unknown DAI master type\n" , __func__); ret = -EINVAL ;break ; }
Signature · 1 line
1.5.6
Quoted 9 lines · Bryan Wu
From: Cliff Cai <[email protected]>
- Setting the TFS pin selector for SPORT 0 based on whether the selected port id F or G. If the port is F then no conflict should exist for the TFS. When Port G is selected and EMAC then there is a conflict between the PHY interrupt line and TFS. Current settings prevent the conflict by ignoring the TFS pin when Port G is selected. This allows both ssm2602 using Port G and EMAC concurrently.
Quoted 4 lines
- some code cleanup
Signed-off-by Cliff Cai <[email protected]>Signed-off-by Bryan Wu <[email protected]>
At Mon, 27 Oct 2008 11:35:36 +0000,
Quoted 11 lines · Mark Brown
Quoted 9 lines · Bryan Wu
From: Cliff Cai <[email protected]>
- Setting the TFS pin selector for SPORT 0 based on whether the selected port id F or G. If the port is F then no conflict should exist for the TFS. When Port G is selected and EMAC then there is a conflict between the PHY interrupt line and TFS. Current settings prevent the conflict by ignoring the TFS pin when Port G is selected. This allows both ssm2602 using Port G and EMAC concurrently.
Quoted 6 lines
Quoted 4 lines
- some code cleanup
Signed-off-by Cliff Cai <[email protected]>Signed-off-by Bryan Wu <[email protected]>Acked-by Mark Brown <[email protected]>
Is this to be pushed for 2.6.28, or 2.6.29?
thanks,
Takashi