Commit ed520c90 authored by Stephen Warren's avatar Stephen Warren

ARM: tegra: document use of standard DMA DT bindings

Update all the Tegra DT bindings to require the standard dmas/dma-names
properties rather than non-standard nvidia,dma-request-selector property.

This is a DT-ABI-incompatible change. It is the second of two changes
required for me to consider the Tegra DT bindings as stable, the other
being the previous conversion to the common reset bindings.
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
parent 07999587
...@@ -11,6 +11,10 @@ Required properties: ...@@ -11,6 +11,10 @@ Required properties:
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- dma - dma
- #dma-cells : Must be <1>. This dictates the length of DMA specifiers in
client nodes' dmas properties. The specifier represents the DMA request
select value for the peripheral. For more details, consult the Tegra TRM's
documentation of the APB DMA channel control register REQ_SEL field.
Examples: Examples:
...@@ -36,4 +40,5 @@ apbdma: dma@6000a000 { ...@@ -36,4 +40,5 @@ apbdma: dma@6000a000 {
clocks = <&tegra_car 34>; clocks = <&tegra_car 34>;
resets = <&tegra_car 34>; resets = <&tegra_car 34>;
reset-names = "dma"; reset-names = "dma";
#dma-cells = <1>;
}; };
...@@ -51,6 +51,11 @@ Required properties: ...@@ -51,6 +51,11 @@ Required properties:
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names: Must include the following entries: - reset-names: Must include the following entries:
- i2c - i2c
- dmas: Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names: Must include the following entries:
- rx
- tx
Example: Example:
...@@ -64,5 +69,7 @@ Example: ...@@ -64,5 +69,7 @@ Example:
clock-names = "div-clk", "fast-clk"; clock-names = "div-clk", "fast-clk";
resets = <&tegra_car 12>; resets = <&tegra_car 12>;
reset-names = "i2c"; reset-names = "i2c";
dmas = <&apbdma 16>, <&apbdma 16>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
...@@ -4,14 +4,17 @@ Required properties: ...@@ -4,14 +4,17 @@ Required properties:
- compatible : should be "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart". - compatible : should be "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
- reg: Should contain UART controller registers location and length. - reg: Should contain UART controller registers location and length.
- interrupts: Should contain UART controller interrupts. - interrupts: Should contain UART controller interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this UART controller.
- clocks: Must contain one entry, for the module clock. - clocks: Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details. See ../clocks/clock-bindings.txt for details.
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- serial - serial
- dmas : Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
Optional properties: Optional properties:
- nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable - nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable
...@@ -24,10 +27,11 @@ serial@70006000 { ...@@ -24,10 +27,11 @@ serial@70006000 {
reg = <0x70006000 0x40>; reg = <0x70006000 0x40>;
reg-shift = <2>; reg-shift = <2>;
interrupts = <0 36 0x04>; interrupts = <0 36 0x04>;
nvidia,dma-request-selector = <&apbdma 8>;
nvidia,enable-modem-interrupt; nvidia,enable-modem-interrupt;
clocks = <&tegra_car 6>; clocks = <&tegra_car 6>;
resets = <&tegra_car 6>; resets = <&tegra_car 6>;
reset-names = "serial"; reset-names = "serial";
dmas = <&apbdma 8>, <&apbdma 8>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
...@@ -4,14 +4,17 @@ Required properties: ...@@ -4,14 +4,17 @@ Required properties:
- compatible : "nvidia,tegra20-ac97" - compatible : "nvidia,tegra20-ac97"
- reg : Should contain AC97 controller registers location and length - reg : Should contain AC97 controller registers location and length
- interrupts : Should contain AC97 interrupt - interrupts : Should contain AC97 interrupt
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- ac97 - ac97
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - dmas : Must contain an entry for each entry in clock-names.
request selector for the AC97 controller See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number - nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number
of the GPIO used to reset the external AC97 codec of the GPIO used to reset the external AC97 codec
- nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number - nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number
...@@ -23,10 +26,11 @@ ac97@70002000 { ...@@ -23,10 +26,11 @@ ac97@70002000 {
compatible = "nvidia,tegra20-ac97"; compatible = "nvidia,tegra20-ac97";
reg = <0x70002000 0x200>; reg = <0x70002000 0x200>;
interrupts = <0 81 0x04>; interrupts = <0 81 0x04>;
nvidia,dma-request-selector = <&apbdma 12>;
nvidia,codec-reset-gpio = <&gpio 170 0>; nvidia,codec-reset-gpio = <&gpio 170 0>;
nvidia,codec-sync-gpio = <&gpio 120 0>; nvidia,codec-sync-gpio = <&gpio 120 0>;
clocks = <&tegra_car 3>; clocks = <&tegra_car 3>;
resets = <&tegra_car 3>; resets = <&tegra_car 3>;
reset-names = "ac97"; reset-names = "ac97";
dmas = <&apbdma 12>, <&apbdma 12>;
dma-names = "rx", "tx";
}; };
...@@ -4,14 +4,17 @@ Required properties: ...@@ -4,14 +4,17 @@ Required properties:
- compatible : "nvidia,tegra20-i2s" - compatible : "nvidia,tegra20-i2s"
- reg : Should contain I2S registers location and length - reg : Should contain I2S registers location and length
- interrupts : Should contain I2S interrupt - interrupts : Should contain I2S interrupt
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- i2s - i2s
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and - dmas : Must contain an entry for each entry in clock-names.
request selector for this I2S controller See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
- clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details.
Example: Example:
...@@ -19,8 +22,9 @@ i2s@70002800 { ...@@ -19,8 +22,9 @@ i2s@70002800 {
compatible = "nvidia,tegra20-i2s"; compatible = "nvidia,tegra20-i2s";
reg = <0x70002800 0x200>; reg = <0x70002800 0x200>;
interrupts = < 45 >; interrupts = < 45 >;
nvidia,dma-request-selector = < &apbdma 2 >;
clocks = <&tegra_car 11>; clocks = <&tegra_car 11>;
resets = <&tegra_car 11>; resets = <&tegra_car 11>;
reset-names = "i2s"; reset-names = "i2s";
dmas = <&apbdma 21>, <&apbdma 21>;
dma-names = "rx", "tx";
}; };
...@@ -7,11 +7,6 @@ Required properties: ...@@ -7,11 +7,6 @@ Required properties:
- Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks. - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
- Tegra114 requires an additional entry, for the APBIF2 register block. - Tegra114 requires an additional entry, for the APBIF2 register block.
- interrupts : Should contain AHUB interrupt - interrupts : Should contain AHUB interrupt
- nvidia,dma-request-selector : A list of the DMA channel specifiers. Each
entry contains the Tegra DMA controller's phandle and request selector.
If a single entry is present, the request selectors for the channels are
assumed to be contiguous, and increment from this value.
If multiple values are given, one value must be given per channel.
- clocks : Must contain an entry for each entry in clock-names. - clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details. See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
...@@ -37,6 +32,14 @@ Required properties: ...@@ -37,6 +32,14 @@ Required properties:
- adx - adx
- ranges : The bus address mapping for the configlink register bus. - ranges : The bus address mapping for the configlink register bus.
Can be empty since the mapping is 1:1. Can be empty since the mapping is 1:1.
- dmas : Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx0 .. rx<n>
- tx0 .. tx<n>
... where n is:
Tegra30: 3
Tegra114, Tegra124: 9
- #address-cells : For the configlink bus. Should be <1>; - #address-cells : For the configlink bus. Should be <1>;
- #size-cells : For the configlink bus. Should be <1>. - #size-cells : For the configlink bus. Should be <1>.
...@@ -62,6 +65,11 @@ ahub@70080000 { ...@@ -62,6 +65,11 @@ ahub@70080000 {
reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
"i2s3", "i2s4", "dam0", "dam1", "dam2", "i2s3", "i2s4", "dam0", "dam1", "dam2",
"spdif"; "spdif";
dmas = <&apbdma 1>, <&apbdma 1>;
<&apbdma 2>, <&apbdma 2>;
<&apbdma 3>, <&apbdma 3>;
<&apbdma 4>, <&apbdma 4>;
dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", "rx3", "tx3";
ranges; ranges;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
......
...@@ -4,16 +4,19 @@ Required properties: ...@@ -4,16 +4,19 @@ Required properties:
- compatible : should be "nvidia,tegra114-spi". - compatible : should be "nvidia,tegra114-spi".
- reg: Should contain SPI registers location and length. - reg: Should contain SPI registers location and length.
- interrupts: Should contain SPI interrupts. - interrupts: Should contain SPI interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SPI controller.
- clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names : Must include the following entries: - clock-names : Must include the following entries:
- spi - spi
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- spi - spi
- dmas : Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
- clocks : Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -24,7 +27,6 @@ spi@7000d600 { ...@@ -24,7 +27,6 @@ spi@7000d600 {
compatible = "nvidia,tegra114-spi"; compatible = "nvidia,tegra114-spi";
reg = <0x7000d600 0x200>; reg = <0x7000d600 0x200>;
interrupts = <0 82 0x04>; interrupts = <0 82 0x04>;
nvidia,dma-request-selector = <&apbdma 16>;
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -32,5 +34,7 @@ spi@7000d600 { ...@@ -32,5 +34,7 @@ spi@7000d600 {
clock-names = "spi"; clock-names = "spi";
resets = <&tegra_car 44>; resets = <&tegra_car 44>;
reset-names = "spi"; reset-names = "spi";
dmas = <&apbdma 16>, <&apbdma 16>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
...@@ -4,14 +4,17 @@ Required properties: ...@@ -4,14 +4,17 @@ Required properties:
- compatible : should be "nvidia,tegra20-sflash". - compatible : should be "nvidia,tegra20-sflash".
- reg: Should contain SFLASH registers location and length. - reg: Should contain SFLASH registers location and length.
- interrupts: Should contain SFLASH interrupts. - interrupts: Should contain SFLASH interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SFLASH controller.
- clocks : Must contain one entry, for the module clock. - clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details. See ../clocks/clock-bindings.txt for details.
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- spi - spi
- dmas : Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -23,12 +26,13 @@ spi@7000c380 { ...@@ -23,12 +26,13 @@ spi@7000c380 {
compatible = "nvidia,tegra20-sflash"; compatible = "nvidia,tegra20-sflash";
reg = <0x7000c380 0x80>; reg = <0x7000c380 0x80>;
interrupts = <0 39 0x04>; interrupts = <0 39 0x04>;
nvidia,dma-request-selector = <&apbdma 16>;
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&tegra_car 43>; clocks = <&tegra_car 43>;
resets = <&tegra_car 43>; resets = <&tegra_car 43>;
reset-names = "spi"; reset-names = "spi";
dmas = <&apbdma 11>, <&apbdma 11>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
...@@ -4,14 +4,17 @@ Required properties: ...@@ -4,14 +4,17 @@ Required properties:
- compatible : should be "nvidia,tegra20-slink", "nvidia,tegra30-slink". - compatible : should be "nvidia,tegra20-slink", "nvidia,tegra30-slink".
- reg: Should contain SLINK registers location and length. - reg: Should contain SLINK registers location and length.
- interrupts: Should contain SLINK interrupts. - interrupts: Should contain SLINK interrupts.
- nvidia,dma-request-selector : The Tegra DMA controller's phandle and
request selector for this SLINK controller.
- clocks : Must contain one entry, for the module clock. - clocks : Must contain one entry, for the module clock.
See ../clocks/clock-bindings.txt for details. See ../clocks/clock-bindings.txt for details.
- resets : Must contain an entry for each entry in reset-names. - resets : Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details. See ../reset/reset.txt for details.
- reset-names : Must include the following entries: - reset-names : Must include the following entries:
- spi - spi
- dmas : Must contain an entry for each entry in clock-names.
See ../dma/dma.txt for details.
- dma-names : Must include the following entries:
- rx
- tx
Recommended properties: Recommended properties:
- spi-max-frequency: Definition as per - spi-max-frequency: Definition as per
...@@ -23,12 +26,13 @@ spi@7000d600 { ...@@ -23,12 +26,13 @@ spi@7000d600 {
compatible = "nvidia,tegra20-slink"; compatible = "nvidia,tegra20-slink";
reg = <0x7000d600 0x200>; reg = <0x7000d600 0x200>;
interrupts = <0 82 0x04>; interrupts = <0 82 0x04>;
nvidia,dma-request-selector = <&apbdma 16>;
spi-max-frequency = <25000000>; spi-max-frequency = <25000000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&tegra_car 44>; clocks = <&tegra_car 44>;
resets = <&tegra_car 44>; resets = <&tegra_car 44>;
reset-names = "spi"; reset-names = "spi";
dmas = <&apbdma 16>, <&apbdma 16>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment