[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190403115146.GR11301@dell>
Date: Wed, 3 Apr 2019 12:51:46 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Mason Yang <masonccyang@...c.com.tw>
Cc: broonie@...nel.org, marek.vasut@...il.com,
linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org,
bbrezillon@...nel.org, dwmw2@...radead.org, robh+dt@...nel.org,
mark.rutland@....com, computersforpeace@...l.com,
paul.burton@...s.com, stefan@...er.ch, christophe.kerello@...com,
liang.yang@...ogic.com, geert@...ux-m68k.org,
devicetree@...r.kernel.org, marcel.ziswiler@...adex.com,
linux-mtd@...ts.infradead.org, richard@....at,
miquel.raynal@...tlin.com, juliensu@...c.com.tw,
zhengxunli@...c.com.tw
Subject: Re: [PATCH 4/7] dt-bindings: mfd: Document Macronix MX25F0A
controller bindings
On Thu, 28 Mar 2019, Mason Yang wrote:
> Document the bindings used by the Macronix MX25F0A MFD controller.
>
> Signed-off-by: Mason Yang <masonccyang@...c.com.tw>
> ---
> .../devicetree/bindings/mfd/mxic-mx25f0a.txt | 66 ++++++++++++++++++++++
> 1 file changed, 66 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/mxic-mx25f0a.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/mxic-mx25f0a.txt b/Documentation/devicetree/bindings/mfd/mxic-mx25f0a.txt
> new file mode 100644
> index 0000000..53b4839
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/mxic-mx25f0a.txt
> @@ -0,0 +1,66 @@
> +Macronix MX25F0A Multi-Function Device Tree Bindings
> +----------------------------------------------------
> +
> +MX25F0A is a MultiFunction Device with SPI and raw NAND, which
> +supports either spi host controller or raw nand controller.
> +
> +Required properties:
> +- compatible: should be "mxic,mx25f0a-mfd"
> +- #address-cells: should be 1
> +- #size-cells: should be 0
> +- reg: should contain 2 entries, one for the registers and one for the direct
> + mapping area in SPI mode.
> +- reg-names: should contain "regs" and "dirmap"
> +- interrupts: interrupt line connected to this MFD controller
> +
> +Required nodes:
> + - spi :
> + Node for configuring the SPI controller driver.
> + Required properties:
> + - compatible = "mxicy,mx25f0a-spi";
> + - clock-names: should contain "ps_clk", "send_clk" and
> + "send_dly_clk"
> + - clocks: should contain 3 entries for the "ps_clk", "send_clk"
> + and "send_dly_clk" clocks
> +
> +- nand :
> + Node for configuring the raw nand controller driver.
> + Required properties:
> + - compatible = "mxicy,mx25f0a-nand-ctlr";
> + - nand-ecc-mode = "soft";
> + - nand-ecc-algo = "bch";
> +
> +Example:
> +
> + mxic: mx25f0a-mfd@...30000 {
I'm not sure I understand why you are using an MFD for this.
> + compatible = "mxic,mx25f0a-mfd";
> + reg = <0x43c30000 0x10000>, <0xa0000000 0x4000000>;
> + reg-names = "regs", "dirmap";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* either spi or nand */
> + spi {
> + compatible = "mxicy,mx25f0a-spi";
> + clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
> + clock-names = "send_clk", "send_dly_clk", "ps_clk";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + flash@0 {
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <25000000>;
> + spi-tx-bus-width = <4>;
> + spi-rx-bus-width = <4>;
> + };
> + };
> +
> + nand {
> + compatible = "mxicy,mx25f0a-nand-ctlr";
> + nand-ecc-mode = "soft";
> + nand-ecc-algo = "bch";
> + nand-ecc-step-size = <512>;
> + nand-ecc-strength = <8>;
> + };
> + };
Why not just select one using device tree alone, by:
spi@...30000 {
compatible = "mxicy,mx25f0a-spi";
reg = <0x43c30000 0x10000>, <0xa0000000 0x4000000>;
reg-names = "regs", "dirmap";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
clock-names = "send_clk", "send_dly_clk", "ps_clk";
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
};
};
OR ...
nand@...30000 {
compatible = "mxicy,mx25f0a-nand-ctlr";
reg = <0x43c30000 0x10000>, <0xa0000000 0x4000000>;
reg-names = "regs", "dirmap";
#address-cells = <1>;
#size-cells = <0>;
nand-ecc-mode = "soft";
nand-ecc-algo = "bch";
nand-ecc-step-size = <512>;
nand-ecc-strength = <8>;
};
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
Powered by blists - more mailing lists