[alsa-devel] [PATCH 6/6] ARM: DTS: da850: Add McBSP0 and McBSP1

Peter Ujfalusi peter.ujfalusi at ti.com
Thu Apr 7 14:45:47 CEST 2016


On 04/07/16 15:16, Petr Kulhavy wrote:
> 
> On 07.04.2016 13:34, Peter Ujfalusi wrote:
>> On 04/06/16 16:21, Petr Kulhavy wrote:
>>> Add SoC nodes for McBSP0 and McBSP1 as well as the corresponding pinmux
>>> configurations.
>>>
>>> Signed-off-by: Petr Kulhavy <petr at barix.com>
>>> ---
>>>   arch/arm/boot/dts/da850.dtsi | 45
>>> +++++++++++++++++++++++++++++++++++++++++++-
>>>   1 file changed, 44 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
>>> index 5996e765e59c..9e2b1e97377c 100644
>>> --- a/arch/arm/boot/dts/da850.dtsi
>>> +++ b/arch/arm/boot/dts/da850.dtsi
>>> @@ -148,7 +148,24 @@
>>>                       0xc 0x88888888 0xffffffff
>>>                   >;
>>>               };
>>> -
>>> +            mcbsp0_pins: pinmux_mcbsp0_pins {
>>> +                pinctrl-single,bits = <
>>> +                    /* PINMUX2:
>>> +                    * CLKS0, DX0, DR0, FSX0
>>> +                    * FSR0, CLKX0, CLKR0
>>> +                    */
>>> +                    0x8 0x02222220 0xfffffff0
>>> +                >;
>>> +            };
>>> +            mcbsp1_pins: pinmux_mcbsp1_pins {
>>> +                pinctrl-single,bits = <
>>> +                    /* PINMUX1:
>>> +                    * CLKS1, DX1, DR1, FSX1,
>>> +                    * FSR1, CLKX1, CLKR1
>>> +                    */
>>> +                    0x4 0x22222220 0xfffffff0
>> This will conflict with the mcasp0_pins in da850-evm as AXR11 and AXR12 is
>> used by the board for audio. When I say conflict, I mean that audio will be
>> completely broken on the board.
> 
> I agree with you, the EVM uses the pins for other peripherals. However I
> understand that the da850.dtsi is a generic description of the DA850 platform.
> Other DA850 based designs that use the McBSP will not have conflicts. For
> instance my two AM1808 based boards don't use the McASP.
> Of course the board's DTS must enable only non-conflicting peripherals/pinmux
> configurations.
> But having the pinmuxes defined does not break anything and actually helps
> creating the DTS file.

I think what the da850.dtsi does is wrong. The dtsi file should not set any
pinmux, those need to be set by the board .dts files If one board uses McASP0,
it will set up the pins for that and leave McBSP pins as they were, but other
board might use McBSP1 and not use McASP0, there you will have pincontrol for
McBSP1.

> Or did I miss something?
> 
>>
>>> +                >;
>>> +            };
>>>           };
>>>           edma0: edma at 01c00000 {
>>>               compatible = "ti,edma3-tpcc";
>>> @@ -335,6 +352,32 @@
>>>                   <&edma0 0 1>;
>>>               dma-names = "tx", "rx";
>>>           };
>>> +
>>> +        mcbsp0: mcbsp at 1d10000 {
>>> +            compatible = "ti,da850-mcbsp-audio";
>>> +            reg =    <0x00110000 0x1000>,
>>> +                <0x00310000 0x1000>;
>>> +            reg-names = "mpu", "dat";
>>> +            interrupts = <97 98>;
>>> +            interrupts-names = "rx", "tx";
>>> +            dmas = <&edma0 3
>>> +                &edma0 2>;
>> This will not work since the eDMA now has the new binding in use, you need to
>> have:
>>             dmas = <&edma0 3 1>,
>>                 <&edma0 2 1>;
>>
>> McBSP should also select the higher priority TPTC as the McASP does.
> Absolutely, you are right! I still use the old DMA phandles. I will correct that.
> 
> Petr


-- 
Péter


More information about the Alsa-devel mailing list