~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/memory-controllers/arm,pl35x-smc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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/arm,pl35x-smc.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Arm PL35x Series Static Memory Controller (SMC)
  8 
  9 maintainers:
 10   - Miquel Raynal <miquel.raynal@bootlin.com>
 11 
 12 description: |
 13   The PL35x Static Memory Controller is a bus where you can connect two kinds
 14   of memory interfaces, which are NAND and memory mapped interfaces (such as
 15   SRAM or NOR) depending on the specific configuration.
 16 
 17   The TRM is available here:
 18   https://documentation-service.arm.com/static/5e8e2524fd977155116a58aa
 19 
 20 # We need a select here so we don't match all nodes with 'arm,primecell'
 21 select:
 22   properties:
 23     compatible:
 24       contains:
 25         enum:
 26           - arm,pl353-smc-r2p1
 27           - arm,pl354
 28   required:
 29     - compatible
 30 
 31 properties:
 32   $nodename:
 33     pattern: "^memory-controller@[0-9a-f]+$"
 34 
 35   compatible:
 36     items:
 37       - enum:
 38           - arm,pl353-smc-r2p1
 39           - arm,pl354
 40       - const: arm,primecell
 41 
 42   "#address-cells":
 43     const: 2
 44 
 45   "#size-cells":
 46     const: 1
 47 
 48   reg:
 49     items:
 50       - description:
 51           Configuration registers for the host and sub-controllers.
 52           The three chip select regions are defined in 'ranges'.
 53 
 54   clocks:
 55     minItems: 1
 56     maxItems: 2
 57 
 58   clock-names:
 59     minItems: 1
 60     maxItems: 2
 61 
 62   ranges:
 63     minItems: 1
 64     maxItems: 8
 65 
 66   interrupts:
 67     minItems: 1
 68     items:
 69       - description: Combined or Memory interface 0 IRQ
 70       - description: Memory interface 1 IRQ
 71 
 72 patternProperties:
 73   "@[0-7],[a-f0-9]+$":
 74     type: object
 75     additionalProperties: true
 76     description: |
 77       The child device node represents the controller connected to the SMC
 78       bus. The controller can be a NAND controller or a pair of any memory
 79       mapped controllers such as NOR and SRAM controllers.
 80 
 81     properties:
 82       compatible:
 83         description:
 84           Compatible of memory controller.
 85 
 86       reg:
 87         items:
 88           - items:
 89               - description: |
 90                   Chip-select ID, as in the parent range property.
 91                 minimum: 0
 92                 maximum: 7
 93               - description: |
 94                   Offset of the memory region requested by the device.
 95               - description: |
 96                   Length of the memory region requested by the device.
 97 
 98     required:
 99       - compatible
100       - reg
101 
102 required:
103   - compatible
104   - reg
105   - clock-names
106   - clocks
107 
108 additionalProperties: false
109 
110 allOf:
111   - if:
112       properties:
113         compatible:
114           contains:
115             const: arm,pl354
116     then:
117       properties:
118         clocks:
119           # According to TRM, really should be 3 clocks
120           maxItems: 1
121 
122         clock-names:
123           const: apb_pclk
124 
125     else:
126       properties:
127         clocks:
128           items:
129             - description: clock for the memory device bus
130             - description: main clock of the SMC
131 
132         clock-names:
133           items:
134             - const: memclk
135             - const: apb_pclk
136 
137 examples:
138   - |
139     smcc: memory-controller@e000e000 {
140       compatible = "arm,pl353-smc-r2p1", "arm,primecell";
141       reg = <0xe000e000 0x0001000>;
142       clock-names = "memclk", "apb_pclk";
143       clocks = <&clkc 11>, <&clkc 44>;
144       ranges = <0x0 0x0 0xe1000000 0x1000000 /* Nand CS region */
145                 0x1 0x0 0xe2000000 0x2000000 /* SRAM/NOR CS0 region */
146                 0x2 0x0 0xe4000000 0x2000000>; /* SRAM/NOR CS1 region */
147       #address-cells = <2>;
148       #size-cells = <1>;
149 
150       nfc0: nand-controller@0,0 {
151         compatible = "arm,pl353-nand-r2p1";
152         reg = <0 0 0x1000000>;
153         #address-cells = <1>;
154         #size-cells = <0>;
155       };
156     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php