boards: silabs: xg24_dk2601b: Add SPI NOR flash

Add definition of MX25R SPI flash to device tree.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
This commit is contained in:
Aksel Skauge Mellbye 2025-01-21 15:03:21 +01:00 committed by Benjamin Cabé
parent ea191bddaf
commit e35cb93afa
3 changed files with 97 additions and 44 deletions

View file

@ -17,7 +17,7 @@ Hardware
- Transmit power: up to +20 dBm - Transmit power: up to +20 dBm
- Operation frequency: 2.4 GHz - Operation frequency: 2.4 GHz
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz). - Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
- On board sensors: - On board devices:
- Silicon Labs Si7021 relative humidity & temperature sensor - Silicon Labs Si7021 relative humidity & temperature sensor
- Silicon Labs Si7210 hall effect sensor - Silicon Labs Si7210 hall effect sensor
@ -25,6 +25,7 @@ Hardware
- TDK InvenSense ICM-20689 6-axis inertial measurement sensor - TDK InvenSense ICM-20689 6-axis inertial measurement sensor
- Vishay VEML6035 ambient light sensor - Vishay VEML6035 ambient light sensor
- Bosch BMP384 pressure sensor with internal temperature sensor - Bosch BMP384 pressure sensor with internal temperature sensor
- MX25R3235F 32 Mbit SPI data flash
For more information about the EFR32MG24 SoC and BRD2601B board, refer to these For more information about the EFR32MG24 SoC and BRD2601B board, refer to these
documents: documents:
@ -39,33 +40,35 @@ Supported Features
The board configuration supports the following hardware features: The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| Interface | Controller | Driver/Component | | Interface | Controller | Driver/Component |
+===========+============+=====================================+ +===========+============+====================================+
| MPU | on-chip | memory protection unit | | MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| NVIC | on-chip | nested vector interrupt controller | | NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| SYSTICK | on-chip | systick | | SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| COUNTER | on-chip | stimer | | SYSRTC | on-chip | counter, timer |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| FLASH | on-chip | flash memory | | MSC | on-chip | flash memory |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| GPIO | on-chip | gpio | | GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| UART | on-chip | serial | | EUSART | on-chip | serial, spi |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| DMA | on-chip | ldma | | USART | on-chip | serial, spi |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| TRNG | on-chip | semailbox | | LDMA | on-chip | dma |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| WATCHDOG | on-chip | watchdog | | SE | on-chip | entropy |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| I2C(M/S) | on-chip | i2c | | WDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| RADIO | on-chip | bluetooth | | I2C | on-chip | i2c |
+-----------+------------+-------------------------------------+ +-----------+------------+------------------------------------+
| RADIO | on-chip | bluetooth |
+-----------+------------+------------------------------------+
Other hardware features are currently not supported by the port. Other hardware features are currently not supported by the port.
@ -73,23 +76,37 @@ Connections and IOs
=================== ===================
In the following table, the column **Name** contains Pin names. For example, PA2 In the following table, the column **Name** contains Pin names. For example, PA2
means Pin number 2 on PORTA, as used in the board's datasheets and manuals. means Pin number 2 on Port A, as used in the board's datasheets and manuals.
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| Name | Function | Usage | | Name | Function | Usage |
+=======+=============+=====================================+ +======+==============+=====================+
| PA4 | GPIO | LED0 | | PA4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PB0 | GPIO | LED1 | | PB0 | GPIO | LED1 |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PB2 | GPIO | Push Button 0 | | PD2 | GPIO | LED2 |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PB3 | GPIO | Push Button 1 | | PB2 | GPIO | Push Button 0 |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PA5 | USART0_TX | UART Console VCOM_TX US0_TX | | PB3 | GPIO | Push Button 1 |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PA6 | USART0_RX | UART Console VCOM_RX US0_RX | | PA5 | USART0_TX | UART Console |
+-------+-------------+-------------------------------------+ +------+--------------+---------------------+
| PA6 | USART0_RX | UART Console |
+------+--------------+---------------------+
| PC3 | EUSART1_TX | SPI bus: flash, IMU |
+------+--------------+---------------------+
| PC2 | EUSART1_RX | SPI bus: flash, IMU |
+------+--------------+---------------------+
| PC1 | EUSART1_SCLK | SPI bus: flash, IMU |
+------+--------------+---------------------+
| PC0 | EUSART1_CS | SPI bus: flash |
+------+--------------+---------------------+
| PC4 | I2C0_SCL | I2C bus |
+------+--------------+---------------------+
| PC5 | I2C0_SDA | I2C bus |
+------+--------------+---------------------+
The default configuration can be found in The default configuration can be found in
:zephyr_file:`boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig` :zephyr_file:`boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig`

View file

@ -20,6 +20,19 @@
}; };
}; };
eusart1_default: eusart1_default {
group0 {
pins = <EUSART1_TX_PC3>, <EUSART1_SCLK_PC1>;
drive-push-pull;
output-high;
};
group1 {
pins = <EUSART1_RX_PC2>;
input-enable;
silabs,input-filter;
};
};
i2c0_default: i2c0_default { i2c0_default: i2c0_default {
group0 { group0 {
pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>; pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>;

View file

@ -124,6 +124,29 @@
status = "okay"; status = "okay";
}; };
&eusart1 {
compatible = "silabs,eusart-spi";
pinctrl-0 = <&eusart1_default>;
pinctrl-names = "default";
cs-gpios = <&gpioc 0 GPIO_ACTIVE_LOW>;
clock-frequency = <4000000>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
mx25r32: mx25r3235f@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
size = <0x2000000>;
jedec-id = [c2 28 16];
has-dpd;
dpd-wakeup-sequence = <30000 20 35000>;
mxicy,mx25r-power-mode = "low-power";
zephyr,pm-device-runtime-auto;
};
};
&i2c0 { &i2c0 {
pinctrl-0 = <&i2c0_default>; pinctrl-0 = <&i2c0_default>;
pinctrl-names = "default"; pinctrl-names = "default";