Skip to content

Commit 7381c89

Browse files
adamkondraciukkartben
authored andcommitted
dts: nordic: nrf54: add TDM support for nRF54
Add TDM support for nRF54H20 and nRF54L20 Signed-off-by: Adam Kondraciuk <[email protected]>
1 parent f691d8e commit 7381c89

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed

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

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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+
mck-clock-source:
36+
type: string
37+
default: "PCLK"
38+
description: |
39+
Clock source to be used by the MCK signal. 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 "frequency" property
44+
in the "nordic,nrfs-audiopll" node).
45+
enum:
46+
- "PCLK"
47+
- "ACLK"
48+
49+
sck-clock-source:
50+
type: string
51+
default: "PCLK"
52+
description: |
53+
Clock source to be used by the SCK signal. The following options
54+
are available:
55+
- "PCLK": Peripheral clock
56+
- "ACLK": Audio PLL clock with configurable frequency (frequency for
57+
this clock must be set via the "frequency" property
58+
in the "nordic,nrfs-audiopll" node).
59+
enum:
60+
- "PCLK"
61+
- "ACLK"

dts/vendor/nordic/nrf54h20.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1497,6 +1497,34 @@
14971497
endtx-stoptx-supported;
14981498
frame-timeout-supported;
14991499
};
1500+
1501+
tdm130: tdm@992000 {
1502+
compatible = "nordic,nrf-tdm";
1503+
easydma-maxcnt-bits = <15>;
1504+
#address-cells = <1>;
1505+
#size-cells = <0>;
1506+
reg = <0x992000 0x1000>;
1507+
interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>;
1508+
status = "disabled";
1509+
clocks = <&fll16m>;
1510+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1511+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1512+
<NRF_FUN_TDM_MCK>;
1513+
};
1514+
1515+
tdm131: tdm@997000 {
1516+
compatible = "nordic,nrf-tdm";
1517+
easydma-maxcnt-bits = <15>;
1518+
#address-cells = <1>;
1519+
#size-cells = <0>;
1520+
reg = <0x997000 0x1000>;
1521+
interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>;
1522+
status = "disabled";
1523+
clocks = <&fll16m>;
1524+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1525+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1526+
<NRF_FUN_TDM_MCK>;
1527+
};
15001528
};
15011529
};
15021530

dts/vendor/nordic/nrf54l20.dtsi

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

57+
pclk32m: pclk32m {
58+
compatible = "fixed-clock";
59+
#clock-cells = <0>;
60+
clock-frequency = <DT_FREQ_M(32)>;
61+
};
62+
5763
lfxo: lfxo {
5864
compatible = "nordic,nrf54l-lfxo";
5965
#clock-cells = <0>;
@@ -564,6 +570,17 @@
564570
status = "disabled";
565571
};
566572

573+
tdm: tdm@e8000 {
574+
compatible = "nordic,nrf-tdm";
575+
easydma-maxcnt-bits = <15>;
576+
#address-cells = <1>;
577+
#size-cells = <0>;
578+
reg = <0xe8000 0x1000>;
579+
interrupts = <232 NRF_DEFAULT_IRQ_PRIORITY>;
580+
status = "disabled";
581+
clocks = <&pclk32m>;
582+
};
583+
567584
i2c23: i2c@ed000 {
568585
compatible = "nordic,nrf-twim";
569586
#address-cells = <1>;

0 commit comments

Comments
 (0)