1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: "http://devicetree.org/schemas/eeprom/at25.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: SPI EEPROMs compatible with Atmel's AT25
maintainers:
- Christian Eggers <ceggers@arri.de>
properties:
$nodename:
pattern: "^eeprom@[0-9a-f]{1,2}$"
# There are multiple known vendors who manufacture EEPROM chips compatible
# with Atmel's AT25. The compatible string requires two items where the
# 'vendor' and 'model' parts of the first are the actual chip and the second
# item is fixed to "atmel,at25". Some existing bindings only have the
# "atmel,at25" part and should be fixed by somebody who knows vendor and
# product.
compatible:
oneOf:
- items:
- enum:
- anvo,anv32e61w
- atmel,at25256B
- fujitsu,mb85rs1mt
- fujitsu,mb85rs64
- microchip,at25160bn
- microchip,25lc040
- st,m95m02
- st,m95256
- const: atmel,at25
# Please don't use this alternative for new bindings.
- items:
- const: atmel,at25
reg:
description:
Chip select number.
spi-max-frequency: true
pagesize:
$ref: /schemas/types.yaml#definitions/uint32
enum: [1, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072]
description:
Size of the eeprom page.
size:
$ref: /schemas/types.yaml#definitions/uint32
description:
Total eeprom size in bytes.
address-width:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 8, 9, 16, 24 ]
description:
Number of address bits.
For 9 bits, the MSB of the address is sent as bit 3 of the instruction
byte, before the address byte.
spi-cpha: true
spi-cpol: true
read-only:
description:
Disable writes to the eeprom.
type: boolean
wp-gpios:
maxItems: 1
description:
GPIO to which the write-protect pin of the chip is connected.
# Deprecated: at25,byte-len, at25,addr-mode, at25,page-size
at25,byte-len:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Total eeprom size in bytes. Deprecated, use "size" property instead.
deprecated: true
at25,addr-mode:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Addr-mode flags, as defined in include/linux/spi/eeprom.h.
Deprecated, use "address-width" property instead.
deprecated: true
at25,page-size:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Size of the eeprom page. Deprecated, use "pagesize" property instead.
deprecated: true
required:
- compatible
- reg
- spi-max-frequency
- pagesize
- size
- address-width
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi0 {
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
compatible = "st,m95256", "atmel,at25";
reg = <0>;
spi-max-frequency = <5000000>;
spi-cpha;
spi-cpol;
wp-gpios = <&gpio1 3 0>;
pagesize = <64>;
size = <32768>;
address-width = <16>;
};
};
|