Message ID | 20160927055957.427-2-albert.aribaud@3adev.fr |
---|---|
State | Rejected |
Delegated to: | Cyrille Pitchen |
Headers | show |
On Tue, Sep 27, 2016 at 07:59:57AM +0200, Albert ARIBAUD (3ADEV) wrote: > Introduce spi-bus-width property for bus subnodes, to > specify per-bus capability to use NORMAL, FAST, DUAL, > and/or QUAD reads. > > Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> > --- > Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) Make this a common property. Rob
On Mon, Oct 3, 2016 at 8:51 PM, Rob Herring <robh@kernel.org> wrote: > On Tue, Sep 27, 2016 at 07:59:57AM +0200, Albert ARIBAUD (3ADEV) wrote: >> Introduce spi-bus-width property for bus subnodes, to >> specify per-bus capability to use NORMAL, FAST, DUAL, >> and/or QUAD reads. >> >> Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> >> --- >> Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) > > Make this a common property. They already exist: Documentation/devicetree/bindings/spi/spi-bus.txt: - spi-tx-bus-width - (optional) The bus width (number of data wires) that is used for MOSI. Defaults to 1 if not present. - spi-rx-bus-width - (optional) The bus width (number of data wires) that is used for MISO. Defaults to 1 if not present. The above are for normal/dual/quad. "Fast" is not a property of the bus, but of the SPI slave, right? Cfr. Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt: - m25p,fast-read : Use the "fast read" opcode to read data from the chip instead of the usual "read" opcode. This opcode is not supported by all chips and support for it can not be detected at runtime. Refer to your chips' datasheet to check if this is supported by your chip. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Hi Rob and Geert, Le Mon, 3 Oct 2016 21:57:58 +0200, Geert Uytterhoeven <geert@linux-m68k.org> a écrit : > On Mon, Oct 3, 2016 at 8:51 PM, Rob Herring <robh@kernel.org> wrote: > > On Tue, Sep 27, 2016 at 07:59:57AM +0200, Albert ARIBAUD (3ADEV) wrote: > >> Introduce spi-bus-width property for bus subnodes, to > >> specify per-bus capability to use NORMAL, FAST, DUAL, > >> and/or QUAD reads. > >> > >> Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> > >> --- > >> Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 18 ++++++++++++++++++ > >> 1 file changed, 18 insertions(+) > > > > Make this a common property. @Rob: do you mean common to all slaves, i.e. described in ./Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt? > They already exist: > > Documentation/devicetree/bindings/spi/spi-bus.txt: > - spi-tx-bus-width - (optional) The bus width (number of data wires) > that is used for MOSI. Defaults to 1 if not present. > - spi-rx-bus-width - (optional) The bus width (number of data wires) > that is used for MISO. Defaults to 1 if not present. > > The above are for normal/dual/quad. > > "Fast" is not a property of the bus, but of the SPI slave, right? Cfr. > > Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt: > - m25p,fast-read : Use the "fast read" opcode to read data from the > chip instead of the usual "read" opcode. This opcode is not supported > by all chips and support for it can not be detected at runtime. > Refer to your chips' datasheet to check if this is > supported by your chip. > > Gr{oetje,eeting}s, @Geert: the problem here is that on the board for which I wrote this patch, only one of the two NOR slaves can do quad SPI; the other one can do dual at best. Setting a bus property would prevent the quad-capable device from doing actual quad reads. The fsl-quadspi driver already supports per-NOR read and erase commands to support heterogeneous NOR setups. A per-NOR bus width property would make sense in this light. Cordialement, Albert ARIBAUD 3ADEV
On Tue, Oct 18, 2016 at 10:03 PM, Albert ARIBAUD <albert.aribaud@3adev.fr> wrote: > Le Mon, 3 Oct 2016 21:57:58 +0200, Geert Uytterhoeven > <geert@linux-m68k.org> a écrit : > >> On Mon, Oct 3, 2016 at 8:51 PM, Rob Herring <robh@kernel.org> wrote: >> > On Tue, Sep 27, 2016 at 07:59:57AM +0200, Albert ARIBAUD (3ADEV) wrote: >> >> Introduce spi-bus-width property for bus subnodes, to >> >> specify per-bus capability to use NORMAL, FAST, DUAL, >> >> and/or QUAD reads. >> >> >> >> Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> >> >> --- >> >> Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 18 ++++++++++++++++++ >> >> 1 file changed, 18 insertions(+) >> > >> > Make this a common property. > > @Rob: do you mean common to all slaves, i.e. described > in ./Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt? > >> They already exist: >> >> Documentation/devicetree/bindings/spi/spi-bus.txt: >> - spi-tx-bus-width - (optional) The bus width (number of data wires) >> that is used for MOSI. Defaults to 1 if not present. >> - spi-rx-bus-width - (optional) The bus width (number of data wires) >> that is used for MISO. Defaults to 1 if not present. >> >> The above are for normal/dual/quad. >> >> "Fast" is not a property of the bus, but of the SPI slave, right? Cfr. >> >> Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt: >> - m25p,fast-read : Use the "fast read" opcode to read data from the >> chip instead of the usual "read" opcode. This opcode is not supported >> by all chips and support for it can not be detected at runtime. >> Refer to your chips' datasheet to check if this is >> supported by your chip. >> >> Gr{oetje,eeting}s, > > @Geert: the problem here is that on the board for which I wrote this > patch, only one of the two NOR slaves can do quad SPI; the other one > can do dual at best. Setting a bus property would prevent the > quad-capable device from doing actual quad reads. > > The fsl-quadspi driver already supports per-NOR read and erase commands > to support heterogeneous NOR setups. A per-NOR bus width property would > make sense in this light. spi-[tx]x-bus-width is already a property for the SPI slave, not for the whole bus. So you can use 4 for the quad-capable device, and 1 or 2 for the other. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Hi Geert, Le Wed, 19 Oct 2016 08:57:27 +0200, Geert Uytterhoeven <geert@linux-m68k.org> a écrit : > > The fsl-quadspi driver already supports per-NOR read and erase commands > > to support heterogeneous NOR setups. A per-NOR bus width property would > > make sense in this light. > > spi-[tx]x-bus-width is already a property for the SPI slave, not for > the whole bus. > So you can use 4 for the quad-capable device, and 1 or 2 for the other. My bad, then -- I'll use these. > Gr{oetje,eeting}s, > > Geert Cordialement, Albert ARIBAUD 3ADEV
diff --git a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt index c34aa6f..82e4eb8 100644 --- a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt +++ b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt @@ -24,6 +24,17 @@ Optional properties: (Please check the board's schematic.) - big-endian : That means the IP register is big endian +Required subnode properties: + - spi-max-frequency: maximum operating frequency of the SPI device. + The controller will run at the lowest of all + specified frequencies (or at the default of 66 MHz). + +Optional subnode properties: + - spi-bus-width: if present, specifies how the decide should be read. + 1 specifies FAST read, 2 specifies DUAL read, and 4 + specifies QUAD read. + If absent, normal (non-FAST) reads are used. + Example: qspi0: quadspi@40044000 { @@ -37,5 +48,12 @@ qspi0: quadspi@40044000 { flash0: s25fl128s@0 { .... + spi-max-frequency = <66000000>; + spi-bus-width = <2>; + }; + flash1: s25fl128s@1 { + .... + spi-max-frequency = <88000000>; + spi-bus-width = <4>; }; };
Introduce spi-bus-width property for bus subnodes, to specify per-bus capability to use NORMAL, FAST, DUAL, and/or QUAD reads. Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> --- Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)