From: Geert Uytterhoeven <geert@linux-m68k.org> To: Chris Brandt <chris.brandt@renesas.com> Cc: Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>, linux-spi <linux-spi@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, Linux-Renesas <linux-renesas-soc@vger.kernel.org>, linux-clk <linux-clk@vger.kernel.org>, Mason Yang <masonccyang@mxic.com.tw>, Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Subject: Re: [PATCH 6/6] dt-bindings: spi: Document Renesas SPIBSC bindings Date: Tue, 3 Dec 2019 21:39:22 +0100 Message-ID: <CAMuHMdV7XY7FB9pBsxuWxGsqYaD9n1Y+XZXEJO5OsuigjjUgpw@mail.gmail.com> (raw) In-Reply-To: <CAMuHMdVBYpuoK7hcyNLK-mAdpTQz3ohTGXuYdFPHdpU5RoPr6Q@mail.gmail.com> Hi Chris, On Tue, Dec 3, 2019 at 7:57 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Tue, Dec 3, 2019 at 4:47 AM Chris Brandt <chris.brandt@renesas.com> wrote: > > Document the bindings used by the Renesas SPI bus space controller. > > > > Signed-off-by: Chris Brandt <chris.brandt@renesas.com> > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/spi/spi-renesas-spibsc.txt > > @@ -0,0 +1,48 @@ > > +Renesas SPI Bus Space Controller (SPIBSC) Device Tree Bindings > > + > > +Otherwise referred to as the "SPI Multi I/O Bus Controller" in SoC hardware > > +manuals. This controller was designed specifically for accessing SPI flash > > +devices. > > + > > +Required properties: > > +- compatible: should be an SoC-specific compatible value, followed by > > + "renesas,spibsc" as a fallback. > > + supported SoC-specific values are: > > + "renesas,r7s72100-spibsc" (RZ/A1) > > + "renesas,r7s9210-spibsc" (RZ/A2) > > Is the fallback valid for RZ/A1, which has its own special match entry > in the driver? > Will it be valid for R-Car Gen3? > If not, you may want to drop it completely. > > > +- reg: should contain three register areas: > > + first for the base address of SPIBSC registers, > > + second for the direct mapping read mode > > +- clocks: should contain the clock phandle/specifier pair for the module clock. > > +- power-domains: should contain the power domain phandle/specifier pair. > > +- #address-cells: should be 1 > > +- #size-cells: should be 0 > > +- flash: should be represented by a subnode of the SPIBSC node, > > + its "compatible" property contains "jedec,spi-nor" if SPI is used. > > What about the "mtd-rom" use for e.g. XIP? I gave this some more thought. Basically there are two modes: SPI FLASH and direct mapped emulation (HyperFLASH could be a third mode). The bindings described above are for the SPI FLASH use-case. For the direct mapped use-case, you need different bindings: 1. Append "simple-pm-bus" to the list of compatible values, 2. Add a "ranges" property, 3. The flash subnode becomes directly mapped, and must be compatible with "mtd-rom", cfr. the CFI FLASH on ape6evm: arch/arm/boot/dts/r8a73a4.dtsi:bus@fec10000 and arch/arm/boot/dts/r8a73a4-ape6evm.dts:flash@0. On the driver side, if your spibsc driver does not find a flash subnode that is compatible with "jedec,spi-nor", it should return -ENODEV, so drivers/bus/simple-pm-bus.c can take over for the second mode, if needed. Once you have added basic Runtime PM support to drivers/mtd/maps/physmap-core.c:physmap_flash_probe(), the module clock should be kept enabled through the clock domain when using direct mapped mode (hmm, as the driver currently lacks this, it means the FLASH on ape6evm must rely on the bsc module clock being kept enabled through the Ethernet controller connected to the same bsc module?). Does this make sense? Thanks! 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
next prev parent reply index Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-03 3:45 [PATCH 0/6] spi: Add Renesas SPIBSC controller Chris Brandt 2019-12-03 3:45 ` [PATCH 1/6] clk: renesas: mstp: Add critical clock from device tree support Chris Brandt 2019-12-03 18:32 ` Geert Uytterhoeven 2019-12-03 18:46 ` Chris Brandt 2019-12-03 18:51 ` Geert Uytterhoeven 2019-12-03 3:45 ` [PATCH 2/6] ARM: dts: r7s72100: Add SPIBSC clocks Chris Brandt 2019-12-03 18:42 ` Geert Uytterhoeven 2019-12-03 18:57 ` Chris Brandt 2019-12-03 19:12 ` Geert Uytterhoeven 2019-12-04 8:38 ` Lee Jones 2019-12-04 9:03 ` Geert Uytterhoeven 2019-12-04 9:47 ` Lee Jones 2019-12-04 11:00 ` Chris Brandt 2019-12-03 3:45 ` [PATCH 3/6] clk: renesas: r7s9210: Add SPIBSC clock Chris Brandt 2019-12-03 18:49 ` Geert Uytterhoeven 2019-12-03 19:09 ` Chris Brandt 2019-12-03 20:40 ` Geert Uytterhoeven 2019-12-04 3:09 ` Chris Brandt 2019-12-03 3:45 ` [PATCH 4/6] spi: Add SPIBSC driver Chris Brandt 2019-12-03 14:19 ` Mark Brown 2019-12-03 15:00 ` Chris Brandt 2019-12-03 18:29 ` Geert Uytterhoeven 2019-12-04 11:25 ` Mark Brown 2019-12-04 12:14 ` Geert Uytterhoeven 2019-12-04 15:51 ` Chris Brandt 2019-12-04 16:49 ` Mark Brown 2019-12-03 18:28 ` Geert Uytterhoeven 2019-12-04 11:18 ` Mark Brown 2019-12-04 22:12 ` Chris Brandt 2019-12-03 3:45 ` [PATCH 5/6] ARM: dts: r7s9210: Add SPIBSC Device support Chris Brandt 2019-12-03 18:59 ` Geert Uytterhoeven 2019-12-03 22:38 ` Chris Brandt 2019-12-04 7:57 ` Geert Uytterhoeven 2019-12-04 11:04 ` Chris Brandt 2019-12-03 3:45 ` [PATCH 6/6] dt-bindings: spi: Document Renesas SPIBSC bindings Chris Brandt 2019-12-03 9:14 ` Sergei Shtylyov 2019-12-03 13:27 ` Chris Brandt 2019-12-03 16:04 ` Sergei Shtylyov 2019-12-03 16:35 ` Chris Brandt 2019-12-03 18:57 ` Geert Uytterhoeven 2019-12-03 20:39 ` Geert Uytterhoeven [this message] 2019-12-04 2:54 ` Chris Brandt 2019-12-04 8:56 ` Geert Uytterhoeven 2019-12-04 13:31 ` Chris Brandt 2019-12-05 15:48 ` Geert Uytterhoeven 2019-12-05 16:00 ` Chris Brandt 2019-12-04 8:40 ` Geert Uytterhoeven 2019-12-03 22:33 ` Chris Brandt 2019-12-04 8:43 ` Geert Uytterhoeven 2019-12-04 11:19 ` Chris Brandt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAMuHMdV7XY7FB9pBsxuWxGsqYaD9n1Y+XZXEJO5OsuigjjUgpw@mail.gmail.com \ --to=geert@linux-m68k.org \ --cc=broonie@kernel.org \ --cc=chris.brandt@renesas.com \ --cc=devicetree@vger.kernel.org \ --cc=geert+renesas@glider.be \ --cc=linux-clk@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=linux-spi@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=masonccyang@mxic.com.tw \ --cc=mturquette@baylibre.com \ --cc=robh+dt@kernel.org \ --cc=sboyd@kernel.org \ --cc=sergei.shtylyov@cogentembedded.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Renesas-SoC Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-renesas-soc/0 linux-renesas-soc/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-renesas-soc linux-renesas-soc/ https://lore.kernel.org/linux-renesas-soc \ linux-renesas-soc@vger.kernel.org public-inbox-index linux-renesas-soc Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-renesas-soc AGPL code for this site: git clone https://public-inbox.org/public-inbox.git