zephyr/boards/shields/x_nucleo_eeprma2/x_nucleo_eeprma2.overlay
Henrik Brix Andersen a9f5382861 boards: add more details to atmel,at24 compatibles where known
Add more specific compatible strings to existing atmel,at24 compatible I2C
EEPROMs where known. This is strictly for documentation purposes, no
functional changes introduced.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-06-04 13:40:14 +02:00

127 lines
3.6 KiB
Text

/*
* Copyright (c) 2021 Thomas Stranger
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <freq.h>
#include <mem.h>
/ {
aliases {
eeprom-0 = &eeprom0_x_nucleo_eeprma2;
eeprom-1 = &eeprom4_x_nucleo_eeprma2;
};
};
&arduino_i2c {
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>;
eeprom0_x_nucleo_eeprma2: eeprom@54 {
/* M24C02-FMC6TG aka U1 (2 kbit eeprom in DFN8 package) */
compatible = "st,m24c02", "st,m24xxx", "atmel,at24";
reg = <0x54>;
size = <256>;
pagesize = <16>;
address-width = <8>;
timeout = <5>;
/* if solder-bridge closed: arduino A1 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 1 GPIO_ACTIVE_LOW>; */
};
eeprom1_x_nucleo_eeprma2: eeprom@55 {
/* M24256-DFDW6TP aka U2 (256 kbit eeprom in TSSOP package) */
compatible = "st,m24256", "st,m24xxx", "atmel,at24";
reg = <0x55>;
size = <DT_SIZE_K(32)>;
pagesize = <64>;
address-width = <16>;
timeout = <5>;
/* if solder-bridge closed: arduino A1 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 1 GPIO_ACTIVE_LOW>; */
};
eeprom2_x_nucleo_eeprma2: eeprom@56 {
/* M24M01-DFMN6TP aka U3 (1 Mbit eeprom in SO8N package) */
compatible = "st,m24m01", "st,m24xxx", "atmel,at24";
reg = <0x56>;
size = <DT_SIZE_K(128)>;
pagesize = <256>;
address-width = <16>;
timeout = <5>;
/* if solder-bridge closed: arduino A1 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 1 GPIO_ACTIVE_LOW>; */
};
/* U4: unpopulated SO8N footprint for any I2C M24 EEPROM */
};
&arduino_spi {
status = "okay";
cs-gpios = <&arduino_header 8 GPIO_ACTIVE_LOW>, /* U5: eeprom4 */
<&arduino_header 15 GPIO_ACTIVE_LOW>, /* U6: eeprom5 */
<&arduino_header 16 GPIO_ACTIVE_LOW>; /* U7: eeprom6 */
/*
* All chip select pins have an on board 10k pull-up resistor to VCC,
* and are connected to their respective arduino pins via a normally
* closed solder bridge.
*
* All hold pins are connected to VCC with a 10k pull-up, and
* have a connection to arduino pin A3 on CN8 via an open solder bridge.
*
* All write-protect pins are connected to J11 with a 10k pull-up
* resistor. Where they can either be torn to VCC or GND.
* Additionally they are connected to arduino pin A0 on CN8
* via an open solder bridge.
*/
eeprom4_x_nucleo_eeprma2: eeprom_m95040@0 {
/* M95040-RMC6TG aka U5 (4 kbit eeprom in DFN8 package) */
compatible = "st,m95040", "st,m95xxx", "atmel,at25";
reg = <0x00>;
size = <512>;
pagesize = <16>;
address-width = <8>;
spi-max-frequency = <DT_FREQ_M(20)>;
timeout = <5>;
/* if solder-bridge closed: arduino A0 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 0 GPIO_ACTIVE_LOW>; */
};
eeprom5_x_nucleo_eeprma2: eeprom_m95256@1 {
/* M95256-DFDW6TP aka U6 (256 kbit eeprom in TSSOP package) */
compatible = "st,m95256", "st,m95xxx", "atmel,at25";
reg = <0x01>;
size = <DT_SIZE_K(32)>;
pagesize = <64>;
address-width = <16>;
spi-max-frequency = <DT_FREQ_M(20)>;
timeout = <5>;
/* if solder-bridge closed: arduino A0 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 0 GPIO_ACTIVE_LOW>; */
};
eeprom6_x_nucleo_eeprma2: eeprom_m95m04@2 {
/* M95M04-DRMN6TP aka U7 (4 Mbit eeprom in SON8 package) */
compatible = "st,m95m04", "st,m95xxx", "atmel,at25";
reg = <0x02>;
size = <DT_SIZE_K(512)>;
pagesize = <512>;
address-width = <24>;
/* max-frequency 10MHz for vcc>=2.5V and 5MHz for vcc>=1.8V */
spi-max-frequency = <DT_FREQ_M(10)>;
timeout = <5>;
/* if solder-bridge closed: arduino A0 pin on CN8 can wp */
/* wp-gpios = <&arduino_header 0 GPIO_ACTIVE_LOW>; */
};
/* U8: unpopulated SO8N footprint for any M95 SPI EEPROM */
};