xref: /linux/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
19484492cSPaul Cercueil# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
29484492cSPaul Cercueil%YAML 1.2
39484492cSPaul Cercueil---
49484492cSPaul Cercueil$id: http://devicetree.org/schemas/memory-controllers/ingenic,nemc.yaml#
59484492cSPaul Cercueil$schema: http://devicetree.org/meta-schemas/core.yaml#
69484492cSPaul Cercueil
7a612130cSKrzysztof Kozlowskititle: Ingenic SoCs NAND / External Memory Controller (NEMC)
89484492cSPaul Cercueil
99484492cSPaul Cercueilmaintainers:
109484492cSPaul Cercueil  - Paul Cercueil <paul@crapouillou.net>
119484492cSPaul Cercueil
129484492cSPaul Cercueilproperties:
139484492cSPaul Cercueil  $nodename:
149484492cSPaul Cercueil    pattern: "^memory-controller@[0-9a-f]+$"
159484492cSPaul Cercueil
169484492cSPaul Cercueil  compatible:
179484492cSPaul Cercueil    oneOf:
189484492cSPaul Cercueil      - enum:
199484492cSPaul Cercueil          - ingenic,jz4740-nemc
209484492cSPaul Cercueil          - ingenic,jz4780-nemc
219484492cSPaul Cercueil      - items:
229484492cSPaul Cercueil          - const: ingenic,jz4725b-nemc
239484492cSPaul Cercueil          - const: ingenic,jz4740-nemc
249484492cSPaul Cercueil
259484492cSPaul Cercueil  "#address-cells":
269484492cSPaul Cercueil    const: 2
279484492cSPaul Cercueil
289484492cSPaul Cercueil  "#size-cells":
299484492cSPaul Cercueil    const: 1
309484492cSPaul Cercueil
319484492cSPaul Cercueil  ranges: true
329484492cSPaul Cercueil
339484492cSPaul Cercueil  reg:
349484492cSPaul Cercueil    maxItems: 1
359484492cSPaul Cercueil
369484492cSPaul Cercueil  clocks:
379484492cSPaul Cercueil    maxItems: 1
389484492cSPaul Cercueil
399484492cSPaul CercueilpatternProperties:
409484492cSPaul Cercueil  ".*@[0-9]+$":
419484492cSPaul Cercueil    type: object
42eb6bb73fSKrzysztof Kozlowski    $ref: mc-peripheral-props.yaml#
43*387bb6fdSRob Herring    additionalProperties: true
449484492cSPaul Cercueil
459484492cSPaul Cercueilrequired:
469484492cSPaul Cercueil  - compatible
479484492cSPaul Cercueil  - "#address-cells"
489484492cSPaul Cercueil  - "#size-cells"
499484492cSPaul Cercueil  - ranges
509484492cSPaul Cercueil  - reg
519484492cSPaul Cercueil  - clocks
529484492cSPaul Cercueil
539484492cSPaul CercueiladditionalProperties: false
549484492cSPaul Cercueil
559484492cSPaul Cercueilexamples:
569484492cSPaul Cercueil  - |
57c4a11bf4SPaul Cercueil    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
589484492cSPaul Cercueil    #include <dt-bindings/gpio/gpio.h>
599484492cSPaul Cercueil    nemc: memory-controller@13410000 {
609484492cSPaul Cercueil      compatible = "ingenic,jz4780-nemc";
619484492cSPaul Cercueil      reg = <0x13410000 0x10000>;
629484492cSPaul Cercueil      #address-cells = <2>;
639484492cSPaul Cercueil      #size-cells = <1>;
649484492cSPaul Cercueil      ranges = <1 0 0x1b000000 0x1000000>,
659484492cSPaul Cercueil         <2 0 0x1a000000 0x1000000>,
669484492cSPaul Cercueil         <3 0 0x19000000 0x1000000>,
679484492cSPaul Cercueil         <4 0 0x18000000 0x1000000>,
689484492cSPaul Cercueil         <5 0 0x17000000 0x1000000>,
699484492cSPaul Cercueil         <6 0 0x16000000 0x1000000>;
709484492cSPaul Cercueil
719484492cSPaul Cercueil      clocks = <&cgu JZ4780_CLK_NEMC>;
729484492cSPaul Cercueil
739484492cSPaul Cercueil      ethernet@6 {
749484492cSPaul Cercueil        compatible = "davicom,dm9000";
759484492cSPaul Cercueil        davicom,no-eeprom;
769484492cSPaul Cercueil
779484492cSPaul Cercueil        pinctrl-names = "default";
789484492cSPaul Cercueil        pinctrl-0 = <&pins_nemc_cs6>;
799484492cSPaul Cercueil
809484492cSPaul Cercueil        reg = <6 0 1>, /* addr */
819484492cSPaul Cercueil              <6 2 1>; /* data */
829484492cSPaul Cercueil
839484492cSPaul Cercueil        ingenic,nemc-tAS = <15>;
849484492cSPaul Cercueil        ingenic,nemc-tAH = <10>;
859484492cSPaul Cercueil        ingenic,nemc-tBP = <20>;
869484492cSPaul Cercueil        ingenic,nemc-tAW = <50>;
879484492cSPaul Cercueil        ingenic,nemc-tSTRV = <100>;
889484492cSPaul Cercueil
899484492cSPaul Cercueil        reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
909484492cSPaul Cercueil        vcc-supply = <&eth0_power>;
919484492cSPaul Cercueil
929484492cSPaul Cercueil        interrupt-parent = <&gpe>;
939484492cSPaul Cercueil        interrupts = <19 4>;
949484492cSPaul Cercueil      };
959484492cSPaul Cercueil    };
96