Re: [PATCH V3 1/2] ARM: dts: OMAP2+: Add SDMA controller bindings and nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+ Seb G.

Hi Jon,

How to you plan to merge that series?
Seb's just posted a McBSP adaptation to SDMA binding, so I'll have to
take this one before being able to merge any other SDMA driver
adaptation patches.

I'm fine to take that one, if you are OK, to avoid merge conflict in DTS
later.

On 02/26/2013 07:27 PM, Jon Hunter wrote:
> Add SDMA controller binding for OMAP2+ devices and populate DMA client
> information for SPI and MMC periperhal on OMAP3+ devices. Please note

typo-------------------------------^

> that OMAP24xx devices do not have SPI and MMC bindings available yet and
> so DMA client information is not populated.
> 
> Signed-off-by: Jon Hunter <jon-hunter@xxxxxx>
> Reviewed-by: Felipe Balbi <balbi@xxxxxx>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> Tested-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> ---
>  .../devicetree/bindings/dma/omap-sdma.txt          |   51 ++++++++++++++++++++

That's a detail, but the bindings should be introduced along with the
driver DT adaptation since it does represent its "interface".

>  arch/arm/boot/dts/omap2.dtsi                       |   12 +++++
>  arch/arm/boot/dts/omap3.dtsi                       |   40 +++++++++++++++
>  arch/arm/boot/dts/omap4.dtsi                       |   41 ++++++++++++++++
>  arch/arm/boot/dts/omap5.dtsi                       |   41 ++++++++++++++++
>  5 files changed, 185 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/omap-sdma.txt
> 
> diff --git a/Documentation/devicetree/bindings/dma/omap-sdma.txt b/Documentation/devicetree/bindings/dma/omap-sdma.txt
> new file mode 100644
> index 0000000..22aab28
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/omap-sdma.txt
> @@ -0,0 +1,51 @@
> +* TI OMAP SDMA controller
> +
> +Required properties:
> +- compatible:		Should be set to one of the following:
> +
> +			ti,omap2420-sdma (omap2420)
> +			ti,omap2430-sdma (omap2430)
> +			ti,omap3430-sdma (omap3430)
> +			ti,omap3630-sdma (omap3630)
> +			ti,omap4430-sdma (omap4430 & omap4460 & omap543x)
> +
> +- reg: 			Contains DMA registers location and length.
> +- interrupts: 		Contains DMA interrupt information.
> +- #dma-cells: 		Must be 1.
> +- #dma-channels:	Contains total number of programmable DMA channels.
> +- #dma-requests:	Contains total number of DMA requests.
> +
> +Example:
> +
> +	sdma: dma-controller@4A056000 {
> +		compatible = "ti,omap-sdma";
> +		reg = <0x4A056000 0x1000>;


Nit: you do have several hexa values in upper case, here and in some dts
as well.

Regards,
Benoit


> +		interrupts = <0 12 0x4>,
> +			     <0 13 0x4>,
> +			     <0 14 0x4>,
> +			     <0 15 0x4>;
> +		#dma-cells = <1>;
> +		#dma-channels = <32>;
> +		#dma-requests = <127>;
> +	};
> +
> +
> +* TI OMAP SDMA clients
> +
> +Required properties:
> +- dmas:			List of one or more DMA specifiers, each consisting of
> +			- A phandle pointing to DMA controller node
> +			- The DMA request number associated with client device
> +- dma-names: 		Contains one identifier string for each dma specifier in
> +			the dmas property. The specific strings that can be used
> +			are defined in the binding of the DMA client device.
> +
> +Example:
> +
> +	mmc1: mmc@4809c000 {
> +		...
> +		dmas = <&sdma 61>,	/* TX channel */
> +		       <&sdma 62>;	/* RX channel */
> +		dma-names = "tx", "rx";
> +		...
> +	};
> diff --git a/arch/arm/boot/dts/omap2.dtsi b/arch/arm/boot/dts/omap2.dtsi
> index 761c4b6..22dffa0 100644
> --- a/arch/arm/boot/dts/omap2.dtsi
> +++ b/arch/arm/boot/dts/omap2.dtsi
> @@ -49,6 +49,18 @@
>  			reg = <0x480FE000 0x1000>;
>  		};
>  
> +		sdma: dma-controller@48056000 {
> +			compatible = "ti,omap2430-sdma", "ti,omap2420-sdma";
> +			reg = <0x48056000 0x1000>;
> +			interrupts = <12>,
> +				     <13>,
> +				     <14>,
> +				     <15>;
> +			#dma-cells = <1>;
> +			#dma-channels = <32>;
> +			#dma-requests = <64>;
> +		};
> +
>  		uart1: serial@4806a000 {
>  			compatible = "ti,omap2-uart";
>  			ti,hwmods = "uart1";
> diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> index 1acc261..4e7acb6 100644
> --- a/arch/arm/boot/dts/omap3.dtsi
> +++ b/arch/arm/boot/dts/omap3.dtsi
> @@ -75,6 +75,18 @@
>  			reg = <0x48200000 0x1000>;
>  		};
>  
> +		sdma: dma-controller@48056000 {
> +			compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
> +			reg = <0x48056000 0x1000>;
> +			interrupts = <12>,
> +				     <13>,
> +				     <14>,
> +				     <15>;
> +			#dma-cells = <1>;
> +			#dma-channels = <32>;
> +			#dma-requests = <96>;
> +		};
> +
>  		omap3_pmx_core: pinmux@48002030 {
>  			compatible = "ti,omap3-padconf", "pinctrl-single";
>  			reg = <0x48002030 0x05cc>;
> @@ -192,6 +204,16 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi1";
>  			ti,spi-num-cs = <4>;
> +			dmas = <&sdma 35>,
> +			       <&sdma 36>,
> +			       <&sdma 37>,
> +			       <&sdma 38>,
> +			       <&sdma 39>,
> +			       <&sdma 40>,
> +			       <&sdma 41>,
> +			       <&sdma 42>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1",
> +				    "tx2", "rx2", "tx3", "rx3";
>  		};
>  
>  		mcspi2: spi@4809a000 {
> @@ -200,6 +222,11 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi2";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 43>,
> +			       <&sdma 44>,
> +			       <&sdma 45>,
> +			       <&sdma 46>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1";
>  		};
>  
>  		mcspi3: spi@480b8000 {
> @@ -208,6 +235,11 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi3";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 15>,
> +			       <&sdma 16>,
> +			       <&sdma 23>,
> +			       <&sdma 24>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1";
>  		};
>  
>  		mcspi4: spi@480ba000 {
> @@ -216,22 +248,30 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi4";
>  			ti,spi-num-cs = <1>;
> +			dmas = <&sdma 70>, <&sdma 71>;
> +			dma-names = "tx0", "rx0";
>  		};
>  
>  		mmc1: mmc@4809c000 {
>  			compatible = "ti,omap3-hsmmc";
>  			ti,hwmods = "mmc1";
>  			ti,dual-volt;
> +			dmas = <&sdma 61>, <&sdma 62>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc2: mmc@480b4000 {
>  			compatible = "ti,omap3-hsmmc";
>  			ti,hwmods = "mmc2";
> +			dmas = <&sdma 47>, <&sdma 48>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc3: mmc@480ad000 {
>  			compatible = "ti,omap3-hsmmc";
>  			ti,hwmods = "mmc3";
> +			dmas = <&sdma 77>, <&sdma 78>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		wdt2: wdt@48314000 {
> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
> index 739bb79..827f6f3 100644
> --- a/arch/arm/boot/dts/omap4.dtsi
> +++ b/arch/arm/boot/dts/omap4.dtsi
> @@ -118,6 +118,18 @@
>  			pinctrl-single,function-mask = <0x7fff>;
>  		};
>  
> +		sdma: dma-controller@4A056000 {
> +			compatible = "ti,omap4430-sdma";
> +			reg = <0x4A056000 0x1000>;
> +			interrupts = <0 12 0x4>,
> +				     <0 13 0x4>,
> +				     <0 14 0x4>,
> +				     <0 15 0x4>;
> +			#dma-cells = <1>;
> +			#dma-channels = <32>;
> +			#dma-requests = <127>;
> +		};
> +
>  		gpio1: gpio@4a310000 {
>  			compatible = "ti,omap4-gpio";
>  			reg = <0x4a310000 0x200>;
> @@ -260,6 +272,16 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi1";
>  			ti,spi-num-cs = <4>;
> +			dmas = <&sdma 35>,
> +			       <&sdma 36>,
> +			       <&sdma 37>,
> +			       <&sdma 38>,
> +			       <&sdma 39>,
> +			       <&sdma 40>,
> +			       <&sdma 41>,
> +			       <&sdma 42>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1",
> +				    "tx2", "rx2", "tx3", "rx3";
>  		};
>  
>  		mcspi2: spi@4809a000 {
> @@ -270,6 +292,11 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi2";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 43>,
> +			       <&sdma 44>,
> +			       <&sdma 45>,
> +			       <&sdma 46>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1";
>  		};
>  
>  		mcspi3: spi@480b8000 {
> @@ -280,6 +307,8 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi3";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 15>, <&sdma 16>;
> +			dma-names = "tx0", "rx0";
>  		};
>  
>  		mcspi4: spi@480ba000 {
> @@ -290,6 +319,8 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi4";
>  			ti,spi-num-cs = <1>;
> +			dmas = <&sdma 70>, <&sdma 71>;
> +			dma-names = "tx0", "rx0";
>  		};
>  
>  		mmc1: mmc@4809c000 {
> @@ -299,6 +330,8 @@
>  			ti,hwmods = "mmc1";
>  			ti,dual-volt;
>  			ti,needs-special-reset;
> +			dmas = <&sdma 61>, <&sdma 62>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc2: mmc@480b4000 {
> @@ -307,6 +340,8 @@
>  			interrupts = <0 86 0x4>;
>  			ti,hwmods = "mmc2";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 47>, <&sdma 48>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc3: mmc@480ad000 {
> @@ -315,6 +350,8 @@
>  			interrupts = <0 94 0x4>;
>  			ti,hwmods = "mmc3";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 77>, <&sdma 78>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc4: mmc@480d1000 {
> @@ -323,6 +360,8 @@
>  			interrupts = <0 96 0x4>;
>  			ti,hwmods = "mmc4";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 57>, <&sdma 58>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc5: mmc@480d5000 {
> @@ -331,6 +370,8 @@
>  			interrupts = <0 59 0x4>;
>  			ti,hwmods = "mmc5";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 59>, <&sdma 60>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		wdt2: wdt@4a314000 {
> diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
> index 9e182a9..06d21d6 100644
> --- a/arch/arm/boot/dts/omap5.dtsi
> +++ b/arch/arm/boot/dts/omap5.dtsi
> @@ -108,6 +108,18 @@
>  			      <0x48212000 0x1000>;
>  		};
>  
> +		sdma: dma-controller@4A056000 {
> +			compatible = "ti,omap4430-sdma";
> +			reg = <0x4A056000 0x1000>;
> +			interrupts = <0 12 0x4>,
> +				     <0 13 0x4>,
> +				     <0 14 0x4>,
> +				     <0 15 0x4>;
> +			#dma-cells = <1>;
> +			#dma-channels = <32>;
> +			#dma-requests = <127>;
> +		};
> +
>  		gpio1: gpio@4ae10000 {
>  			compatible = "ti,omap4-gpio";
>  			reg = <0x4ae10000 0x200>;
> @@ -249,6 +261,16 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi1";
>  			ti,spi-num-cs = <4>;
> +			dmas = <&sdma 35>,
> +			       <&sdma 36>,
> +			       <&sdma 37>,
> +			       <&sdma 38>,
> +			       <&sdma 39>,
> +			       <&sdma 40>,
> +			       <&sdma 41>,
> +			       <&sdma 42>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1",
> +				    "tx2", "rx2", "tx3", "rx3";
>  		};
>  
>  		mcspi2: spi@4809a000 {
> @@ -259,6 +281,11 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi2";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 43>,
> +			       <&sdma 44>,
> +			       <&sdma 45>,
> +			       <&sdma 46>;
> +			dma-names = "tx0", "rx0", "tx1", "rx1";
>  		};
>  
>  		mcspi3: spi@480b8000 {
> @@ -269,6 +296,8 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi3";
>  			ti,spi-num-cs = <2>;
> +			dmas = <&sdma 15>, <&sdma 16>;
> +			dma-names = "tx0", "rx0";
>  		};
>  
>  		mcspi4: spi@480ba000 {
> @@ -279,6 +308,8 @@
>  			#size-cells = <0>;
>  			ti,hwmods = "mcspi4";
>  			ti,spi-num-cs = <1>;
> +			dmas = <&sdma 70>, <&sdma 71>;
> +			dma-names = "tx0", "rx0";
>  		};
>  
>  		uart1: serial@4806a000 {
> @@ -336,6 +367,8 @@
>  			ti,hwmods = "mmc1";
>  			ti,dual-volt;
>  			ti,needs-special-reset;
> +			dmas = <&sdma 61>, <&sdma 62>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc2: mmc@480b4000 {
> @@ -344,6 +377,8 @@
>  			interrupts = <0 86 0x4>;
>  			ti,hwmods = "mmc2";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 47>, <&sdma 48>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc3: mmc@480ad000 {
> @@ -352,6 +387,8 @@
>  			interrupts = <0 94 0x4>;
>  			ti,hwmods = "mmc3";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 77>, <&sdma 78>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc4: mmc@480d1000 {
> @@ -360,6 +397,8 @@
>  			interrupts = <0 96 0x4>;
>  			ti,hwmods = "mmc4";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 57>, <&sdma 58>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		mmc5: mmc@480d5000 {
> @@ -368,6 +407,8 @@
>  			interrupts = <0 59 0x4>;
>  			ti,hwmods = "mmc5";
>  			ti,needs-special-reset;
> +			dmas = <&sdma 59>, <&sdma 60>;
> +			dma-names = "tx", "rx";
>  		};
>  
>  		keypad: keypad@4ae1c000 {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux