Skip to content

Commit 8e12b58

Browse files
[nrf fromlist] dts: nordic: nrf54: add TDM support for nRF54
Add TDM support for nRF54H20 and nRF54L20 Upstream PR #: 82144 Signed-off-by: Adam Kondraciuk <[email protected]>
1 parent 925405f commit 8e12b58

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

dts/bindings/i2s/nordic,nrf-tdm.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: Nordic TDM (Time division multiplexed audio interface)
5+
6+
compatible: "nordic,nrf-tdm"
7+
8+
include: [i2s-controller.yaml, pinctrl-device.yaml, nordic-clockpin.yaml, "memory-region.yaml"]
9+
10+
properties:
11+
reg:
12+
required: true
13+
14+
interrupts:
15+
required: true
16+
17+
mck-frequency:
18+
type: int
19+
description: |
20+
Frequency of the MCK clock. Configured independently of SCK.
21+
22+
pinctrl-0:
23+
required: true
24+
25+
pinctrl-names:
26+
required: true
27+
28+
easydma-maxcnt-bits:
29+
type: int
30+
required: true
31+
description: |
32+
Maximum number of bits available in the EasyDMA MAXCNT register. This
33+
property must be set at SoC level DTS files.
34+
35+
clock-source:
36+
type: string
37+
default: "PCLK"
38+
description: |
39+
Clock source to be used by the TDM peripheral. The following options
40+
are available:
41+
- "PCLK": Peripheral clock
42+
- "ACLK": Audio PLL clock with configurable frequency (frequency for
43+
this clock must be set via the "hfclkaudio-frequency" property
44+
in the "nordic,nrf-clock" node); this clock source is only available
45+
in the nRF53 Series SoCs and it requires the use of HFXO
46+
enum:
47+
- "PCLK"
48+
- "ACLK"

dts/common/nordic/nrf54h20.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1478,6 +1478,34 @@
14781478
endtx-stoptx-supported;
14791479
frame-timeout-supported;
14801480
};
1481+
1482+
tdm130: tdm@992000 {
1483+
compatible = "nordic,nrf-tdm";
1484+
easydma-maxcnt-bits = <15>;
1485+
#address-cells = <1>;
1486+
#size-cells = <0>;
1487+
reg = <0x992000 0x1000>;
1488+
interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>;
1489+
status = "disabled";
1490+
clocks = <&fll16m>;
1491+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1492+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1493+
<NRF_FUN_TDM_MCK>;
1494+
};
1495+
1496+
tdm131: tdm@997000 {
1497+
compatible = "nordic,nrf-tdm";
1498+
easydma-maxcnt-bits = <15>;
1499+
#address-cells = <1>;
1500+
#size-cells = <0>;
1501+
reg = <0x997000 0x1000>;
1502+
interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>;
1503+
status = "disabled";
1504+
clocks = <&fll16m>;
1505+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1506+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1507+
<NRF_FUN_TDM_MCK>;
1508+
};
14811509
};
14821510
};
14831511

dts/common/nordic/nrf54l20.dtsi

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@
4141
clock-frequency = <DT_FREQ_M(16)>;
4242
};
4343

44+
pclk32m: pclk32m {
45+
compatible = "fixed-clock";
46+
#clock-cells = <0>;
47+
clock-frequency = <DT_FREQ_M(32)>;
48+
};
49+
4450
lfxo: lfxo {
4551
compatible = "nordic,nrf-lfxo";
4652
#clock-cells = <0>;
@@ -645,6 +651,19 @@
645651
frame-timeout-supported;
646652
};
647653

654+
tdm: tdm@e8000 {
655+
compatible = "nordic,nrf-tdm";
656+
easydma-maxcnt-bits = <15>;
657+
#address-cells = <1>;
658+
#size-cells = <0>;
659+
reg = <0xe8000 0x1000>;
660+
interrupts = <232 NRF_DEFAULT_IRQ_PRIORITY>;
661+
status = "disabled";
662+
clocks = <&pclk32m>;
663+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
664+
<NRF_FUN_TDM_MCK>;
665+
};
666+
648667
wdt30: watchdog@108000 {
649668
compatible = "nordic,nrf-wdt";
650669
reg = <0x108000 0x620>;

0 commit comments

Comments
 (0)