[RFC PATCH v3 2/5] Documentation: synopsys-dw-mshc: add bindings for idmac and edmac

Heiko Stübner heiko at sntech.de
Wed Aug 5 01:45:30 PDT 2015


Am Mittwoch, 5. August 2015, 16:43:20 schrieb Shawn Lin:
> 在 2015/8/5 16:27, Krzysztof Kozlowski 写道:
> > On 05.08.2015 17:17, Shawn Lin wrote:
> >> synopsys-dw-mshc supports three types of transfer mode. We add bindings
> >> and description for how to use them at runtime. Without idmac and edmac
> >> property, pio is the default transfer mode. Make sure that Idmac and
> >> emdac
> >> should not be used simultaneously.
> >> 
> >> Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com>
> >> ---
> >> 
> >> Changes in v3: None
> >> Changes in v2: None
> >> 
> >>   .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   | 41
> >>   ++++++++++++++++++++++ 1 file changed, 41 insertions(+)
> >> 
> >> diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> >> b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt index
> >> 346c609..30369cb 100644
> >> --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> >> +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> >> 
> >> @@ -75,6 +75,25 @@ Optional properties:
> >>   * vmmc-supply: The phandle to the regulator to use for vmmc.  If this
> >>   is
> >>   
> >>     specified we'll defer probe until we can find this regulator.
> >> 
> >> +* supports-idmac: Enables support for internal DMAC block within the
> >> Synopsys +  Designware Mobile Storage IP block. If supports-idmac
> >> property is present, then +  we MUST NOT add supports-edmac property
> >> since we'd assume that dw-mshc IP is +  integrated with only one type of
> >> dma master.
> >> +
> >> +* supports-edmac: Enables support for external DMAC block outside the
> >> Synopsys +  Designware Mobile Storage IP block. If supports-edmac
> >> property is present, then +  we MUST NOT add supports-idmac property
> >> since we'd assume that dw-mshc IP is +  integrated with only one type of
> >> dma master.
> >> +
> >> +  (Without "supports-idmac" and "supports-edmac", use PIO as default
> >> transfer mode)> 
> > Aren't you breaking here backward compatibility with existing DTB?
> > 
> > Best regards,
> > Krzysztof
> 
>   Thanks, Krzysztof.
>   I guess you mean that I should keep existing DTB w/o these two
> properties work fine using idmac?

yep


> >> +
> >> +* dmas: List of DMA specifiers with the controller specific format as
> >> described +  in the generic DMA client binding. This property should be
> >> combined with +  supports-edmac. Refer to dma.txt for details.
> >> +
> >> +* dma-names: DMA request names. Must be "rx-tx". And This property
> >> should be +  combined with supports-edmac. Refer to dma.txt for details.
> >> +

Similarly the use of an external dmac could simply be detected, by the 
presence of the dma-* properties. So when the machine defines dma channels use 
the external dma, otherwise the internal (or none). So you wouldn't need 
separate new properties at all.


> >> 
> >>   Aliases:
> >>   
> >>   - All the MSHC controller nodes should be represented in the aliases
> >>   node using>> 
> >> @@ -95,6 +114,8 @@ board specific portions as listed below.
> >> 
> >>   		#size-cells = <0>;
> >>   	
> >>   	};
> >> 
> >> +[board specific internal DMA resources]
> >> +
> >> 
> >>   	dwmmc0 at 12200000 {
> >>   	
> >>   		clock-frequency = <400000000>;
> >>   		clock-freq-min-max = <400000 200000000>;
> >> 
> >> @@ -106,4 +127,24 @@ board specific portions as listed below.
> >> 
> >>   		bus-width = <8>;
> >>   		cap-mmc-highspeed;
> >>   		cap-sd-highspeed;
> >> 
> >> +		supports-idmac;
> >> 
> >>   	};
> >> 
> >> +
> >> +[board specific generic DMA request binding]
> >> +
> >> +	dwmmc0 at 12200000 {
> >> +		clock-frequency = <400000000>;
> >> +		clock-freq-min-max = <400000 200000000>;
> >> +		num-slots = <1>;
> >> +		broken-cd;
> >> +		fifo-depth = <0x80>;
> >> +		card-detect-delay = <200>;
> >> +		vmmc-supply = <&buck8>;
> >> +		bus-width = <8>;
> >> +		cap-mmc-highspeed;
> >> +		cap-sd-highspeed;
> >> +		supports-edmac;
> >> +		dmas = <&pdma 12>;
> >> +		dma-names = "rx-tx";
> >> +	};
> >> +




More information about the Linux-rockchip mailing list