Skip to content

Commit 96a96de

Browse files
committed
Merge tag 'stm32-dt-for-v6.17-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt
STM32 DT for v6.17, round 1 Highlights: ---------- - MPU: - STM32MP13: -Add Ethernet MAC adress efuse support. - STMP32MP15: - Add stm32mp157f-DK2 board support. This board embedds the same conectivity devices, DDR ... than stm32mp157c-dk2. However there are two differences: STM32MP157F SoC which allows overdrive OPP and the SCMI support for system features like clocks and regulators. - STM32MP25: - Fix tick timer for low power use cases. - Add timer support. * tag 'stm32-dt-for-v6.17-1' of https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: arm64: dts: st: remove empty line in stm32mp251.dtsi arm64: dts: st: fix timer used for ticks arm64: defconfig: Enable STM32 Octo Memory Manager and OcstoSPI driver ARM: dts: stm32: add stm32mp157f-dk2 board support dt-bindings: arm: stm32: add STM32MP157F-DK2 board compatible ARM: dts: stm32: optee async notif interrupt for MP15 scmi variants ARM: dts: stm32: use internal regulators bindings for MP15 scmi variants dt-bindings: regulator: Add STM32MP15 SCMI regulator identifiers ARM: dts: stm32: use 'typec' generic name for stusb1600 on stm32mp15xx-dkx ARM: dts: stm32: fullfill diversity with OPP for STM32M15xF SOCs ARM: dts: stm32: add system-clock-direction-out on stm32mp15xx-dkx arm64: defconfig: enable STM32 timers drivers arm64: dts: st: add timer nodes on stm32mp257f-ev1 arm64: dts: st: add timer pins for stm32mp257f-ev1 arm64: dts: st: add timer nodes on stm32mp251 ARM: dts: stm32: Add nvmem-cells to ethernet nodes for constant mac-addresses Link: https://lore.kernel.org/r/b3e3363b-1ea5-457c-b244-2cbe26f7d6e4@foss.st.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 4340c8d + 1a32f74 commit 96a96de

14 files changed

Lines changed: 1098 additions & 7 deletions

File tree

Documentation/devicetree/bindings/arm/stm32/stm32.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ properties:
121121
- st,stm32mp157a-dk1-scmi
122122
- st,stm32mp157c-dk2
123123
- st,stm32mp157c-dk2-scmi
124+
- st,stm32mp157f-dk2
124125
- const: st,stm32mp157
125126

126127
- items:

arch/arm/boot/dts/st/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ dtb-$(CONFIG_ARCH_STM32) += \
7272
stm32mp157c-odyssey.dtb \
7373
stm32mp157c-osd32mp1-red.dtb \
7474
stm32mp157c-phycore-stm32mp1-3.dtb \
75-
stm32mp157c-ultra-fly-sbc.dtb
75+
stm32mp157c-ultra-fly-sbc.dtb \
76+
stm32mp157f-dk2.dtb
7677
dtb-$(CONFIG_ARCH_U8500) += \
7778
ste-snowball.dtb \
7879
ste-hrefprev60-stuib.dtb \

arch/arm/boot/dts/st/stm32mp131.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,6 +1614,8 @@
16141614
snps,axi-config = <&stmmac_axi_config_1>;
16151615
snps,tso;
16161616
access-controllers = <&etzpc 48>;
1617+
nvmem-cells = <&ethernet_mac1_address>;
1618+
nvmem-cell-names = "mac-address";
16171619
status = "disabled";
16181620

16191621
stmmac_axi_config_1: stmmac-axi-config {

arch/arm/boot/dts/st/stm32mp133.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@
9393
snps,axi-config = <&stmmac_axi_config_2>;
9494
snps,tso;
9595
access-controllers = <&etzpc 49>;
96+
nvmem-cells = <&ethernet_mac2_address>;
97+
nvmem-cell-names = "mac-address";
9698
status = "disabled";
9799

98100
stmmac_axi_config_2: stmmac-axi-config {

arch/arm/boot/dts/st/stm32mp15-scmi.dtsi

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@
44
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
55
*/
66

7+
#include <dt-bindings/regulator/st,stm32mp15-regulator.h>
8+
79
/ {
810
firmware {
911
optee: optee {
1012
compatible = "linaro,optee-tz";
1113
method = "smc";
14+
interrupt-parent = <&intc>;
15+
interrupts = <GIC_PPI 15 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
1216
};
1317

1418
scmi: scmi {
@@ -35,21 +39,21 @@
3539
#size-cells = <0>;
3640

3741
scmi_reg11: regulator@0 {
38-
reg = <0>;
42+
reg = <VOLTD_SCMI_REG11>;
3943
regulator-name = "reg11";
4044
regulator-min-microvolt = <1100000>;
4145
regulator-max-microvolt = <1100000>;
4246
};
4347

4448
scmi_reg18: regulator@1 {
45-
reg = <1>;
49+
reg = <VOLTD_SCMI_REG18>;
4650
regulator-name = "reg18";
4751
regulator-min-microvolt = <1800000>;
4852
regulator-max-microvolt = <1800000>;
4953
};
5054

5155
scmi_usb33: regulator@2 {
52-
reg = <2>;
56+
reg = <VOLTD_SCMI_USB33>;
5357
regulator-name = "usb33";
5458
regulator-min-microvolt = <3300000>;
5559
regulator-max-microvolt = <3300000>;
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2+
/*
3+
* Copyright (C) STMicroelectronics 2025 - All Rights Reserved
4+
* Author: Amelie Delaunay <amelie.delaunay@foss.st.com> for STMicroelectronics.
5+
*/
6+
7+
#include "stm32mp15-scmi.dtsi"
8+
9+
/ {
10+
reserved-memory {
11+
optee@de000000 {
12+
reg = <0xde000000 0x2000000>;
13+
no-map;
14+
};
15+
};
16+
17+
arm_wdt: watchdog {
18+
compatible = "arm,smc-wdt";
19+
arm,smc-id = <0xbc000000>;
20+
status = "disabled";
21+
};
22+
23+
};
24+
25+
&adc {
26+
vdd-supply = <&scmi_vdd>;
27+
vdda-supply = <&scmi_vdd>;
28+
};
29+
30+
&cpu0 {
31+
clocks = <&scmi_clk CK_SCMI_MPU>;
32+
};
33+
34+
&cpu1 {
35+
clocks = <&scmi_clk CK_SCMI_MPU>;
36+
};
37+
38+
&cryp1 {
39+
clocks = <&scmi_clk CK_SCMI_CRYP1>;
40+
resets = <&scmi_reset RST_SCMI_CRYP1>;
41+
};
42+
43+
&cs42l51 {
44+
VL-supply = <&scmi_v3v3>;
45+
VD-supply = <&scmi_v1v8_audio>;
46+
VA-supply = <&scmi_v1v8_audio>;
47+
VAHP-supply = <&scmi_v1v8_audio>;
48+
};
49+
50+
&dsi {
51+
phy-dsi-supply = <&scmi_reg18>;
52+
clocks = <&rcc DSI>, <&scmi_clk CK_SCMI_HSE>, <&rcc DSI_PX>;
53+
};
54+
55+
&gpioz {
56+
clocks = <&scmi_clk CK_SCMI_GPIOZ>;
57+
};
58+
59+
&hash1 {
60+
clocks = <&scmi_clk CK_SCMI_HASH1>;
61+
resets = <&scmi_reset RST_SCMI_HASH1>;
62+
};
63+
64+
&i2c1 {
65+
hdmi-transmitter@39 {
66+
iovcc-supply = <&scmi_v3v3_hdmi>;
67+
cvcc12-supply = <&scmi_v1v2_hdmi>;
68+
};
69+
};
70+
71+
&iwdg2 {
72+
clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>;
73+
status = "disabled";
74+
};
75+
76+
&m4_rproc {
77+
/delete-property/ st,syscfg-holdboot;
78+
resets = <&scmi_reset RST_SCMI_MCU>,
79+
<&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
80+
reset-names = "mcu_rst", "hold_boot";
81+
};
82+
83+
&mdma1 {
84+
resets = <&scmi_reset RST_SCMI_MDMA>;
85+
};
86+
87+
&optee {
88+
interrupt-parent = <&intc>;
89+
interrupts = <GIC_PPI 15 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
90+
};
91+
92+
&pwr_regulators {
93+
vdd-supply = <&scmi_vdd>;
94+
vdd_3v3_usbfs-supply = <&scmi_vdd_usb>;
95+
status = "disabled";
96+
};
97+
98+
&rcc {
99+
compatible = "st,stm32mp1-rcc-secure", "syscon";
100+
clock-names = "hse", "hsi", "csi", "lse", "lsi";
101+
clocks = <&scmi_clk CK_SCMI_HSE>,
102+
<&scmi_clk CK_SCMI_HSI>,
103+
<&scmi_clk CK_SCMI_CSI>,
104+
<&scmi_clk CK_SCMI_LSE>,
105+
<&scmi_clk CK_SCMI_LSI>;
106+
};
107+
108+
&rng1 {
109+
clocks = <&scmi_clk CK_SCMI_RNG1>;
110+
resets = <&scmi_reset RST_SCMI_RNG1>;
111+
};
112+
113+
&rtc {
114+
clocks = <&scmi_clk CK_SCMI_RTCAPB>, <&scmi_clk CK_SCMI_RTC>;
115+
};
116+
117+
&scmi_reguls {
118+
scmi_vddcore: regulator@3 {
119+
reg = <VOLTD_SCMI_STPMIC1_BUCK1>;
120+
regulator-name = "vddcore";
121+
};
122+
123+
scmi_vdd: regulator@5 {
124+
reg = <VOLTD_SCMI_STPMIC1_BUCK3>;
125+
regulator-name = "vdd";
126+
};
127+
128+
scmi_v3v3: regulator@6 {
129+
reg = <VOLTD_SCMI_STPMIC1_BUCK4>;
130+
regulator-name = "v3v3";
131+
};
132+
133+
scmi_v1v8_audio: regulator@7 {
134+
reg = <VOLTD_SCMI_STPMIC1_LDO1>;
135+
regulator-name = "v1v8_audio";
136+
};
137+
138+
scmi_v3v3_hdmi: regulator@8 {
139+
reg = <VOLTD_SCMI_STPMIC1_LDO2>;
140+
regulator-name = "v3v3_hdmi";
141+
};
142+
143+
scmi_vdd_usb: regulator@a {
144+
reg = <VOLTD_SCMI_STPMIC1_LDO4>;
145+
regulator-name = "vdd_usb";
146+
};
147+
148+
scmi_vdda: regulator@b {
149+
reg = <VOLTD_SCMI_STPMIC1_LDO5>;
150+
regulator-name = "vdda";
151+
};
152+
153+
scmi_v1v2_hdmi: regulator@c {
154+
reg = <VOLTD_SCMI_STPMIC1_LDO6>;
155+
regulator-name = "v1v2_hdmi";
156+
regulator-min-microvolt = <1200000>;
157+
regulator-max-microvolt = <1200000>;
158+
regulator-always-on;
159+
};
160+
161+
scmi_vbus_otg: regulator@f {
162+
reg = <VOLTD_SCMI_STPMIC1_PWR_SW1>;
163+
regulator-name = "vbus_otg";
164+
};
165+
166+
scmi_vbus_sw: regulator@10 {
167+
reg = <VOLTD_SCMI_STPMIC1_PWR_SW2>;
168+
regulator-name = "vbus_sw";
169+
};
170+
};
171+
172+
&sdmmc1 {
173+
vmmc-supply = <&scmi_v3v3>;
174+
};
175+
176+
&sdmmc3 {
177+
vmmc-supply = <&scmi_v3v3>;
178+
};
179+
180+
&usbh_ehci {
181+
hub@1 {
182+
vdd-supply = <&scmi_v3v3>;
183+
};
184+
};
185+
186+
&usbphyc_port0 {
187+
phy-supply = <&scmi_vdd_usb>;
188+
};
189+
190+
&usbphyc_port1 {
191+
phy-supply = <&scmi_vdd_usb>;
192+
};
193+
194+
&vrefbuf {
195+
vdda-supply = <&scmi_vdd>;
196+
};

0 commit comments

Comments
 (0)