]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/memory-controllers/ingenic,nemc.yaml
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.git] / Bindings / memory-controllers / ingenic,nemc.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/memory-controllers/ingenic,nemc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ingenic SoCs NAND / External Memory Controller (NEMC)
8
9 maintainers:
10   - Paul Cercueil <paul@crapouillou.net>
11
12 properties:
13   $nodename:
14     pattern: "^memory-controller@[0-9a-f]+$"
15
16   compatible:
17     oneOf:
18       - enum:
19           - ingenic,jz4740-nemc
20           - ingenic,jz4780-nemc
21       - items:
22           - const: ingenic,jz4725b-nemc
23           - const: ingenic,jz4740-nemc
24
25   "#address-cells":
26     const: 2
27
28   "#size-cells":
29     const: 1
30
31   ranges: true
32
33   reg:
34     maxItems: 1
35
36   clocks:
37     maxItems: 1
38
39 patternProperties:
40   ".*@[0-9]+$":
41     type: object
42
43 required:
44   - compatible
45   - "#address-cells"
46   - "#size-cells"
47   - ranges
48   - reg
49   - clocks
50
51 additionalProperties: false
52
53 examples:
54   - |
55     #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
56     #include <dt-bindings/gpio/gpio.h>
57     nemc: memory-controller@13410000 {
58       compatible = "ingenic,jz4780-nemc";
59       reg = <0x13410000 0x10000>;
60       #address-cells = <2>;
61       #size-cells = <1>;
62       ranges = <1 0 0x1b000000 0x1000000>,
63          <2 0 0x1a000000 0x1000000>,
64          <3 0 0x19000000 0x1000000>,
65          <4 0 0x18000000 0x1000000>,
66          <5 0 0x17000000 0x1000000>,
67          <6 0 0x16000000 0x1000000>;
68
69       clocks = <&cgu JZ4780_CLK_NEMC>;
70
71       ethernet@6 {
72         compatible = "davicom,dm9000";
73         davicom,no-eeprom;
74
75         pinctrl-names = "default";
76         pinctrl-0 = <&pins_nemc_cs6>;
77
78         reg = <6 0 1>, /* addr */
79               <6 2 1>; /* data */
80
81         ingenic,nemc-tAS = <15>;
82         ingenic,nemc-tAH = <10>;
83         ingenic,nemc-tBP = <20>;
84         ingenic,nemc-tAW = <50>;
85         ingenic,nemc-tSTRV = <100>;
86
87         reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
88         vcc-supply = <&eth0_power>;
89
90         interrupt-parent = <&gpe>;
91         interrupts = <19 4>;
92       };
93     };