Skip to content

Commit 3afc1ac

Browse files
adamkondraciuknordicjm
authored andcommitted
[nrf fromtree] dts: nordic: nrf54: add TDM support for nRF54
Add TDM support for nRF54H20 and nRF54L20 Signed-off-by: Adam Kondraciuk <[email protected]> (cherry picked from commit 7381c89)
1 parent fb5cc5a commit 3afc1ac

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed
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/common/nordic/nrf54h20.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,6 +1507,34 @@
15071507
endtx-stoptx-supported;
15081508
frame-timeout-supported;
15091509
};
1510+
1511+
tdm130: tdm@992000 {
1512+
compatible = "nordic,nrf-tdm";
1513+
easydma-maxcnt-bits = <15>;
1514+
#address-cells = <1>;
1515+
#size-cells = <0>;
1516+
reg = <0x992000 0x1000>;
1517+
interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>;
1518+
status = "disabled";
1519+
clocks = <&fll16m>;
1520+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1521+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1522+
<NRF_FUN_TDM_MCK>;
1523+
};
1524+
1525+
tdm131: tdm@997000 {
1526+
compatible = "nordic,nrf-tdm";
1527+
easydma-maxcnt-bits = <15>;
1528+
#address-cells = <1>;
1529+
#size-cells = <0>;
1530+
reg = <0x997000 0x1000>;
1531+
interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>;
1532+
status = "disabled";
1533+
clocks = <&fll16m>;
1534+
power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
1535+
nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
1536+
<NRF_FUN_TDM_MCK>;
1537+
};
15101538
};
15111539
};
15121540

dts/common/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,nrf-lfxo";
5965
#clock-cells = <0>;
@@ -563,6 +569,17 @@
563569
status = "disabled";
564570
};
565571

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

0 commit comments

Comments
 (0)