15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,xcvr.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 75def4c47SEmmanuel Vadottitle: NXP Audio Transceiver (XCVR) Controller 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Viorel Suman <viorel.suman@nxp.com> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotdescription: | 135def4c47SEmmanuel Vadot NXP XCVR (Audio Transceiver) is a on-chip functional module 145def4c47SEmmanuel Vadot that allows CPU to receive and transmit digital audio via 155def4c47SEmmanuel Vadot HDMI2.1 eARC, HDMI1.4 ARC and SPDIF. 165def4c47SEmmanuel Vadot 175def4c47SEmmanuel Vadotproperties: 185def4c47SEmmanuel Vadot $nodename: 195def4c47SEmmanuel Vadot pattern: "^xcvr@.*" 205def4c47SEmmanuel Vadot 215def4c47SEmmanuel Vadot compatible: 225def4c47SEmmanuel Vadot enum: 235def4c47SEmmanuel Vadot - fsl,imx8mp-xcvr 24cb7aa33aSEmmanuel Vadot - fsl,imx93-xcvr 255def4c47SEmmanuel Vadot 265def4c47SEmmanuel Vadot reg: 275def4c47SEmmanuel Vadot items: 285def4c47SEmmanuel Vadot - description: 20K RAM for code and data 295def4c47SEmmanuel Vadot - description: registers space 305def4c47SEmmanuel Vadot - description: RX FIFO address 315def4c47SEmmanuel Vadot - description: TX FIFO address 325def4c47SEmmanuel Vadot 335def4c47SEmmanuel Vadot reg-names: 345def4c47SEmmanuel Vadot items: 355def4c47SEmmanuel Vadot - const: ram 365def4c47SEmmanuel Vadot - const: regs 375def4c47SEmmanuel Vadot - const: rxfifo 385def4c47SEmmanuel Vadot - const: txfifo 395def4c47SEmmanuel Vadot 405def4c47SEmmanuel Vadot interrupts: 41*8d13bc63SEmmanuel Vadot items: 42*8d13bc63SEmmanuel Vadot - description: WAKEUPMIX Audio XCVR Interrupt 1 43*8d13bc63SEmmanuel Vadot - description: WAKEUPMIX Audio XCVR Interrupt 2 44*8d13bc63SEmmanuel Vadot minItems: 1 455def4c47SEmmanuel Vadot 465def4c47SEmmanuel Vadot clocks: 475def4c47SEmmanuel Vadot items: 485def4c47SEmmanuel Vadot - description: Peripheral clock 495def4c47SEmmanuel Vadot - description: PHY clock 505def4c47SEmmanuel Vadot - description: SPBA clock 515def4c47SEmmanuel Vadot - description: PLL clock 525def4c47SEmmanuel Vadot 535def4c47SEmmanuel Vadot clock-names: 545def4c47SEmmanuel Vadot items: 555def4c47SEmmanuel Vadot - const: ipg 565def4c47SEmmanuel Vadot - const: phy 575def4c47SEmmanuel Vadot - const: spba 585def4c47SEmmanuel Vadot - const: pll_ipg 595def4c47SEmmanuel Vadot 605def4c47SEmmanuel Vadot dmas: 615def4c47SEmmanuel Vadot items: 625def4c47SEmmanuel Vadot - description: DMA controller phandle and request line for RX 635def4c47SEmmanuel Vadot - description: DMA controller phandle and request line for TX 645def4c47SEmmanuel Vadot 655def4c47SEmmanuel Vadot dma-names: 665def4c47SEmmanuel Vadot items: 675def4c47SEmmanuel Vadot - const: rx 685def4c47SEmmanuel Vadot - const: tx 695def4c47SEmmanuel Vadot 705def4c47SEmmanuel Vadot resets: 715def4c47SEmmanuel Vadot maxItems: 1 725def4c47SEmmanuel Vadot 735def4c47SEmmanuel Vadotrequired: 745def4c47SEmmanuel Vadot - compatible 755def4c47SEmmanuel Vadot - reg 765def4c47SEmmanuel Vadot - reg-names 775def4c47SEmmanuel Vadot - interrupts 785def4c47SEmmanuel Vadot - clocks 795def4c47SEmmanuel Vadot - clock-names 805def4c47SEmmanuel Vadot - dmas 815def4c47SEmmanuel Vadot - dma-names 825def4c47SEmmanuel Vadot - resets 835def4c47SEmmanuel Vadot 84*8d13bc63SEmmanuel VadotallOf: 85*8d13bc63SEmmanuel Vadot - if: 86*8d13bc63SEmmanuel Vadot properties: 87*8d13bc63SEmmanuel Vadot compatible: 88*8d13bc63SEmmanuel Vadot contains: 89*8d13bc63SEmmanuel Vadot enum: 90*8d13bc63SEmmanuel Vadot - fsl,imx93-xcvr 91*8d13bc63SEmmanuel Vadot then: 92*8d13bc63SEmmanuel Vadot properties: 93*8d13bc63SEmmanuel Vadot interrupts: 94*8d13bc63SEmmanuel Vadot minItems: 2 95*8d13bc63SEmmanuel Vadot maxItems: 2 96*8d13bc63SEmmanuel Vadot else: 97*8d13bc63SEmmanuel Vadot properties: 98*8d13bc63SEmmanuel Vadot interrupts: 99*8d13bc63SEmmanuel Vadot maxItems: 1 100*8d13bc63SEmmanuel Vadot 1015def4c47SEmmanuel VadotadditionalProperties: false 1025def4c47SEmmanuel Vadot 1035def4c47SEmmanuel Vadotexamples: 1045def4c47SEmmanuel Vadot - | 1055def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1065def4c47SEmmanuel Vadot #include <dt-bindings/clock/imx8mp-clock.h> 1075def4c47SEmmanuel Vadot #include <dt-bindings/reset/imx8mp-reset.h> 1085def4c47SEmmanuel Vadot 1095def4c47SEmmanuel Vadot xcvr: xcvr@30cc0000 { 1105def4c47SEmmanuel Vadot compatible = "fsl,imx8mp-xcvr"; 1115def4c47SEmmanuel Vadot reg = <0x30cc0000 0x800>, 1125def4c47SEmmanuel Vadot <0x30cc0800 0x400>, 1135def4c47SEmmanuel Vadot <0x30cc0c00 0x080>, 1145def4c47SEmmanuel Vadot <0x30cc0e00 0x080>; 1155def4c47SEmmanuel Vadot reg-names = "ram", "regs", "rxfifo", "txfifo"; 1165def4c47SEmmanuel Vadot interrupts = <0x0 128 IRQ_TYPE_LEVEL_HIGH>; 1175def4c47SEmmanuel Vadot clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_IPG>, 1185def4c47SEmmanuel Vadot <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_PHY>, 1195def4c47SEmmanuel Vadot <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>, 1205def4c47SEmmanuel Vadot <&audiomix_clk IMX8MP_CLK_AUDIOMIX_AUDPLL_ROOT>; 1215def4c47SEmmanuel Vadot clock-names = "ipg", "phy", "spba", "pll_ipg"; 1225def4c47SEmmanuel Vadot dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>; 1235def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 1245def4c47SEmmanuel Vadot resets = <&audiomix_reset 0>; 1255def4c47SEmmanuel Vadot }; 126