Message ID | 1553847606-18122-4-git-send-email-masonccyang@mxic.com.tw (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mfd: Add Renesas R-Car Gen3 RPC-IF MFD driver | expand |
On 3/29/19 9:20 AM, Mason Yang wrote: > Document the bindings used by the Renesas R-Car Gen3 RPC-IF MFD controller. > > Signed-off-by: Mason Yang <masonccyang@mxic.com.tw> > --- > .../devicetree/bindings/mfd/mfd-renesas-rpc.txt | 57 ++++++++++++++++++++++ > 1 file changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > > diff --git a/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > new file mode 100644 > index 0000000..577986b > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > @@ -0,0 +1,57 @@ > +Renesas R-Car Gen3 RPC-IF MFD controller Device Tree Bindings > +--------------------------------------------------------------------- > + > +Required properties: > +- compatible: should be an SoC-specific compatible value, followed by > + "renesas,rcar-gen3-rpc" as a fallback. > + supported SoC-specific values are: > + "renesas,r8a77995-rpc" (R-Car D3) > +- reg: should contain three register areas: > + first for the base address of rpc-if registers, > + second for the direct mapping read mode and > + third for the write buffer area. > +- reg-names: should contain "regs", "dirmap" and "wbuf" > +- clocks: should contain 1 entries for the module's clock > +- clock-names: should contain "rpc" > +- #address-cells: should be 1 > +- #size-cells: should be 0 > + > +Required nodes: > + spi: > + Node for configuring the SPI controller driver. > + Required properties: > + compatible = "renesas,rcar-rpc-spi"; > + > + hf: > + Node for configuring the hyperflash controller driver. > + Required properties: > + compatible = "renesas,rcar-rpc-hf"; > + > +Example: > + > + rpc_mfd: rpc-mfd@ee200000 { > + compatible = "renesas,r8a77995-rpc", "renesas,rcar-gen3-rpc"; > + reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x4000000>, > + <0 0xee208000 0 0x100>; > + reg-names = "regs", "dirmap", "wbuf"; > + clocks = <&cpg CPG_MOD 917>; > + clock-names = "rpc"; > + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; > + resets = <&cpg 917>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + spi { Why is this subnode needed ? The MFD driver core can just check whether the flash@0 is jedec,spi-nor or cfi-flash and select mode of operation based on that. > + compatible = "renesas,rcar-rpc-spi"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <40000000>; > + spi-tx-bus-width = <1>; > + spi-rx-bus-width = <1>; > + }; > + }; > + }; >
Hello! On 03/29/2019 11:20 AM, Mason Yang wrote: > Document the bindings used by the Renesas R-Car Gen3 RPC-IF MFD controller. > > Signed-off-by: Mason Yang <masonccyang@mxic.com.tw> > --- > .../devicetree/bindings/mfd/mfd-renesas-rpc.txt | 57 ++++++++++++++++++++++ > 1 file changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > > diff --git a/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > new file mode 100644 > index 0000000..577986b > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt > @@ -0,0 +1,57 @@ > +Renesas R-Car Gen3 RPC-IF MFD controller Device Tree Bindings > +--------------------------------------------------------------------- Too many dashes. :-) > + > +Required properties: > +- compatible: should be an SoC-specific compatible value, followed by > + "renesas,rcar-gen3-rpc" as a fallback. > + supported SoC-specific values are: > + "renesas,r8a77995-rpc" (R-Car D3) > +- reg: should contain three register areas: > + first for the base address of rpc-if registers, > + second for the direct mapping read mode and > + third for the write buffer area. > +- reg-names: should contain "regs", "dirmap" and "wbuf" > +- clocks: should contain 1 entries for the module's clock > +- clock-names: should contain "rpc" What about the "power-domains" and "resets" props? > +- #address-cells: should be 1 > +- #size-cells: should be 0 Why? You don't have the "reg" props in the sub-devices... > + > +Required nodes: > + spi: > + Node for configuring the SPI controller driver. > + Required properties: > + compatible = "renesas,rcar-rpc-spi"; Sigh... you were supposed to only place the flash device sub-nodes under the "main" device node, we don't add the virtual devices to DT, there's no matching sub-device in the hardware. You don't have to describe these sub-devices in DT, you can register the simple platform devices. > + > + hf: > + Node for configuring the hyperflash controller driver. > + Required properties: > + compatible = "renesas,rcar-rpc-hf"; > + > +Example: > + > + rpc_mfd: rpc-mfd@ee200000 { Just "rpc: rpc-if@ee200000, please. [...] MBR, Sergei
diff --git a/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt new file mode 100644 index 0000000..577986b --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt @@ -0,0 +1,57 @@ +Renesas R-Car Gen3 RPC-IF MFD controller Device Tree Bindings +--------------------------------------------------------------------- + +Required properties: +- compatible: should be an SoC-specific compatible value, followed by + "renesas,rcar-gen3-rpc" as a fallback. + supported SoC-specific values are: + "renesas,r8a77995-rpc" (R-Car D3) +- reg: should contain three register areas: + first for the base address of rpc-if registers, + second for the direct mapping read mode and + third for the write buffer area. +- reg-names: should contain "regs", "dirmap" and "wbuf" +- clocks: should contain 1 entries for the module's clock +- clock-names: should contain "rpc" +- #address-cells: should be 1 +- #size-cells: should be 0 + +Required nodes: + spi: + Node for configuring the SPI controller driver. + Required properties: + compatible = "renesas,rcar-rpc-spi"; + + hf: + Node for configuring the hyperflash controller driver. + Required properties: + compatible = "renesas,rcar-rpc-hf"; + +Example: + + rpc_mfd: rpc-mfd@ee200000 { + compatible = "renesas,r8a77995-rpc", "renesas,rcar-gen3-rpc"; + reg = <0 0xee200000 0 0x200>, <0 0x08000000 0 0x4000000>, + <0 0xee208000 0 0x100>; + reg-names = "regs", "dirmap", "wbuf"; + clocks = <&cpg CPG_MOD 917>; + clock-names = "rpc"; + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; + resets = <&cpg 917>; + #address-cells = <1>; + #size-cells = <0>; + + spi { + compatible = "renesas,rcar-rpc-spi"; + #address-cells = <1>; + #size-cells = <0>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <1>; + }; + }; + };
Document the bindings used by the Renesas R-Car Gen3 RPC-IF MFD controller. Signed-off-by: Mason Yang <masonccyang@mxic.com.tw> --- .../devicetree/bindings/mfd/mfd-renesas-rpc.txt | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/mfd-renesas-rpc.txt