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

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

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