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@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@01c00000 { compatible = "ti,edma3-tpcc";
@@ -335,6 +352,32 @@ <&edma0 0 1>; dma-names = "tx", "rx"; };
mcbsp0: mcbsp@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