10afb88d5SViorel Suman# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 20afb88d5SViorel Suman%YAML 1.2 30afb88d5SViorel Suman--- 40afb88d5SViorel Suman$id: http://devicetree.org/schemas/sound/fsl,xcvr.yaml# 50afb88d5SViorel Suman$schema: http://devicetree.org/meta-schemas/core.yaml# 60afb88d5SViorel Suman 70afb88d5SViorel Sumantitle: NXP Audio Transceiver (XCVR) Controller 80afb88d5SViorel Suman 90afb88d5SViorel Sumanmaintainers: 100afb88d5SViorel Suman - Viorel Suman <viorel.suman@nxp.com> 110afb88d5SViorel Suman 120afb88d5SViorel Sumandescription: | 130afb88d5SViorel Suman NXP XCVR (Audio Transceiver) is a on-chip functional module 140afb88d5SViorel Suman that allows CPU to receive and transmit digital audio via 150afb88d5SViorel Suman HDMI2.1 eARC, HDMI1.4 ARC and SPDIF. 160afb88d5SViorel Suman 170afb88d5SViorel Sumanproperties: 180afb88d5SViorel Suman $nodename: 190afb88d5SViorel Suman pattern: "^xcvr@.*" 200afb88d5SViorel Suman 210afb88d5SViorel Suman compatible: 220afb88d5SViorel Suman enum: 230afb88d5SViorel Suman - fsl,imx8mp-xcvr 24*0a22003cSChancel Liu - fsl,imx93-xcvr 250afb88d5SViorel Suman 260afb88d5SViorel Suman reg: 270afb88d5SViorel Suman items: 280afb88d5SViorel Suman - description: 20K RAM for code and data 290afb88d5SViorel Suman - description: registers space 300afb88d5SViorel Suman - description: RX FIFO address 310afb88d5SViorel Suman - description: TX FIFO address 320afb88d5SViorel Suman 330afb88d5SViorel Suman reg-names: 340afb88d5SViorel Suman items: 350afb88d5SViorel Suman - const: ram 360afb88d5SViorel Suman - const: regs 370afb88d5SViorel Suman - const: rxfifo 380afb88d5SViorel Suman - const: txfifo 390afb88d5SViorel Suman 400afb88d5SViorel Suman interrupts: 410afb88d5SViorel Suman maxItems: 1 420afb88d5SViorel Suman 430afb88d5SViorel Suman clocks: 440afb88d5SViorel Suman items: 450afb88d5SViorel Suman - description: Peripheral clock 460afb88d5SViorel Suman - description: PHY clock 470afb88d5SViorel Suman - description: SPBA clock 480afb88d5SViorel Suman - description: PLL clock 490afb88d5SViorel Suman 500afb88d5SViorel Suman clock-names: 510afb88d5SViorel Suman items: 520afb88d5SViorel Suman - const: ipg 530afb88d5SViorel Suman - const: phy 540afb88d5SViorel Suman - const: spba 550afb88d5SViorel Suman - const: pll_ipg 560afb88d5SViorel Suman 570afb88d5SViorel Suman dmas: 580afb88d5SViorel Suman items: 590afb88d5SViorel Suman - description: DMA controller phandle and request line for RX 600afb88d5SViorel Suman - description: DMA controller phandle and request line for TX 610afb88d5SViorel Suman 620afb88d5SViorel Suman dma-names: 630afb88d5SViorel Suman items: 640afb88d5SViorel Suman - const: rx 650afb88d5SViorel Suman - const: tx 660afb88d5SViorel Suman 670afb88d5SViorel Suman resets: 680afb88d5SViorel Suman maxItems: 1 690afb88d5SViorel Suman 700afb88d5SViorel Sumanrequired: 710afb88d5SViorel Suman - compatible 720afb88d5SViorel Suman - reg 730afb88d5SViorel Suman - reg-names 740afb88d5SViorel Suman - interrupts 750afb88d5SViorel Suman - clocks 760afb88d5SViorel Suman - clock-names 770afb88d5SViorel Suman - dmas 780afb88d5SViorel Suman - dma-names 790afb88d5SViorel Suman - resets 800afb88d5SViorel Suman 810afb88d5SViorel SumanadditionalProperties: false 820afb88d5SViorel Suman 830afb88d5SViorel Sumanexamples: 840afb88d5SViorel Suman - | 850afb88d5SViorel Suman #include <dt-bindings/interrupt-controller/arm-gic.h> 860afb88d5SViorel Suman #include <dt-bindings/clock/imx8mp-clock.h> 870afb88d5SViorel Suman #include <dt-bindings/reset/imx8mp-reset.h> 880afb88d5SViorel Suman 890afb88d5SViorel Suman xcvr: xcvr@30cc0000 { 900afb88d5SViorel Suman compatible = "fsl,imx8mp-xcvr"; 910afb88d5SViorel Suman reg = <0x30cc0000 0x800>, 920afb88d5SViorel Suman <0x30cc0800 0x400>, 930afb88d5SViorel Suman <0x30cc0c00 0x080>, 940afb88d5SViorel Suman <0x30cc0e00 0x080>; 950afb88d5SViorel Suman reg-names = "ram", "regs", "rxfifo", "txfifo"; 960afb88d5SViorel Suman interrupts = <0x0 128 IRQ_TYPE_LEVEL_HIGH>; 970afb88d5SViorel Suman clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_IPG>, 980afb88d5SViorel Suman <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_PHY>, 990afb88d5SViorel Suman <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>, 1000afb88d5SViorel Suman <&audiomix_clk IMX8MP_CLK_AUDIOMIX_AUDPLL_ROOT>; 1010afb88d5SViorel Suman clock-names = "ipg", "phy", "spba", "pll_ipg"; 1020afb88d5SViorel Suman dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>; 1030afb88d5SViorel Suman dma-names = "rx", "tx"; 1040afb88d5SViorel Suman resets = <&audiomix_reset 0>; 1050afb88d5SViorel Suman }; 106