Hi Baolin, On Tue, Jan 22, 2019 at 3:23 AM Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > On Mon, 21 Jan 2019 at 21:53, Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > On Tue, Jan 15, 2019 at 7:47 AM Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > > > From: Lanqing Liu <lanqing.liu@xxxxxxxxxxxxxx> > > > > The email address should be updated with unisoc.com. > > Sure. > > > > > > Add the DMA properties for the SPI dma mode. > > > > > > Signed-off-by: Lanqing Liu <lanqing.liu@xxxxxxxxxxxxxx> > > > Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> > > > --- > > > Documentation/devicetree/bindings/spi/spi-sprd.txt | 9 +++++++++ > > > 1 file changed, 9 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/spi/spi-sprd.txt b/Documentation/devicetree/bindings/spi/spi-sprd.txt > > > index bad211a..01ef53f 100644 > > > --- a/Documentation/devicetree/bindings/spi/spi-sprd.txt > > > +++ b/Documentation/devicetree/bindings/spi/spi-sprd.txt > > > @@ -14,6 +14,12 @@ Required properties: > > > address on the SPI bus. Should be set to 1. > > > - #size-cells: Should be set to 0. > > > > > > +Optional properties: > > > +dma-names: Should contain names of the SPI used DMA channel. > > > +dmas: Should contain DMA channels which the SPI used sorted in the > > > + same order as the dma-names property. > > > +sprd,dma-slave-ids: Should contain the DMA number that the SPI hardware required. > > > + > > > Example: > > > spi0: spi@70a00000{ > > > compatible = "sprd,sc9860-spi"; > > > @@ -21,6 +27,9 @@ spi0: spi@70a00000{ > > > interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; > > > clock-names = "spi", "source","enable"; > > > clocks = <&clk_spi0>, <&ext_26m>, <&clk_ap_apb_gates 5>; > > > + dma-names = "rx_chn", "tx_chn"; > > > + dmas = <&apdma 11>, <&apdma 12>; > > > + sprd,dma-slave-ids = <11 12>; > > > > When would this be different values from what's in 'dmas'? > > Slave id is not always same with the DMA channel number in 'dmas', and > it is just coincident for SPI driver. Moreover for different SoC , the > slave ids for DMA engine consumers are not same. So we need one > property to specify the slave id for the consumers to trigger DMA > transfer. Perhaps the DMA controller should use #dma-cells = <2>, so you can specify the second value in the dmas property? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds