Skip to content

Commit a8b5ab1

Browse files
asmellbycfriedt
authored andcommitted
dts: arm: silabs: Add rtcc and sysrtc bindings
Different Series 2 devices have different RTC IPs, despite sharing a HAL driver. Introduce separate bindings for the different IPs, and use a chosen node to select the node to use for timekeeping. A chosen node was selected over a nodelabel since chosen nodes can be overridden by board-level dts and devicetree overlays, while nodelabels can't. Signed-off-by: Aksel Skauge Mellbye <[email protected]>
1 parent 0d2f910 commit a8b5ab1

File tree

11 files changed

+59
-17
lines changed

11 files changed

+59
-17
lines changed

boards/sparkfun/thing_plus_matter_mgm240p/sparkfun_thing_plus_matter_mgm240p.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ zephyr_i2c: &i2c0 {
183183
status = "okay";
184184
};
185185

186-
&stimer0 {
186+
&sysrtc0 {
187187
status = "okay";
188188
};
189189

dts/arm/silabs/siwg917.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
/ {
1313
chosen {
14+
silabs,sleeptimer = &sysrtc0;
1415
zephyr,sram = &sram0;
1516
zephyr,entropy = &rng0;
1617
zephyr,flash = &flash0;
@@ -363,8 +364,8 @@
363364
status = "disabled";
364365
};
365366

366-
sysrtc0: stimer0: sysrtc@24048c00 {
367-
compatible = "silabs,gecko-stimer";
367+
sysrtc0: sysrtc@24048c00 {
368+
compatible = "silabs,sysrtc";
368369
reg = <0x24048c00 0x78>;
369370
interrupts = <22 0>;
370371
interrupt-names = "sysrtc";

dts/arm/silabs/xg21/xg21.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
/ {
1818
chosen {
19+
silabs,sleeptimer = &rtcc0;
1920
zephyr,entropy = &se;
2021
zephyr,flash-controller = &msc;
2122
};
@@ -448,8 +449,8 @@
448449
status = "disabled";
449450
};
450451

451-
rtcc0: stimer0: rtcc@58000000 {
452-
compatible = "silabs,gecko-stimer";
452+
rtcc0: rtcc@58000000 {
453+
compatible = "silabs,rtcc";
453454
reg = <0x58000000 0x4000>;
454455
clock-frequency = <32768>;
455456
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_RTCCCLK>;

dts/arm/silabs/xg22/xg22.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/ {
1717
chosen {
18+
silabs,sleeptimer = &rtcc0;
1819
zephyr,entropy = &trng;
1920
zephyr,flash-controller = &msc;
2021
};
@@ -491,8 +492,8 @@
491492
status = "disabled";
492493
};
493494

494-
rtcc0: stimer0: rtcc@58000000 {
495-
compatible = "silabs,gecko-stimer";
495+
rtcc0: rtcc@58000000 {
496+
compatible = "silabs,rtcc";
496497
reg = <0x58000000 0x4000>;
497498
clock-frequency = <32768>;
498499
clocks = <&cmu CLOCK_RTCC CLOCK_BRANCH_RTCCCLK>;

dts/arm/silabs/xg23/xg23.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/ {
1717
chosen {
18+
silabs,sleeptimer = &sysrtc0;
1819
zephyr,entropy = &se;
1920
zephyr,flash-controller = &msc;
2021
};
@@ -511,8 +512,8 @@
511512
status = "disabled";
512513
};
513514

514-
sysrtc0: stimer0: sysrtc@500a8000 {
515-
compatible = "silabs,gecko-stimer";
515+
sysrtc0: sysrtc@500a8000 {
516+
compatible = "silabs,sysrtc";
516517
reg = <0x500a8000 0x4000>;
517518
clock-frequency = <32768>;
518519
clocks = <&cmu CLOCK_SYSRTC0 CLOCK_BRANCH_SYSRTCCLK>;

dts/arm/silabs/xg24/xg24.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/ {
1717
chosen {
18+
silabs,sleeptimer = &sysrtc0;
1819
zephyr,entropy = &se;
1920
zephyr,flash-controller = &msc;
2021
};
@@ -494,8 +495,8 @@
494495
status = "disabled";
495496
};
496497

497-
sysrtc0: stimer0: sysrtc@500a8000 {
498-
compatible = "silabs,gecko-stimer";
498+
sysrtc0: sysrtc@500a8000 {
499+
compatible = "silabs,sysrtc";
499500
reg = <0x500a8000 0x4000>;
500501
clock-frequency = <32768>;
501502
clocks = <&cmu CLOCK_SYSRTC0 CLOCK_BRANCH_SYSRTCCLK>;

dts/arm/silabs/xg27/xg27.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/ {
1717
chosen {
18+
silabs,sleeptimer = &rtcc0;
1819
zephyr,entropy = &trng;
1920
zephyr,flash-controller = &msc;
2021
};
@@ -491,8 +492,8 @@
491492
status = "disabled";
492493
};
493494

494-
rtcc0: stimer0: rtcc@58000000 {
495-
compatible = "silabs,gecko-stimer";
495+
rtcc0: rtcc@58000000 {
496+
compatible = "silabs,rtcc";
496497
reg = <0x58000000 0x4000>;
497498
clock-frequency = <32768>;
498499
clocks = <&cmu CLOCK_RTCC CLOCK_BRANCH_RTCCCLK>;

dts/arm/silabs/xg28/xg28.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
/ {
1717
chosen {
18+
silabs,sleeptimer = &sysrtc0;
1819
zephyr,entropy = &se;
1920
zephyr,flash-controller = &msc;
2021
};
@@ -511,8 +512,8 @@
511512
status = "disabled";
512513
};
513514

514-
sysrtc0: stimer0: sysrtc@500a8000 {
515-
compatible = "silabs,gecko-stimer";
515+
sysrtc0: sysrtc@500a8000 {
516+
compatible = "silabs,sysrtc";
516517
reg = <0x500a8000 0x4000>;
517518
clock-frequency = <32768>;
518519
clocks = <&cmu CLOCK_SYSRTC0 CLOCK_BRANCH_SYSRTCCLK>;

dts/arm/silabs/xg29/xg29.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
/ {
1616
chosen {
17+
silabs,sleeptimer = &rtcc0;
1718
zephyr,entropy = &se;
1819
zephyr,flash-controller = &msc;
1920
};
@@ -505,8 +506,8 @@
505506
status = "disabled";
506507
};
507508

508-
rtcc0: stimer0: rtcc@58000000 {
509-
compatible = "silabs,gecko-stimer";
509+
rtcc0: rtcc@58000000 {
510+
compatible = "silabs,rtcc";
510511
reg = <0x58000000 0x4000>;
511512
clock-frequency = <32768>;
512513
clocks = <&cmu CLOCK_RTCC CLOCK_BRANCH_RTCCCLK>;

dts/bindings/rtc/silabs,rtcc.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2025 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
title: Silicon Labs Series 2 RTCC (Real Time Clock with Capture)
5+
6+
description: |
7+
The Real Time Clock with Capture (RTCC) is a 32-bit counter kept running down to energy mode EM3.
8+
It can be used as an EM2/3 wakeup source as well as a timekeeping counter during low energy mode.
9+
10+
compatible: "silabs,rtcc"
11+
12+
include: rtc.yaml
13+
14+
properties:
15+
reg:
16+
required: true

0 commit comments

Comments
 (0)