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
- Operation frequency: 2.4 GHz
- 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 Si7210 hall effect sensor
@ -25,6 +25,7 @@ Hardware
- TDK InvenSense ICM-20689 6-axis inertial measurement sensor
- Vishay VEML6035 ambient light 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
documents:
@ -39,33 +40,35 @@ Supported Features
The board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
+===========+============+====================================+
| MPU | on-chip | memory protection unit |
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| COUNTER | on-chip | stimer |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
| SYSRTC | on-chip | counter, timer |
+-----------+------------+------------------------------------+
| MSC | on-chip | flash memory |
+-----------+------------+------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial |
+-----------+------------+-------------------------------------+
| DMA | on-chip | ldma |
+-----------+------------+-------------------------------------+
| TRNG | on-chip | semailbox |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | watchdog |
+-----------+------------+-------------------------------------+
| I2C(M/S) | on-chip | i2c |
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
| EUSART | on-chip | serial, spi |
+-----------+------------+------------------------------------+
| USART | on-chip | serial, spi |
+-----------+------------+------------------------------------+
| LDMA | on-chip | dma |
+-----------+------------+------------------------------------+
| SE | on-chip | entropy |
+-----------+------------+------------------------------------+
| WDOG | on-chip | watchdog |
+-----------+------------+------------------------------------+
| I2C | on-chip | i2c |
+-----------+------------+------------------------------------+
| RADIO | on-chip | bluetooth |
+-----------+------------+-------------------------------------+
+-----------+------------+------------------------------------+
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
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 |
+=======+=============+=====================================+
+======+==============+=====================+
| PA4 | GPIO | LED0 |
+-------+-------------+-------------------------------------+
+------+--------------+---------------------+
| PB0 | GPIO | LED1 |
+-------+-------------+-------------------------------------+
+------+--------------+---------------------+
| PD2 | GPIO | LED2 |
+------+--------------+---------------------+
| PB2 | GPIO | Push Button 0 |
+-------+-------------+-------------------------------------+
+------+--------------+---------------------+
| PB3 | GPIO | Push Button 1 |
+-------+-------------+-------------------------------------+
| PA5 | USART0_TX | UART Console VCOM_TX US0_TX |
+-------+-------------+-------------------------------------+
| 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
: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 {
group0 {
pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>;

View file

@ -124,6 +124,29 @@
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 {
pinctrl-0 = <&i2c0_default>;
pinctrl-names = "default";