Skip to content

Commit eb68dc0

Browse files
Aksel Skauge MellbyeChromeos LUCI
authored andcommitted
boards: silabs: xg24_dk2601b: Add SPI NOR flash
Add definition of MX25R SPI flash to device tree. (cherry picked from commit e35cb93) Original-Signed-off-by: Aksel Skauge Mellbye <[email protected]> GitOrigin-RevId: e35cb93 Cr-Build-Id: 8724909411128659441 Cr-Build-Url: https://cr-buildbucket.appspot.com/build/8724909411128659441 Copybot-Job-Name: zephyr-main-copybot-downstream Change-Id: Ib11eb3c76bcc2c418fdf98db1750df3861ec7002 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/6196363 Commit-Queue: ChromeOS Prod (Robot) <[email protected]> Tested-by: ChromeOS Prod (Robot) <[email protected]> Bot-Commit: ChromeOS Prod (Robot) <[email protected]>
1 parent 985f84b commit eb68dc0

File tree

3 files changed

+98
-45
lines changed

3 files changed

+98
-45
lines changed

boards/silabs/dev_kits/xg24_dk2601b/doc/index.rst

Lines changed: 62 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ Hardware
1717
- Transmit power: up to +20 dBm
1818
- Operation frequency: 2.4 GHz
1919
- Crystals for LFXO (32.768 kHz) and HFXO (38.4 MHz).
20-
- On board sensors:
20+
- On board devices:
2121

2222
- Silicon Labs Si7021 relative humidity & temperature sensor
2323
- Silicon Labs Si7210 hall effect sensor
2424
- 2x TDK InvenSense ICS-43434 MEMS microphones with I2S output
2525
- TDK InvenSense ICM-20689 6-axis inertial measurement sensor
2626
- Vishay VEML6035 ambient light sensor
2727
- Bosch BMP384 pressure sensor with internal temperature sensor
28+
- MX25R3235F 32 Mbit SPI data flash
2829

2930
For more information about the EFR32MG24 SoC and BRD2601B board, refer to these
3031
documents:
@@ -39,57 +40,73 @@ Supported Features
3940

4041
The board configuration supports the following hardware features:
4142

42-
+-----------+------------+-------------------------------------+
43-
| Interface | Controller | Driver/Component |
44-
+===========+============+=====================================+
45-
| MPU | on-chip | memory protection unit |
46-
+-----------+------------+-------------------------------------+
47-
| NVIC | on-chip | nested vector interrupt controller |
48-
+-----------+------------+-------------------------------------+
49-
| SYSTICK | on-chip | systick |
50-
+-----------+------------+-------------------------------------+
51-
| COUNTER | on-chip | stimer |
52-
+-----------+------------+-------------------------------------+
53-
| FLASH | on-chip | flash memory |
54-
+-----------+------------+-------------------------------------+
55-
| GPIO | on-chip | gpio |
56-
+-----------+------------+-------------------------------------+
57-
| UART | on-chip | serial |
58-
+-----------+------------+-------------------------------------+
59-
| DMA | on-chip | ldma |
60-
+-----------+------------+-------------------------------------+
61-
| TRNG | on-chip | semailbox |
62-
+-----------+------------+-------------------------------------+
63-
| WATCHDOG | on-chip | watchdog |
64-
+-----------+------------+-------------------------------------+
65-
| I2C(M/S) | on-chip | i2c |
66-
+-----------+------------+-------------------------------------+
67-
| RADIO | on-chip | bluetooth |
68-
+-----------+------------+-------------------------------------+
43+
+-----------+------------+------------------------------------+
44+
| Interface | Controller | Driver/Component |
45+
+===========+============+====================================+
46+
| MPU | on-chip | memory protection unit |
47+
+-----------+------------+------------------------------------+
48+
| NVIC | on-chip | nested vector interrupt controller |
49+
+-----------+------------+------------------------------------+
50+
| SYSTICK | on-chip | systick |
51+
+-----------+------------+------------------------------------+
52+
| SYSRTC | on-chip | counter, timer |
53+
+-----------+------------+------------------------------------+
54+
| MSC | on-chip | flash memory |
55+
+-----------+------------+------------------------------------+
56+
| GPIO | on-chip | gpio |
57+
+-----------+------------+------------------------------------+
58+
| EUSART | on-chip | serial, spi |
59+
+-----------+------------+------------------------------------+
60+
| USART | on-chip | serial, spi |
61+
+-----------+------------+------------------------------------+
62+
| LDMA | on-chip | dma |
63+
+-----------+------------+------------------------------------+
64+
| SE | on-chip | entropy |
65+
+-----------+------------+------------------------------------+
66+
| WDOG | on-chip | watchdog |
67+
+-----------+------------+------------------------------------+
68+
| I2C | on-chip | i2c |
69+
+-----------+------------+------------------------------------+
70+
| RADIO | on-chip | bluetooth |
71+
+-----------+------------+------------------------------------+
6972

7073
Other hardware features are currently not supported by the port.
7174

7275
Connections and IOs
7376
===================
7477

7578
In the following table, the column **Name** contains Pin names. For example, PA2
76-
means Pin number 2 on PORTA, as used in the board's datasheets and manuals.
77-
78-
+-------+-------------+-------------------------------------+
79-
| Name | Function | Usage |
80-
+=======+=============+=====================================+
81-
| PA4 | GPIO | LED0 |
82-
+-------+-------------+-------------------------------------+
83-
| PB0 | GPIO | LED1 |
84-
+-------+-------------+-------------------------------------+
85-
| PB2 | GPIO | Push Button 0 |
86-
+-------+-------------+-------------------------------------+
87-
| PB3 | GPIO | Push Button 1 |
88-
+-------+-------------+-------------------------------------+
89-
| PA5 | USART0_TX | UART Console VCOM_TX US0_TX |
90-
+-------+-------------+-------------------------------------+
91-
| PA6 | USART0_RX | UART Console VCOM_RX US0_RX |
92-
+-------+-------------+-------------------------------------+
79+
means Pin number 2 on Port A, as used in the board's datasheets and manuals.
80+
81+
+------+--------------+---------------------+
82+
| Name | Function | Usage |
83+
+======+==============+=====================+
84+
| PA4 | GPIO | LED0 |
85+
+------+--------------+---------------------+
86+
| PB0 | GPIO | LED1 |
87+
+------+--------------+---------------------+
88+
| PD2 | GPIO | LED2 |
89+
+------+--------------+---------------------+
90+
| PB2 | GPIO | Push Button 0 |
91+
+------+--------------+---------------------+
92+
| PB3 | GPIO | Push Button 1 |
93+
+------+--------------+---------------------+
94+
| PA5 | USART0_TX | UART Console |
95+
+------+--------------+---------------------+
96+
| PA6 | USART0_RX | UART Console |
97+
+------+--------------+---------------------+
98+
| PC3 | EUSART1_TX | SPI bus: flash, IMU |
99+
+------+--------------+---------------------+
100+
| PC2 | EUSART1_RX | SPI bus: flash, IMU |
101+
+------+--------------+---------------------+
102+
| PC1 | EUSART1_SCLK | SPI bus: flash, IMU |
103+
+------+--------------+---------------------+
104+
| PC0 | EUSART1_CS | SPI bus: flash |
105+
+------+--------------+---------------------+
106+
| PC4 | I2C0_SCL | I2C bus |
107+
+------+--------------+---------------------+
108+
| PC5 | I2C0_SDA | I2C bus |
109+
+------+--------------+---------------------+
93110

94111
The default configuration can be found in
95112
:zephyr_file:`boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig`

boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b-pinctrl.dtsi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@
2020
};
2121
};
2222

23+
eusart1_default: eusart1_default {
24+
group0 {
25+
pins = <EUSART1_TX_PC3>, <EUSART1_SCLK_PC1>;
26+
drive-push-pull;
27+
output-high;
28+
};
29+
group1 {
30+
pins = <EUSART1_RX_PC2>;
31+
input-enable;
32+
silabs,input-filter;
33+
};
34+
};
35+
2336
i2c0_default: i2c0_default {
2437
group0 {
2538
pins = <I2C0_SCL_PC4>, <I2C0_SDA_PC5>;

boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b.dts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,29 @@
124124
status = "okay";
125125
};
126126

127+
&eusart1 {
128+
compatible = "silabs,eusart-spi";
129+
pinctrl-0 = <&eusart1_default>;
130+
pinctrl-names = "default";
131+
cs-gpios = <&gpioc 0 GPIO_ACTIVE_LOW>;
132+
clock-frequency = <4000000>;
133+
#address-cells = <1>;
134+
#size-cells = <0>;
135+
status = "okay";
136+
137+
mx25r32: mx25r3235f@0 {
138+
compatible = "jedec,spi-nor";
139+
reg = <0>;
140+
spi-max-frequency = <80000000>;
141+
size = <0x2000000>;
142+
jedec-id = [c2 28 16];
143+
has-dpd;
144+
dpd-wakeup-sequence = <30000 20 35000>;
145+
mxicy,mx25r-power-mode = "low-power";
146+
zephyr,pm-device-runtime-auto;
147+
};
148+
};
149+
127150
&i2c0 {
128151
pinctrl-0 = <&i2c0_default>;
129152
pinctrl-names = "default";

0 commit comments

Comments
 (0)