diff mbox

[V2] dt: brcm, bcm2835-aux-spi: add binding documentation for new spi-bcm2835aux

Message ID 1435229673-2214-1-git-send-email-kernel@martin.sperl.org
State Superseded, archived
Headers show

Commit Message

Martin Sperl June 25, 2015, 10:54 a.m. UTC
From: Martin Sperl <kernel@martin.sperl.org>

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
---
 .../bindings/spi/brcm,bcm2835-aux-spi.txt          |   35 ++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt

Changelog:
  V1 -> V2:	fixed typo
		added cs-gpios

Comments

Stefan Wahren July 2, 2015, 4:31 p.m. UTC | #1
Hi Martin,

Am 25.06.2015 um 12:54 schrieb kernel@martin.sperl.org:
> From: Martin Sperl <kernel@martin.sperl.org>
>
> Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
> ---
>   .../bindings/spi/brcm,bcm2835-aux-spi.txt          |   35 ++++++++++++++++++++
>   1 file changed, 35 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
>
> Changelog:
>    V1 -> V2:	fixed typo
> 		added cs-gpios
>
> diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
> new file mode 100644
> index 0000000..66f52d3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
> @@ -0,0 +1,35 @@
> +Broadcom BCM2835 auxiliar SPI1/2 controller
> +
> +The BCM2835 contains two forms of SPI master controller, one known simply as
> +SPI0, and the other known as the "Universal SPI Master"; part of the
> +auxiliary block. This binding applies to the SPI1/2 controller.
> +
> +Required properties:
> +- compatible: Should be "brcm,bcm2835-aux-spi".
> +- reg: Should contain register location and length for the spi block
> +       as well as for the common aux block control
> +- interrupts: Should contain shared interrupt of the aux block
> +- clocks: The clock feeding the SPI controller.
> +- cs-gpios: the cs-gpios (native cs is NOT supported)

it would be nice to reference to spi-bus.txt here, just like the other 
bindings does.

- cs-gpios: see spi-bus.txt (native chip-select is NOT supported)

Beside that try to get a feedback from the devicetree maintainers.

Stefan

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren July 11, 2015, 4:28 a.m. UTC | #2
On 06/25/2015 04:54 AM, kernel@martin.sperl.org wrote:
> From: Martin Sperl <kernel@martin.sperl.org>

Patch description? I'd suggest deriving this from the first paragraph in
the binding doc.

> diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt

> +The BCM2835 contains two forms of SPI master controller, one known simply as
> +SPI0, and the other known as the "Universal SPI Master"; part of the
> +auxiliary block. This binding applies to the SPI1/2 controller.

Rather than "SPI1/2", I'd say "this universal SPI master", since the
description of the two types of controller doesn't mention that SPI1/2
are the universal SPI master.

> +- reg: Should contain register location and length for the spi block
> +       as well as for the common aux block control

Sharing a reg entry between multiple devices almost always turns out to
be a mistake. At the very least, the drivers can't claim the region
since regions can't be claimed multiple times. Is there any way to avoid
this entirely?

If not, perhaps you need to create a separate driver to manage the
shared register block.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
new file mode 100644
index 0000000..66f52d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/brcm,bcm2835-aux-spi.txt
@@ -0,0 +1,35 @@ 
+Broadcom BCM2835 auxiliar SPI1/2 controller
+
+The BCM2835 contains two forms of SPI master controller, one known simply as
+SPI0, and the other known as the "Universal SPI Master"; part of the
+auxiliary block. This binding applies to the SPI1/2 controller.
+
+Required properties:
+- compatible: Should be "brcm,bcm2835-aux-spi".
+- reg: Should contain register location and length for the spi block
+       as well as for the common aux block control
+- interrupts: Should contain shared interrupt of the aux block
+- clocks: The clock feeding the SPI controller.
+- cs-gpios: the cs-gpios (native cs is NOT supported)
+
+Example:
+
+spi1@7e215080 {
+	compatible = "brcm,bcm2835-aux-spi";
+	reg = <0x7e215080 0x40>, <0x7e215000 0x08>;
+	interrupts = <1 29>;
+	clocks = <&clk_spi>;
+	#address-cells = <1>;
+	#size-cells = <0>;
+	cs-gpios = <&gpio 18>, <&gpio 17>, <&gpio 16>;
+};
+
+spi2@7e2150c0 {
+	compatible = "brcm,bcm2835-aux-spi";
+	reg = <0x7e2150c0 0x40>, <0x7e215000 0x08>;
+	interrupts = <1 29>;
+	clocks = <&clk_spi>;
+	#address-cells = <1>;
+	#size-cells = <0>;
+	cs-gpios = <&gpio 43>, <&gpio 44>, <&gpio 45>;
+};