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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/eeprom/at24.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
  2 # Copyright 2019 BayLibre SAS
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/eeprom/at24.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: I2C EEPROMs compatible with Atmel's AT24
  9 
 10 maintainers:
 11   - Bartosz Golaszewski <bgolaszewski@baylibre.com>
 12 
 13 allOf:
 14   - $ref: /schemas/nvmem/nvmem.yaml
 15   - $ref: /schemas/nvmem/nvmem-deprecated-cells.yaml
 16 
 17 select:
 18   properties:
 19     compatible:
 20       contains:
 21         anyOf:
 22           - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
 23           - enum: ["microchip,24aa025e48", "microchip,24aa025e64"]
 24   required:
 25     - compatible
 26 
 27 properties:
 28   $nodename:
 29     pattern: "^eeprom@[0-9a-f]{1,2}$"
 30 
 31   # There are multiple known vendors who manufacture EEPROM chips compatible
 32   # with Atmel's AT24. The compatible string requires either a single item
 33   # if the memory comes from Atmel (in which case the vendor part must be
 34   # 'atmel') or two items with the same 'model' part where the vendor part of
 35   # the first one is the actual manufacturer and the second item is the
 36   # corresponding 'atmel,<model>' from Atmel.
 37   compatible:
 38     oneOf:
 39       - allOf:
 40           - minItems: 1
 41             items:
 42               - pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$"
 43               - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
 44           - oneOf:
 45               - items:
 46                   pattern: c00$
 47               - items:
 48                   pattern: c01$
 49               - items:
 50                   pattern: cs01$
 51               - items:
 52                   pattern: c02$
 53               - items:
 54                   pattern: cs02$
 55               - items:
 56                   pattern: mac402$
 57               - items:
 58                   pattern: mac602$
 59               - items:
 60                   pattern: c04$
 61               - items:
 62                   pattern: cs04$
 63               - items:
 64                   pattern: c08$
 65               - items:
 66                   pattern: cs08$
 67               - items:
 68                   pattern: c16$
 69               - items:
 70                   pattern: cs16$
 71               - items:
 72                   pattern: c32$
 73               - items:
 74                   pattern: cs32$
 75               - items:
 76                   pattern: c64$
 77               - items:
 78                   pattern: cs64$
 79               - items:
 80                   pattern: c128$
 81               - items:
 82                   pattern: cs128$
 83               - items:
 84                   pattern: c256$
 85               - items:
 86                   pattern: cs256$
 87               - items:
 88                   pattern: c512$
 89               - items:
 90                   pattern: cs512$
 91               - items:
 92                   pattern: c1024$
 93               - items:
 94                   pattern: cs1024$
 95               - items:
 96                   pattern: c1025$
 97               - items:
 98                   pattern: cs1025$
 99               - items:
100                   pattern: c2048$
101               - items:
102                   pattern: cs2048$
103               - items:
104                   pattern: spd$
105       # These are special cases that don't conform to the above pattern.
106       # Each requires a standard at24 model as fallback.
107       - items:
108           - enum:
109               - rohm,br24g01
110               - rohm,br24t01
111           - const: atmel,24c01
112       - items:
113           - enum:
114               - nxp,se97b
115               - renesas,r1ex24002
116           - const: atmel,24c02
117       - items:
118           - enum:
119               - giantec,gt24c04a
120               - onnn,cat24c04
121               - onnn,cat24c05
122               - rohm,br24g04
123           - const: atmel,24c04
124       - items:
125           - enum:
126               - belling,bl24c16a
127               - renesas,r1ex24016
128           - const: atmel,24c16
129       - items:
130           - const: giantec,gt24c32a
131           - const: atmel,24c32
132       - items:
133           - const: onnn,n24s64b
134           - const: atmel,24c64
135       - items:
136           - enum:
137               - renesas,r1ex24128
138               - samsung,s524ad0xd1
139           - const: atmel,24c128
140       - items:
141           - const: microchip,24aa025e48
142       - items:
143           - const: microchip,24aa025e64
144       - pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st
145 
146   label:
147     description: Descriptive name of the EEPROM.
148 
149   reg:
150     maxItems: 1
151 
152   pagesize:
153     description:
154       The length of the pagesize for writing. Please consult the
155       manual of your device, that value varies a lot. A wrong value
156       may result in data loss! If not specified, a safety value of
157       '1' is used which will be very slow.
158     $ref: /schemas/types.yaml#/definitions/uint32
159     enum: [1, 8, 16, 32, 64, 128, 256]
160     default: 1
161 
162   read-only:
163     $ref: /schemas/types.yaml#/definitions/flag
164     description:
165       Disables writes to the eeprom.
166 
167   size:
168     $ref: /schemas/types.yaml#/definitions/uint32
169     description:
170       Total eeprom size in bytes.
171 
172   no-read-rollover:
173     $ref: /schemas/types.yaml#/definitions/flag
174     description:
175       Indicates that the multi-address eeprom does not automatically roll
176       over reads to the next slave address. Please consult the manual of
177       your device.
178 
179   wp-gpios: true
180 
181   address-width:
182     description:
183       Number of address bits.
184     $ref: /schemas/types.yaml#/definitions/uint32
185     default: 8
186     enum: [ 8, 16 ]
187 
188   num-addresses:
189     description:
190       Total number of i2c slave addresses this device takes.
191     $ref: /schemas/types.yaml#/definitions/uint32
192     default: 1
193     minimum: 1
194     maximum: 8
195 
196   vcc-supply:
197     description:
198       phandle of the regulator that provides the supply voltage.
199 
200 required:
201   - compatible
202   - reg
203 
204 unevaluatedProperties: false
205 
206 examples:
207   - |
208     i2c {
209       #address-cells = <1>;
210       #size-cells = <0>;
211 
212       eeprom@52 {
213           compatible = "microchip,24c32", "atmel,24c32";
214           reg = <0x52>;
215           pagesize = <32>;
216           wp-gpios = <&gpio1 3 0>;
217           num-addresses = <8>;
218       };
219     };
220 ...

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