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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/mmc/arm,pl18x.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 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/mmc/arm,pl18x.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: ARM PrimeCell MultiMedia Card Interface (MMCI) PL180 and PL181
  8 
  9 maintainers:
 10   - Linus Walleij <linus.walleij@linaro.org>
 11   - Ulf Hansson <ulf.hansson@linaro.org>
 12 
 13 description:
 14   The ARM PrimeCells MMCI PL180 and PL181 provides an interface for
 15   reading and writing to MultiMedia and SD cards alike. Over the years
 16   vendors have use the VHDL code from ARM to create derivative MMC/SD/SDIO
 17   host controllers with very similar characteristics.
 18 
 19 allOf:
 20   - $ref: /schemas/arm/primecell.yaml#
 21   - $ref: mmc-controller.yaml#
 22 
 23 # We need a select here so we don't match all nodes with 'arm,primecell'
 24 select:
 25   properties:
 26     compatible:
 27       contains:
 28         enum:
 29           - arm,pl180
 30           - arm,pl181
 31           - arm,pl18x
 32   required:
 33     - compatible
 34 
 35 properties:
 36   compatible:
 37     oneOf:
 38       - description: The first version of the block, simply called
 39           PL180 and found in the ARM Integrator IM/PD1 logic module.
 40         items:
 41           - const: arm,pl180
 42           - const: arm,primecell
 43       - description: The improved version of the block, found in the
 44           ARM Versatile and later reference designs. Further revisions
 45           exist but get detected at runtime by reading some magic numbers
 46           in the PrimeCell ID registers.
 47         items:
 48           - const: arm,pl181
 49           - const: arm,primecell
 50       - description: Wildcard entry that will let the operating system
 51           inspect the PrimeCell ID registers to determine which hardware
 52           variant of PL180 or PL181 this is.
 53         items:
 54           - const: arm,pl18x
 55           - const: arm,primecell
 56       - description: Entries for STMicroelectronics variant of PL18x.
 57         items:
 58           - enum:
 59               - st,stm32-sdmmc2
 60               - st,stm32mp25-sdmmc2
 61           - const: arm,pl18x
 62           - const: arm,primecell
 63 
 64   clocks:
 65     description: One or two clocks, the "apb_pclk" and the "MCLK"
 66       which is the core block clock. The names are not compulsory.
 67     minItems: 1
 68     maxItems: 2
 69 
 70   dmas:
 71     maxItems: 2
 72 
 73   dma-names:
 74     oneOf:
 75       - items:
 76           - const: tx
 77           - const: rx
 78       - items:
 79           - const: rx
 80           - const: tx
 81 
 82   access-controllers:
 83     minItems: 1
 84     maxItems: 2
 85 
 86   power-domains: true
 87 
 88   resets:
 89     maxItems: 1
 90 
 91   reg:
 92     description: the MMIO memory window must be exactly 4KB (0x1000) and the
 93       layout should provide the PrimeCell ID registers so that the device can
 94       be discovered. On ST Micro variants, a second register window may be
 95       defined if a delay block is present and used for tuning.
 96 
 97   interrupts:
 98     description: The first interrupt is the command interrupt and corresponds
 99       to the event at the end of a command. The second interrupt is the
100       PIO (polled I/O) interrupt and occurs when the FIFO needs to be
101       emptied as part of a bulk read from the card. Some variants have these
102       two interrupts wired into the same line (logic OR) and in that case
103       only one interrupt may be provided. The interrupt-names property is
104       not used due to inconsistency of existing DTs regarding its content.
105     deprecated: false
106     minItems: 1
107     maxItems: 2
108 
109   st,sig-dir-dat0:
110     $ref: /schemas/types.yaml#/definitions/flag
111     description: ST Micro-specific property, bus signal direction pins used for
112       DAT[0].
113 
114   st,sig-dir-dat2:
115     $ref: /schemas/types.yaml#/definitions/flag
116     description: ST Micro-specific property, bus signal direction pins used for
117       DAT[2].
118 
119   st,sig-dir-dat31:
120     $ref: /schemas/types.yaml#/definitions/flag
121     description: ST Micro-specific property, bus signal direction pins used for
122       DAT[3] and DAT[1].
123 
124   st,sig-dir-dat74:
125     $ref: /schemas/types.yaml#/definitions/flag
126     description: ST Micro-specific property, bus signal direction pins used for
127       DAT[7] and DAT[4].
128 
129   st,sig-dir-cmd:
130     $ref: /schemas/types.yaml#/definitions/flag
131     description: ST Micro-specific property, CMD signal direction used for
132       pin CMD.
133 
134   st,sig-pin-fbclk:
135     $ref: /schemas/types.yaml#/definitions/flag
136     description: ST Micro-specific property, feedback clock FBCLK signal pin
137       in use.
138 
139   st,sig-dir:
140     $ref: /schemas/types.yaml#/definitions/flag
141     description: ST Micro-specific property, signal direction polarity used for
142       pins CMD, DAT[0], DAT[1], DAT[2] and DAT[3].
143 
144   st,neg-edge:
145     $ref: /schemas/types.yaml#/definitions/flag
146     description: ST Micro-specific property, data and command phase relation,
147       generated on the sd clock falling edge.
148 
149   st,use-ckin:
150     $ref: /schemas/types.yaml#/definitions/flag
151     description: ST Micro-specific property, use CKIN pin from an external
152       driver to sample the receive data (for example with a voltage switch
153       transceiver).
154 
155   st,cmd-gpios:
156     maxItems: 1
157     description:
158       The GPIO matching the CMD pin.
159 
160   st,ck-gpios:
161     maxItems: 1
162     description:
163       The GPIO matching the CK pin.
164 
165   st,ckin-gpios:
166     maxItems: 1
167     description:
168       The GPIO matching the CKIN pin.
169 
170 dependencies:
171   st,cmd-gpios: [ "st,use-ckin" ]
172   st,ck-gpios: [ "st,use-ckin" ]
173   st,ckin-gpios: [ "st,use-ckin" ]
174 
175 unevaluatedProperties: false
176 
177 required:
178   - compatible
179   - reg
180   - interrupts
181 
182 examples:
183   - |
184     #include <dt-bindings/interrupt-controller/irq.h>
185     #include <dt-bindings/gpio/gpio.h>
186 
187     mmc@5000 {
188       compatible = "arm,pl180", "arm,primecell";
189       reg = <0x5000 0x1000>;
190       interrupts-extended = <&vic 22 &sic 1>;
191       clocks = <&xtal24mhz>, <&pclk>;
192       clock-names = "mclk", "apb_pclk";
193     };
194 
195   - |
196     #include <dt-bindings/interrupt-controller/irq.h>
197 
198     mmc@80126000 {
199       compatible = "arm,pl18x", "arm,primecell";
200       reg = <0x80126000 0x1000>;
201       interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
202       dmas = <&dma 29 0 0x2>, <&dma 29 0 0x0>;
203       dma-names = "rx", "tx";
204       clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
205       clock-names = "sdi", "apb_pclk";
206       max-frequency = <100000000>;
207       bus-width = <4>;
208       cap-sd-highspeed;
209       cap-mmc-highspeed;
210       cd-gpios = <&gpio2 31 0x4>;
211       st,sig-dir-dat0;
212       st,sig-dir-dat2;
213       st,sig-dir-cmd;
214       st,sig-pin-fbclk;
215       vmmc-supply = <&ab8500_ldo_aux3_reg>;
216       vqmmc-supply = <&vmmci>;
217     };
218 
219   - |
220     mmc@101f6000 {
221       compatible = "arm,pl18x", "arm,primecell";
222       reg = <0x101f6000 0x1000>;
223       clocks = <&sdiclk>, <&pclksdi>;
224       clock-names = "mclk", "apb_pclk";
225       interrupts = <22>;
226       max-frequency = <400000>;
227       bus-width = <4>;
228       cap-mmc-highspeed;
229       cap-sd-highspeed;
230       full-pwr-cycle;
231       st,sig-dir-dat0;
232       st,sig-dir-dat2;
233       st,sig-dir-dat31;
234       st,sig-dir-cmd;
235       st,sig-pin-fbclk;
236       vmmc-supply = <&vmmc_regulator>;
237     };
238 
239   - |
240     mmc@52007000 {
241       compatible = "arm,pl18x", "arm,primecell";
242       arm,primecell-periphid = <0x10153180>;
243       reg = <0x52007000 0x1000>;
244       interrupts = <49>;
245       clocks = <&rcc 0>;
246       clock-names = "apb_pclk";
247       resets = <&rcc 1>;
248       cap-sd-highspeed;
249       cap-mmc-highspeed;
250       max-frequency = <120000000>;
251     };

~ [ 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