Skip to content

Commit ab20e83

Browse files
Daniel Wagenknechtgalak
authored andcommitted
dts: stm32: add SPI nodes and give example for /delete-node/
Most STM32F429 SoCs have 6 SPIs, but STM32F429Vx SoCs only have 4 SPIs. This is one of the rare conditions where device-tree directive /delete-node/ should be used. Add spi5 and spi6 node to stm32f429.dtsi. Create file stm32f429vX.dtsi to delete those nodes and document usage of /delete-node/ directive. Signed-off-by: Daniel Wagenknecht <[email protected]>
1 parent 2b26e71 commit ab20e83

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

dts/arm/st/stm32f429.dtsi

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,31 @@
3535
status = "disabled";
3636
label = "SPI_4";
3737
};
38+
39+
/* spi5 is present on all STM32F429XX SoCs except
40+
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
41+
*/
42+
spi5: spi@40015000 {
43+
compatible = "st,stm32-spi";
44+
#address-cells = <1>;
45+
#size-cells = <0>;
46+
reg = <0x40015000 0x400>;
47+
interrupts = <85 5>;
48+
status = "disabled";
49+
label = "SPI_5";
50+
};
51+
52+
/* spi6 is present on all STM32F429XX SoCs except
53+
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
54+
*/
55+
spi6: spi@40015400 {
56+
compatible = "st,stm32-spi";
57+
#address-cells = <1>;
58+
#size-cells = <0>;
59+
reg = <0x40015400 0x400>;
60+
interrupts = <86 5>;
61+
status = "disabled";
62+
label = "SPI_6";
63+
};
3864
};
3965
};

dts/arm/st/stm32f429vX.dtsi

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 2018 Daniel Wagenknecht
3+
*
4+
* Document the usage of /delete-node/ for device tree nodes
5+
* that are missing on on only a small subset of SoCs of a given group
6+
* of SoCs.
7+
* Don't remove this file even if none of the SoCs currently
8+
* implemented in zephyr use it.
9+
*
10+
* spi5 and spi6 are present on all STM32F429XX SoCs except
11+
* STM32F429vX SoCs, so they are defined in stm32f429.dtsi and deleted
12+
* here.
13+
*
14+
* SPDX-License-Identifier: Apache-2.0
15+
*/
16+
17+
#include <st/stm32f429.dtsi>
18+
19+
/ {
20+
soc {
21+
/delete-node/ &spi5;
22+
23+
/delete-node/ &spi6;
24+
};
25+
};

0 commit comments

Comments
 (0)