Message ID | 1435229673-2214-1-git-send-email-kernel@martin.sperl.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 linux-spi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 linux-spi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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>; +};