Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/eeprom/at24.yaml
51676 views
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
- enum:
134
- belling,bl24s64
135
- onnn,n24s64b
136
- puya,p24c64f
137
- const: atmel,24c64
138
- items:
139
- enum:
140
- giantec,gt24p128e
141
- giantec,gt24p128f
142
- renesas,r1ex24128
143
- samsung,s524ad0xd1
144
- const: atmel,24c128
145
- items:
146
- enum:
147
- giantec,gt24c256c
148
- puya,p24c256c
149
- const: atmel,24c256
150
- items:
151
- const: microchip,24aa025e48
152
- items:
153
- const: microchip,24aa025e64
154
- items:
155
- const: st,24256e-wl
156
- pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st
157
158
label:
159
description: Descriptive name of the EEPROM.
160
161
reg:
162
maxItems: 1
163
164
pagesize:
165
description:
166
The length of the pagesize for writing. Please consult the
167
manual of your device, that value varies a lot. A wrong value
168
may result in data loss! If not specified, a safety value of
169
'1' is used which will be very slow.
170
$ref: /schemas/types.yaml#/definitions/uint32
171
enum: [1, 8, 16, 32, 64, 128, 256]
172
default: 1
173
174
read-only:
175
$ref: /schemas/types.yaml#/definitions/flag
176
description:
177
Disables writes to the eeprom.
178
179
size:
180
$ref: /schemas/types.yaml#/definitions/uint32
181
description:
182
Total eeprom size in bytes.
183
184
no-read-rollover:
185
$ref: /schemas/types.yaml#/definitions/flag
186
description:
187
Indicates that the multi-address eeprom does not automatically roll
188
over reads to the next slave address. Please consult the manual of
189
your device.
190
191
wp-gpios: true
192
193
address-width:
194
description:
195
Number of address bits.
196
$ref: /schemas/types.yaml#/definitions/uint32
197
default: 8
198
enum: [ 8, 16 ]
199
200
num-addresses:
201
description:
202
Total number of i2c slave addresses this device takes.
203
$ref: /schemas/types.yaml#/definitions/uint32
204
default: 1
205
minimum: 1
206
maximum: 8
207
208
vcc-supply:
209
description:
210
phandle of the regulator that provides the supply voltage.
211
212
required:
213
- compatible
214
- reg
215
216
unevaluatedProperties: false
217
218
examples:
219
- |
220
i2c {
221
#address-cells = <1>;
222
#size-cells = <0>;
223
224
eeprom@52 {
225
compatible = "microchip,24c32", "atmel,24c32";
226
reg = <0x52>;
227
pagesize = <32>;
228
wp-gpios = <&gpio1 3 0>;
229
num-addresses = <8>;
230
};
231
};
232
...
233
234