Skip to content

Commit 126e751

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 d2b73a7 commit 126e751

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
@@ -1491,6 +1491,34 @@
14911491
endtx-stoptx-supported;
14921492
frame-timeout-supported;
14931493
};
1494+
1495+
tdm130: tdm@992000 {
1496+
compatible = "nordic,nrf-tdm";
1497+
easydma-maxcnt-bits = <15>;
1498+
#address-cells = <1>;
1499+
#size-cells = <0>;
1500+
reg = <0x992000 0x1000>;
1501+
interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>;
1502+
status = "disabled";
1503+
clocks = <&fll16m>;
1504+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1505+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1506+
<NRF_FUN_TDM_MCK>;
1507+
};
1508+
1509+
tdm131: tdm@997000 {
1510+
compatible = "nordic,nrf-tdm";
1511+
easydma-maxcnt-bits = <15>;
1512+
#address-cells = <1>;
1513+
#size-cells = <0>;
1514+
reg = <0x997000 0x1000>;
1515+
interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>;
1516+
status = "disabled";
1517+
clocks = <&fll16m>;
1518+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1519+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1520+
<NRF_FUN_TDM_MCK>;
1521+
};
14941522
};
14951523
};
14961524

dts/common/nordic/nrf54l20.dtsi

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@
5353
clock-frequency = <DT_FREQ_M(16)>;
5454
};
5555

56+
pclk32m: pclk32m {
57+
compatible = "fixed-clock";
58+
#clock-cells = <0>;
59+
clock-frequency = <DT_FREQ_M(32)>;
60+
};
61+
5662
lfxo: lfxo {
5763
compatible = "nordic,nrf-lfxo";
5864
#clock-cells = <0>;
@@ -684,6 +690,19 @@
684690
frame-timeout-supported;
685691
};
686692

693+
tdm: tdm@e8000 {
694+
compatible = "nordic,nrf-tdm";
695+
easydma-maxcnt-bits = <15>;
696+
#address-cells = <1>;
697+
#size-cells = <0>;
698+
reg = <0xe8000 0x1000>;
699+
interrupts = <232 NRF_DEFAULT_IRQ_PRIORITY>;
700+
status = "disabled";
701+
clocks = <&pclk32m>;
702+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
703+
<NRF_FUN_TDM_MCK>;
704+
};
705+
687706
wdt30: watchdog@108000 {
688707
compatible = "nordic,nrf-wdt";
689708
reg = <0x108000 0x620>;

0 commit comments

Comments
 (0)