Commit a3c5a11d authored by Maxime Ripard's avatar Maxime Ripard Committed by Miquel Raynal
Browse files

dt-bindings: mtd: sunxi-nand: Add YAML schemas



Switch the DT binding to a YAML schema to enable the DT validation.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 212e4969
Loading
Loading
Loading
Loading
+96 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/allwinner,sun4i-a10-nand.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 NAND Controller Device Tree Bindings

allOf:
  - $ref: "nand-controller.yaml"

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

properties:
  "#address-cells": true
  "#size-cells": true

  compatible:
    const: allwinner,sun4i-a10-nand

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock

  clock-names:
    items:
      - const: ahb
      - const: mod

  resets:
    maxItems: 1

  reset-names:
    const: ahb

  dmas:
    maxItems: 1

  dma-names:
    const: rxtx

  pinctrl-names: true

patternProperties:
  "^pinctrl-[0-9]+$": true

  "^nand@[a-f0-9]+$":
    properties:
      reg:
        maxItems: 1
        minimum: 0
        maximum: 7

      nand-ecc-mode: true

      nand-ecc-algo:
        const: bch

      nand-ecc-step-size:
        enum: [ 512, 1024 ]

      nand-ecc-strength:
        maximum: 80

      allwinner,rb:
        description:
          Contains the native Ready/Busy IDs.
        allOf:
          - $ref: /schemas/types.yaml#/definitions/uint32-array
          - minItems: 1
            maxItems: 2
            items:
              minimum: 0
              maximum: 1

    additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

additionalProperties: false

...
+0 −48
Original line number Diff line number Diff line
Allwinner NAND Flash Controller (NFC)

Required properties:
- compatible : "allwinner,sun4i-a10-nand".
- reg : shall contain registers location and length for data and reg.
- interrupts : shall define the nand controller interrupt.
- #address-cells: shall be set to 1. Encode the nand CS.
- #size-cells : shall be set to 0.
- clocks : shall reference nand controller clocks.
- clock-names : nand controller internal clock names. Shall contain :
    * "ahb" : AHB gating clock
    * "mod" : nand controller clock

Optional properties:
- dmas : shall reference DMA channel associated to the NAND controller.
- dma-names : shall be "rxtx".

Optional children nodes:
Children nodes represent the available nand chips.

Optional properties:
- reset : phandle + reset specifier pair
- reset-names : must contain "ahb"
- allwinner,rb : shall contain the native Ready/Busy ids.
- nand-ecc-mode : one of the supported ECC modes ("hw", "soft", "soft_bch" or
		  "none")

see Documentation/devicetree/bindings/mtd/nand.txt for generic bindings.


Examples:
nfc: nand@1c03000 {
	compatible = "allwinner,sun4i-a10-nand";
	reg = <0x01c03000 0x1000>;
	interrupts = <0 37 1>;
	clocks = <&ahb_gates 13>, <&nand_clk>;
	clock-names = "ahb", "mod";
	#address-cells = <1>;
	#size-cells = <0>;
	pinctrl-names = "default";
	pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>;

	nand@0 {
		reg = <0>;
		allwinner,rb = <0>;
		nand-ecc-mode = "soft_bch";
	};
};