[U-Boot] [PATCH] spi: Tegra: add device tree binding doc for SPI and QSPI
Tom Warren
TWarren at nvidia.com
Fri Oct 23 19:52:18 CEST 2015
Stephen,
> -----Original Message-----
> From: Stephen Warren [mailto:swarren at wwwdotorg.org]
> Sent: Friday, October 23, 2015 10:26 AM
> To: Tom Warren <TWarren at nvidia.com>
> Cc: u-boot at lists.denx.de; jteki at openedev.com; Stephen Warren
> <swarren at nvidia.com>; tomcwarren3959 at gmail.com
> Subject: Re: [U-Boot] [PATCH] spi: Tegra: add device tree binding doc for SPI
> and QSPI
>
> On 10/23/2015 11:11 AM, Tom Warren wrote:
> > This patch adds the device tree binding doc for the Tegra114 SPI
> > controller and the Tegra210 QSPI controller.
>
> Initially, this should be sent as a Linux kernel patch, since the kernel currently
> holds the definitive repository for DT bindings.
>
> The binding should be based on the Tegra SPI binding present there, not on the
> non-standard binding for Tegra114 SPI that's evidently in the U-Boot tree.
This is a copy of the 'nvidia,tegra114-spi.txt' binding in the kernel (Documentation/devicetree/bindings/spi/). I removed the dma and reset fields, since they aren't required (or used) in U-Boot. I then added QSPI for T210, and named the file spi-tegra.txt. There wasn't a U-Boot SPI binding doc in U-Boot to start with.
>
> That would imply sending the patch to the people/lists listed in the following
> Linux kernel MAINTAINERS entry for DT bindings, plus at least the Tegra
> mailing list and maintainers too:
>
> OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> M: Rob Herring <robh+dt at kernel.org>
> M: Pawel Moll <pawel.moll at arm.com>
> M: Mark Rutland <mark.rutland at arm.com>
> M: Ian Campbell <ijc+devicetree at hellion.org.uk>
> M: Kumar Gala <galak at codeaurora.org>
> L: devicetree at vger.kernel.org
Since this is basically a copy of a kernel binding doc, I didn't know that was necessary. Is that policy for U-Boot binding docs? Jagan - you have a few of these in the SPI bindings - did you have them reviewed by kernel/DT folk first?
Regardless, I'll resend with those people/lists in CC. Which Tegra ML/maintainers did you also want in there?
>
> > diff --git a/doc/device-tree-bindings/spi/spi-tegra.txt
> > b/doc/device-tree-bindings/spi/spi-tegra.txt
> > new file mode 100644
> > index 0000000..e215efe
> > --- /dev/null
> > +++ b/doc/device-tree-bindings/spi/spi-tegra.txt
> > @@ -0,0 +1,47 @@
> > +NVIDIA Tegra114 SPI controller.
>
> Isn't this intended to be a binding for the QSPI controller?
Since there was no SPI binding, I included the Tegra114 SPI binding here. Note that other QSPI bindings exist here, for instance spi-cadence.txt. If you'd like two separate binding docs, I can do that, but this seemed more efficient.
>
> > +Required properties:
> > +- compatible : should be "nvidia,tegra114-spi".
>
> This should be "qspi" not "spi", assuming the HW really is different.
> This is a separate HW module, right?
Again, this is for the SPI controller, not QSPI. QSPI binding follows @ line 25 below.
>
> > +- reg: Should contain SPI registers location and length.
> > +- interrupts: Should contain SPI interrupts.
> > +- clocks : Should contain an entry for SPI clock.
>
> Reset- and DMA-related properties are missing here.
>
> You could mark the DMA properties optional, and leave it up to drivers to
> support PIO mode if the DMA properties are missing.
Will do.
>
> > +Recommended properties:
> > +- spi-max-frequency: Definition as per
> > + doc/device-tree-bindings/spi/spi-bus.txt
>
> That should use a relative path ("spi-bus.txt"), so that the same text applies
> irrespective of whether the file is contained within the Linux kernel or U-Boot
> source trees.
Linux binding uses an absolute path (Documentation/devicetree/bindings/spi/spi-bus.txt), so I copied their usage to point to our spi-bus.txt. I can change to a relative path.
>
> > +NVIDIA Tegra210 QSPI controller.
>
> The binding for Tegra114 and Tegra210 should be (and appears to be)
> identical. There's no need to duplicate the text. Instead, simply say something
> like the following for the compatible value in the one copy of the text:
>
> - compatible : should be one of the following:
> "nvidia,tegra114-qspi" (for Tegra114)
> "nvidia,tegra210-qspi" (for Tegra210)
>
Will do.
> However, if a driver that supports Tegra114 could operate correctly on
> Tegra210 without knowledge that it was running on different HW, the following
> compatible values area appropriate:
>
> - compatible : should be one of the following:
> "nvidia,tegra114-qspi" (for Tegra114)
> "nvidia,tegra210-qspi", "nvidia,tegra114-qspi" (for Tegra210)
Thanks,
Tom
--
nvpublic
More information about the U-Boot
mailing list