18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/eeprom/at25.yaml#" 58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: SPI EEPROMs compatible with Atmel's AT25 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Christian Eggers <ceggers@arri.de> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciproperties: 138c2ecf20Sopenharmony_ci $nodename: 148c2ecf20Sopenharmony_ci pattern: "^eeprom@[0-9a-f]{1,2}$" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci # There are multiple known vendors who manufacture EEPROM chips compatible 178c2ecf20Sopenharmony_ci # with Atmel's AT25. The compatible string requires two items where the 188c2ecf20Sopenharmony_ci # 'vendor' and 'model' parts of the first are the actual chip and the second 198c2ecf20Sopenharmony_ci # item is fixed to "atmel,at25". Some existing bindings only have the 208c2ecf20Sopenharmony_ci # "atmel,at25" part and should be fixed by somebody who knows vendor and 218c2ecf20Sopenharmony_ci # product. 228c2ecf20Sopenharmony_ci compatible: 238c2ecf20Sopenharmony_ci oneOf: 248c2ecf20Sopenharmony_ci - items: 258c2ecf20Sopenharmony_ci - enum: 268c2ecf20Sopenharmony_ci - anvo,anv32e61w 278c2ecf20Sopenharmony_ci - atmel,at25256B 288c2ecf20Sopenharmony_ci - fujitsu,mb85rs1mt 298c2ecf20Sopenharmony_ci - fujitsu,mb85rs64 308c2ecf20Sopenharmony_ci - microchip,at25160bn 318c2ecf20Sopenharmony_ci - microchip,25lc040 328c2ecf20Sopenharmony_ci - st,m95m02 338c2ecf20Sopenharmony_ci - st,m95256 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci - const: atmel,at25 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci # Please don't use this alternative for new bindings. 388c2ecf20Sopenharmony_ci - items: 398c2ecf20Sopenharmony_ci - const: atmel,at25 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci reg: 428c2ecf20Sopenharmony_ci description: 438c2ecf20Sopenharmony_ci Chip select number. 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci spi-max-frequency: true 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci pagesize: 488c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/uint32 498c2ecf20Sopenharmony_ci enum: [1, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072] 508c2ecf20Sopenharmony_ci description: 518c2ecf20Sopenharmony_ci Size of the eeprom page. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci size: 548c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/uint32 558c2ecf20Sopenharmony_ci description: 568c2ecf20Sopenharmony_ci Total eeprom size in bytes. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci address-width: 598c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 608c2ecf20Sopenharmony_ci enum: [ 8, 9, 16, 24 ] 618c2ecf20Sopenharmony_ci description: 628c2ecf20Sopenharmony_ci Number of address bits. 638c2ecf20Sopenharmony_ci For 9 bits, the MSB of the address is sent as bit 3 of the instruction 648c2ecf20Sopenharmony_ci byte, before the address byte. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci spi-cpha: true 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci spi-cpol: true 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci read-only: 718c2ecf20Sopenharmony_ci description: 728c2ecf20Sopenharmony_ci Disable writes to the eeprom. 738c2ecf20Sopenharmony_ci type: boolean 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci wp-gpios: 768c2ecf20Sopenharmony_ci maxItems: 1 778c2ecf20Sopenharmony_ci description: 788c2ecf20Sopenharmony_ci GPIO to which the write-protect pin of the chip is connected. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci # Deprecated: at25,byte-len, at25,addr-mode, at25,page-size 818c2ecf20Sopenharmony_ci at25,byte-len: 828c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 838c2ecf20Sopenharmony_ci description: 848c2ecf20Sopenharmony_ci Total eeprom size in bytes. Deprecated, use "size" property instead. 858c2ecf20Sopenharmony_ci deprecated: true 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci at25,addr-mode: 888c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 898c2ecf20Sopenharmony_ci description: 908c2ecf20Sopenharmony_ci Addr-mode flags, as defined in include/linux/spi/eeprom.h. 918c2ecf20Sopenharmony_ci Deprecated, use "address-width" property instead. 928c2ecf20Sopenharmony_ci deprecated: true 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci at25,page-size: 958c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 968c2ecf20Sopenharmony_ci description: 978c2ecf20Sopenharmony_ci Size of the eeprom page. Deprecated, use "pagesize" property instead. 988c2ecf20Sopenharmony_ci deprecated: true 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_cirequired: 1018c2ecf20Sopenharmony_ci - compatible 1028c2ecf20Sopenharmony_ci - reg 1038c2ecf20Sopenharmony_ci - spi-max-frequency 1048c2ecf20Sopenharmony_ci - pagesize 1058c2ecf20Sopenharmony_ci - size 1068c2ecf20Sopenharmony_ci - address-width 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciadditionalProperties: false 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ciexamples: 1118c2ecf20Sopenharmony_ci - | 1128c2ecf20Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 1138c2ecf20Sopenharmony_ci spi0 { 1148c2ecf20Sopenharmony_ci #address-cells = <1>; 1158c2ecf20Sopenharmony_ci #size-cells = <0>; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci eeprom@0 { 1188c2ecf20Sopenharmony_ci compatible = "st,m95256", "atmel,at25"; 1198c2ecf20Sopenharmony_ci reg = <0>; 1208c2ecf20Sopenharmony_ci spi-max-frequency = <5000000>; 1218c2ecf20Sopenharmony_ci spi-cpha; 1228c2ecf20Sopenharmony_ci spi-cpol; 1238c2ecf20Sopenharmony_ci wp-gpios = <&gpio1 3 0>; 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci pagesize = <64>; 1268c2ecf20Sopenharmony_ci size = <32768>; 1278c2ecf20Sopenharmony_ci address-width = <16>; 1288c2ecf20Sopenharmony_ci }; 1298c2ecf20Sopenharmony_ci }; 130