Commit 7381c891 authored by Adam Kondraciuk's avatar Adam Kondraciuk Committed by Benjamin Cabé
Browse files

dts: nordic: nrf54: add TDM support for nRF54

Add TDM support for nRF54H20 and nRF54L20

Signed-off-by: default avatarAdam Kondraciuk <adam.kondraciuk@nordicsemi.no>
parent f691d8e0
Loading
Loading
Loading
Loading
+61 −0
Changes for dts/bindings/i2s/nordic,nrf-tdm.yaml: 61 added lines, 0 removed lines.
Original line number Diff line number Diff line
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: Nordic TDM (Time division multiplexed audio interface)

compatible: "nordic,nrf-tdm"

include: [i2s-controller.yaml, pinctrl-device.yaml, nordic-clockpin.yaml, "memory-region.yaml"]

properties:
  reg:
    required: true

  interrupts:
    required: true

  mck-frequency:
    type: int
    description: |
      Frequency of the MCK clock. Configured independently of SCK.

  pinctrl-0:
    required: true

  pinctrl-names:
    required: true

  easydma-maxcnt-bits:
    type: int
    required: true
    description: |
      Maximum number of bits available in the EasyDMA MAXCNT register. This
      property must be set at SoC level DTS files.

  mck-clock-source:
    type: string
    default: "PCLK"
    description: |
      Clock source to be used by the MCK signal. The following options
      are available:
      - "PCLK": Peripheral clock
      - "ACLK": Audio PLL clock with configurable frequency (frequency for
        this clock must be set via the "frequency" property
        in the "nordic,nrfs-audiopll" node).
    enum:
      - "PCLK"
      - "ACLK"

  sck-clock-source:
    type: string
    default: "PCLK"
    description: |
      Clock source to be used by the SCK signal. The following options
      are available:
      - "PCLK": Peripheral clock
      - "ACLK": Audio PLL clock with configurable frequency (frequency for
        this clock must be set via the "frequency" property
        in the "nordic,nrfs-audiopll" node).
    enum:
      - "PCLK"
      - "ACLK"
+28 −0
Changes for dts/vendor/nordic/nrf54h20.dtsi: 28 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -1497,6 +1497,34 @@
				endtx-stoptx-supported;
				frame-timeout-supported;
			};

			tdm130: tdm@992000 {
				compatible = "nordic,nrf-tdm";
				easydma-maxcnt-bits = <15>;
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x992000 0x1000>;
				interrupts = <402 NRF_DEFAULT_IRQ_PRIORITY>;
				status = "disabled";
				clocks = <&fll16m>;
				power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
				nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
							 <NRF_FUN_TDM_MCK>;
			};

			tdm131: tdm@997000 {
				compatible = "nordic,nrf-tdm";
				easydma-maxcnt-bits = <15>;
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x997000 0x1000>;
				interrupts = <407 NRF_DEFAULT_IRQ_PRIORITY>;
				status = "disabled";
				clocks = <&fll16m>;
				power-domains = <&gpd NRF_GPD_SLOW_ACTIVE>;
				nordic,clockpin-enable = <NRF_FUN_TDM_SCK_M>,
							 <NRF_FUN_TDM_MCK>;
			};
		};
	};

+17 −0
Changes for dts/vendor/nordic/nrf54l20.dtsi: 17 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -54,6 +54,12 @@
			clock-frequency = <DT_FREQ_M(16)>;
		};

		pclk32m: pclk32m {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <DT_FREQ_M(32)>;
		};

		lfxo: lfxo {
			compatible = "nordic,nrf54l-lfxo";
			#clock-cells = <0>;
@@ -564,6 +570,17 @@
				status = "disabled";
			};

			tdm: tdm@e8000 {
				compatible = "nordic,nrf-tdm";
				easydma-maxcnt-bits = <15>;
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0xe8000 0x1000>;
				interrupts = <232 NRF_DEFAULT_IRQ_PRIORITY>;
				status = "disabled";
				clocks = <&pclk32m>;
			};

			i2c23: i2c@ed000 {
				compatible = "nordic,nrf-twim";
				#address-cells = <1>;