ARM: dts: am33xx: fix DMA support for the second USB interface
PATCH 1/1 ARM: dts: am33xx: fix DMA support for the second USB interface
From: Yegor Yefremov <[email protected]>
This patch creates unique DMA channels for the second USB interface, otherwise the second USB interface is not usable at all.
--- arch/arm/boot/dts/am33xx.dtsi | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +6 -6
@@ -548,12 +548,12 @@ &cppi41dma 26 1 &cppi41dma 27 1 &cppi41dma 28 1 &cppi41dma 29 1>; dma-names = - "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", - "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", - "rx14", "rx15", - "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", - "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", - "tx14", "tx15"; + "rx16", "rx17", "rx18", "rx19", "rx20", "rx21", "rx22", + "rx23", "rx24", "rx25", "rx26", "rx27", "rx28", + "rx29", "rx30", + "tx16", "tx17", "tx18", "tx19", "tx20", "tx21", "tx22", + "tx23", "tx24", "tx25", "tx26", "tx27", "tx28", + "tx29", "tx30"; }; cppi41dma: dma-controller at 47402000 {
Signature · 1 line
1.7.7
PATCH 1/1 ARM: dts: am33xx: fix DMA support for the second USB interface
Quoted 5 lines · yegorslists at googlemail.com
From: Yegor Yefremov <[email protected]>
This patch creates unique DMA channels for the second USB interface, otherwise the second USB interface is not usable at all.
MUSB_DMA_NUM_CHANNELS is 15, so if you pass any dma-names > 15 (> rx15/tx15),
the dma_controller_create in musb_core.c fails and it falls back to PIO mode.
Quoted 29 lines
Signed-off-by Yegor Yefremov <[email protected]>--- arch/arm/boot/dts/am33xx.dtsi | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)arch/arm/boot/dts/am33xx.dtsi +6
-6@@ -548,12 +548,12 @@ &cppi41dma 26 1 &cppi41dma 27 1 &cppi41dma 28 1 &cppi41dma 29 1>; dma-names = - "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7", - "rx8", "rx9", "rx10", "rx11", "rx12", "rx13", - "rx14", "rx15", - "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", - "tx8", "tx9", "tx10", "tx11", "tx12", "tx13", - "tx14", "tx15"; + "rx16", "rx17", "rx18", "rx19", "rx20", "rx21", "rx22", + "rx23", "rx24", "rx25", "rx26", "rx27", "rx28", + "rx29", "rx30", + "tx16", "tx17", "tx18", "tx19", "tx20", "tx21", "tx22", + "tx23", "tx24", "tx25", "tx26", "tx27", "tx28", + "tx29", "tx30"; }; cppi41dma: dma-controller at 47402000 {
Signature · 1 line
-George
PATCH 1/1 ARM: dts: am33xx: fix DMA support for the second USB interface
Quoted 4 lines · George Cherian
Quoted 3 lines · yegorslists at googlemail.com
From: Yegor Yefremov <[email protected]>
Quoted 8 lines
Quoted 3 lines
This patch creates unique DMA channels for the second USB interface, otherwise the second USB interface is not usable at all.
MUSB_DMA_NUM_CHANNELSis 15, so if you pass any dma-names > 15 (> rx15/tx15),
thedma_controller_createinmusb_core.cfails and it falls back to PIO mode.
What's the proper fix for the DMA issue?
Yegor
PATCH 1/1 ARM: dts: am33xx: fix DMA support for the second USB interface
Quoted 4 lines · Yegor Yefremov
Quoted 3 lines · George Cherian
Quoted 2 lines · yegorslists at googlemail.com
From: Yegor Yefremov <[email protected]>
Quoted 8 lines
Quoted 7 lines
Quoted 3 lines
This patch creates unique DMA channels for the second USB interface, otherwise the second USB interface is not usable at all.
MUSB_DMA_NUM_CHANNELSis 15, so if you pass any dma-names > 15 (> rx15/tx15),
thedma_controller_createinmusb_core.cfails and it falls back to PIO mode.What's the proper fix for the DMA issue?
I could not understand what issue you are referring to.
In my setup I use both BBB and BBW (Beagle Bone Black/White)with one USB in host (USB1)
and one USB in gadget (USB0). I dont see any issues with DMA.
Can you be more specific?
Quoted 2 lines
Yegor
Signature · 1 line
-George
PATCH 1/1 ARM: dts: am33xx: fix DMA support for the second USB interface
Quoted 18 lines · George Cherian
Quoted 17 lines · Yegor Yefremov
Quoted 13 lines · George Cherian
Quoted 6 lines · yegorslists at googlemail.com
From: Yegor Yefremov <[email protected]>
This patch creates unique DMA channels for the second USB interface, otherwise the second USB interface is not usable at all.
MUSB_DMA_NUM_CHANNELSis 15, so if you pass any dma-names > 15 (> rx15/tx15),
thedma_controller_createinmusb_core.cfails and it falls back to PIO mode.
Quoted 8 lines
Quoted 1 line
What's the proper fix for the DMA issue?
I could not understand what issue you are referring to.
In my setup I use both BBB and BBW (Beagle Bone Black/White)with one USB in host (USB1)
and one USB in gadget (USB0). I dont see any issues with DMA.Can you be more specific?
I've totally overlooked the DMA channel allocation errors (though usb0 in host mode was working, usb1 in OTG not).
of_get_named_gpiod_flags: can't parse gpios property of node '/ocp/usb at 47400000/usb-phy at 47401300[0]' 47401300.usb-phy supply vcc not found, using dummy regulator musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517 platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferralof_get_named_gpiod_flags: can't parse gpios property of node '/ocp/usb at 47400000/usb-phy at 47401b00[0]' 47401b00.usb-phy supply vcc not found, using dummy regulator musb-hdrc musb-hdrc.1.auto: Failed to request rx1.
musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517 platform musb-hdrc.1.auto: Driver musb-hdrc requests probe deferral
This patch fixes the issue: "ARM: dts: am33xx: Move the cppi41dma node so it's probed early"
Thanks.
Yegor