mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
5.1 KiB
194 lines
5.1 KiB
# SPDX-License-Identifier: GPL-2.0-only |
|
# Copyright 2019 BayLibre SAS |
|
%YAML 1.2 |
|
--- |
|
$id: "http://devicetree.org/schemas/eeprom/at24.yaml#" |
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#" |
|
|
|
title: I2C EEPROMs compatible with Atmel's AT24 |
|
|
|
maintainers: |
|
- Bartosz Golaszewski <[email protected]> |
|
|
|
select: |
|
properties: |
|
compatible: |
|
contains: |
|
pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" |
|
required: |
|
- compatible |
|
|
|
properties: |
|
$nodename: |
|
pattern: "^eeprom@[0-9a-f]{1,2}$" |
|
|
|
# There are multiple known vendors who manufacture EEPROM chips compatible |
|
# with Atmel's AT24. The compatible string requires either a single item |
|
# if the memory comes from Atmel (in which case the vendor part must be |
|
# 'atmel') or two items with the same 'model' part where the vendor part of |
|
# the first one is the actual manufacturer and the second item is the |
|
# corresponding 'atmel,<model>' from Atmel. |
|
compatible: |
|
oneOf: |
|
- allOf: |
|
- minItems: 1 |
|
maxItems: 2 |
|
items: |
|
- pattern: "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$" |
|
- pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$" |
|
- oneOf: |
|
- items: |
|
pattern: c00$ |
|
- items: |
|
pattern: c01$ |
|
- items: |
|
pattern: cs01$ |
|
- items: |
|
pattern: c02$ |
|
- items: |
|
pattern: cs02$ |
|
- items: |
|
pattern: mac402$ |
|
- items: |
|
pattern: mac602$ |
|
- items: |
|
pattern: c04$ |
|
- items: |
|
pattern: cs04$ |
|
- items: |
|
pattern: c08$ |
|
- items: |
|
pattern: cs08$ |
|
- items: |
|
pattern: c16$ |
|
- items: |
|
pattern: cs16$ |
|
- items: |
|
pattern: c32$ |
|
- items: |
|
pattern: cs32$ |
|
- items: |
|
pattern: c64$ |
|
- items: |
|
pattern: cs64$ |
|
- items: |
|
pattern: c128$ |
|
- items: |
|
pattern: cs128$ |
|
- items: |
|
pattern: c256$ |
|
- items: |
|
pattern: cs256$ |
|
- items: |
|
pattern: c512$ |
|
- items: |
|
pattern: cs512$ |
|
- items: |
|
pattern: c1024$ |
|
- items: |
|
pattern: cs1024$ |
|
- items: |
|
pattern: c2048$ |
|
- items: |
|
pattern: cs2048$ |
|
- items: |
|
pattern: spd$ |
|
# These are special cases that don't conform to the above pattern. |
|
# Each requires a standard at24 model as fallback. |
|
- items: |
|
- const: nxp,se97b |
|
- const: atmel,24c02 |
|
- items: |
|
- const: renesas,r1ex24002 |
|
- const: atmel,24c02 |
|
- items: |
|
- const: renesas,r1ex24016 |
|
- const: atmel,24c16 |
|
- items: |
|
- const: giantec,gt24c32a |
|
- const: atmel,24c32 |
|
- items: |
|
- const: renesas,r1ex24128 |
|
- const: atmel,24c128 |
|
- items: |
|
- const: rohm,br24g01 |
|
- const: atmel,24c01 |
|
- items: |
|
- const: rohm,br24t01 |
|
- const: atmel,24c01 |
|
|
|
label: |
|
description: Descriptive name of the EEPROM. |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
pagesize: |
|
description: |
|
The length of the pagesize for writing. Please consult the |
|
manual of your device, that value varies a lot. A wrong value |
|
may result in data loss! If not specified, a safety value of |
|
'1' is used which will be very slow. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
enum: [1, 8, 16, 32, 64, 128, 256] |
|
default: 1 |
|
|
|
read-only: |
|
$ref: /schemas/types.yaml#/definitions/flag |
|
description: |
|
Disables writes to the eeprom. |
|
|
|
size: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
description: |
|
Total eeprom size in bytes. |
|
|
|
no-read-rollover: |
|
$ref: /schemas/types.yaml#/definitions/flag |
|
description: |
|
Indicates that the multi-address eeprom does not automatically roll |
|
over reads to the next slave address. Please consult the manual of |
|
your device. |
|
|
|
wp-gpios: true |
|
|
|
address-width: |
|
description: |
|
Number of address bits. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
default: 8 |
|
enum: [ 8, 16 ] |
|
|
|
num-addresses: |
|
description: |
|
Total number of i2c slave addresses this device takes. |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
default: 1 |
|
minimum: 1 |
|
maximum: 8 |
|
|
|
vcc-supply: |
|
description: |
|
phandle of the regulator that provides the supply voltage. |
|
|
|
required: |
|
- compatible |
|
- reg |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
i2c { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
eeprom@52 { |
|
compatible = "microchip,24c32", "atmel,24c32"; |
|
reg = <0x52>; |
|
pagesize = <32>; |
|
wp-gpios = <&gpio1 3 0>; |
|
num-addresses = <8>; |
|
}; |
|
}; |
|
...
|
|
|