dt-bindings: convert mtk-quadspi binding doc for spi-mtk-nor
authorChuanhong Guo <gch981213@gmail.com>
Fri, 6 Mar 2020 08:50:51 +0000 (16:50 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 11 Mar 2020 19:56:08 +0000 (19:56 +0000)
spi-mtk-nor is a driver to replace mtk-quadspi and they have almost
the same device-tree bindings. Reuse this binding documentation and
convert it for new driver:

1. "Mediatek SoCs" -> "Mediatek ARM SoCs" because MTK MIPS SoCs
   use different controllers.
2. document "interrupts" as a required property because it's
   available on all SoCs with this controller and new driver takes
   advantages of it. It's implemented as optional only to maintain
   backward compatibility.
3. add a dummy interrupt binding in example.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Link: https://lore.kernel.org/r/20200306085052.28258-4-gch981213@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/mtd/mtk-quadspi.txt [deleted file]
Documentation/devicetree/bindings/spi/spi-mtk-nor.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/mtd/mtk-quadspi.txt b/Documentation/devicetree/bindings/mtd/mtk-quadspi.txt
deleted file mode 100644 (file)
index a12e3b5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-* Serial NOR flash controller for MediaTek SoCs
-
-Required properties:
-- compatible:    For mt8173, compatible should be "mediatek,mt8173-nor",
-                 and it's the fallback compatible for other Soc.
-                 For every other SoC, should contain both the SoC-specific compatible
-                 string and "mediatek,mt8173-nor".
-                 The possible values are:
-                 "mediatek,mt2701-nor", "mediatek,mt8173-nor"
-                 "mediatek,mt2712-nor", "mediatek,mt8173-nor"
-                 "mediatek,mt7622-nor", "mediatek,mt8173-nor"
-                 "mediatek,mt7623-nor", "mediatek,mt8173-nor"
-                 "mediatek,mt7629-nor", "mediatek,mt8173-nor"
-                 "mediatek,mt8173-nor"
-- reg:                   physical base address and length of the controller's register
-- clocks:        the phandle of the clocks needed by the nor controller
-- clock-names:           the names of the clocks
-                 the clocks should be named "spi" and "sf". "spi" is used for spi bus,
-                 and "sf" is used for controller, these are the clocks witch
-                 hardware needs to enabling nor flash and nor flash controller.
-                 See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
-- #address-cells: should be <1>
-- #size-cells:   should be <0>
-
-The SPI flash must be a child of the nor_flash node and must have a
-compatible property. Also see jedec,spi-nor.txt.
-
-Required properties:
-- compatible:    May include a device-specific string consisting of the manufacturer
-                 and name of the chip. Must also include "jedec,spi-nor" for any
-                 SPI NOR flash that can be identified by the JEDEC READ ID opcode (0x9F).
-- reg :                  Chip-Select number
-
-Example:
-
-nor_flash: spi@1100d000 {
-       compatible = "mediatek,mt8173-nor";
-       reg = <0 0x1100d000 0 0xe0>;
-       clocks = <&pericfg CLK_PERI_SPI>,
-                <&topckgen CLK_TOP_SPINFI_IFR_SEL>;
-       clock-names = "spi", "sf";
-       #address-cells = <1>;
-       #size-cells = <0>;
-
-       flash@0 {
-               compatible = "jedec,spi-nor";
-               reg = <0>;
-       };
-};
-
diff --git a/Documentation/devicetree/bindings/spi/spi-mtk-nor.txt b/Documentation/devicetree/bindings/spi/spi-mtk-nor.txt
new file mode 100644 (file)
index 0000000..984ae7f
--- /dev/null
@@ -0,0 +1,47 @@
+* Serial NOR flash controller for MediaTek ARM SoCs
+
+Required properties:
+- compatible:    For mt8173, compatible should be "mediatek,mt8173-nor",
+                 and it's the fallback compatible for other Soc.
+                 For every other SoC, should contain both the SoC-specific compatible
+                 string and "mediatek,mt8173-nor".
+                 The possible values are:
+                 "mediatek,mt2701-nor", "mediatek,mt8173-nor"
+                 "mediatek,mt2712-nor", "mediatek,mt8173-nor"
+                 "mediatek,mt7622-nor", "mediatek,mt8173-nor"
+                 "mediatek,mt7623-nor", "mediatek,mt8173-nor"
+                 "mediatek,mt7629-nor", "mediatek,mt8173-nor"
+                 "mediatek,mt8173-nor"
+- reg:                   physical base address and length of the controller's register
+- interrupts:    Interrupt number used by the controller.
+- clocks:        the phandle of the clocks needed by the nor controller
+- clock-names:           the names of the clocks
+                 the clocks should be named "spi" and "sf". "spi" is used for spi bus,
+                 and "sf" is used for controller, these are the clocks witch
+                 hardware needs to enabling nor flash and nor flash controller.
+                 See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
+- #address-cells: should be <1>
+- #size-cells:   should be <0>
+
+There should be only one spi slave device following generic spi bindings.
+It's not recommended to use this controller for devices other than SPI NOR
+flash due to limited transfer capability of this controller.
+
+Example:
+
+nor_flash: spi@1100d000 {
+       compatible = "mediatek,mt8173-nor";
+       reg = <0 0x1100d000 0 0xe0>;
+       interrupts = <&spi_flash_irq>;
+       clocks = <&pericfg CLK_PERI_SPI>,
+                <&topckgen CLK_TOP_SPINFI_IFR_SEL>;
+       clock-names = "spi", "sf";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+       };
+};
+