1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/snps,designware-i2s.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: DesignWare I2S controller 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Jose Abreu <joabreu@synopsys.com> 11b97ee269SEmmanuel Vadot 12b97ee269SEmmanuel Vadotproperties: 13b97ee269SEmmanuel Vadot compatible: 14b97ee269SEmmanuel Vadot oneOf: 15b97ee269SEmmanuel Vadot - items: 16b97ee269SEmmanuel Vadot - const: canaan,k210-i2s 17b97ee269SEmmanuel Vadot - const: snps,designware-i2s 18b97ee269SEmmanuel Vadot - enum: 19b97ee269SEmmanuel Vadot - snps,designware-i2s 20*aa1a8ff2SEmmanuel Vadot - starfive,jh7110-i2stx0 21*aa1a8ff2SEmmanuel Vadot - starfive,jh7110-i2stx1 22*aa1a8ff2SEmmanuel Vadot - starfive,jh7110-i2srx 23b97ee269SEmmanuel Vadot 24b97ee269SEmmanuel Vadot reg: 25b97ee269SEmmanuel Vadot maxItems: 1 26b97ee269SEmmanuel Vadot 27b97ee269SEmmanuel Vadot interrupts: 28b97ee269SEmmanuel Vadot description: | 29b97ee269SEmmanuel Vadot The interrupt line number for the I2S controller. Add this 30b97ee269SEmmanuel Vadot parameter if the I2S controller that you are using does not 31b97ee269SEmmanuel Vadot support DMA. 32b97ee269SEmmanuel Vadot maxItems: 1 33b97ee269SEmmanuel Vadot 34b97ee269SEmmanuel Vadot clocks: 35*aa1a8ff2SEmmanuel Vadot items: 36*aa1a8ff2SEmmanuel Vadot - description: Sampling rate reference clock 37*aa1a8ff2SEmmanuel Vadot - description: APB clock 38*aa1a8ff2SEmmanuel Vadot - description: Audio master clock 39*aa1a8ff2SEmmanuel Vadot - description: Inner audio master clock source 40*aa1a8ff2SEmmanuel Vadot - description: External audio master clock source 41*aa1a8ff2SEmmanuel Vadot - description: Bit clock 42*aa1a8ff2SEmmanuel Vadot - description: Left/right channel clock 43*aa1a8ff2SEmmanuel Vadot - description: External bit clock 44*aa1a8ff2SEmmanuel Vadot - description: External left/right channel clock 45*aa1a8ff2SEmmanuel Vadot minItems: 1 46b97ee269SEmmanuel Vadot 47b97ee269SEmmanuel Vadot clock-names: 48*aa1a8ff2SEmmanuel Vadot items: 49*aa1a8ff2SEmmanuel Vadot - const: i2sclk 50*aa1a8ff2SEmmanuel Vadot - const: apb 51*aa1a8ff2SEmmanuel Vadot - const: mclk 52*aa1a8ff2SEmmanuel Vadot - const: mclk_inner 53*aa1a8ff2SEmmanuel Vadot - const: mclk_ext 54*aa1a8ff2SEmmanuel Vadot - const: bclk 55*aa1a8ff2SEmmanuel Vadot - const: lrck 56*aa1a8ff2SEmmanuel Vadot - const: bclk_ext 57*aa1a8ff2SEmmanuel Vadot - const: lrck_ext 58*aa1a8ff2SEmmanuel Vadot minItems: 1 59b97ee269SEmmanuel Vadot 60b97ee269SEmmanuel Vadot resets: 61f126890aSEmmanuel Vadot items: 62f126890aSEmmanuel Vadot - description: Optional controller resets 63*aa1a8ff2SEmmanuel Vadot - description: controller reset of Sampling rate 64*aa1a8ff2SEmmanuel Vadot minItems: 1 65b97ee269SEmmanuel Vadot 66b97ee269SEmmanuel Vadot dmas: 67b97ee269SEmmanuel Vadot items: 68b97ee269SEmmanuel Vadot - description: TX DMA Channel 69b97ee269SEmmanuel Vadot - description: RX DMA Channel 70b97ee269SEmmanuel Vadot minItems: 1 71b97ee269SEmmanuel Vadot 72b97ee269SEmmanuel Vadot dma-names: 73b97ee269SEmmanuel Vadot items: 74b97ee269SEmmanuel Vadot - const: tx 75b97ee269SEmmanuel Vadot - const: rx 76b97ee269SEmmanuel Vadot minItems: 1 77b97ee269SEmmanuel Vadot 78*aa1a8ff2SEmmanuel Vadot starfive,syscon: 79*aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 80*aa1a8ff2SEmmanuel Vadot items: 81*aa1a8ff2SEmmanuel Vadot - items: 82*aa1a8ff2SEmmanuel Vadot - description: phandle to System Register Controller sys_syscon node. 83*aa1a8ff2SEmmanuel Vadot - description: I2S-rx enabled control offset of SYS_SYSCONSAIF__SYSCFG register. 84*aa1a8ff2SEmmanuel Vadot - description: I2S-rx enabled control mask 85*aa1a8ff2SEmmanuel Vadot description: 86*aa1a8ff2SEmmanuel Vadot The phandle to System Register Controller syscon node and the I2S-rx(ADC) 87*aa1a8ff2SEmmanuel Vadot enabled control offset and mask of SYS_SYSCONSAIF__SYSCFG register. 88*aa1a8ff2SEmmanuel Vadot 898bab661aSEmmanuel VadotallOf: 908bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 918bab661aSEmmanuel Vadot - if: 92b97ee269SEmmanuel Vadot properties: 93b97ee269SEmmanuel Vadot compatible: 94b97ee269SEmmanuel Vadot contains: 95b97ee269SEmmanuel Vadot const: canaan,k210-i2s 96b97ee269SEmmanuel Vadot then: 97b97ee269SEmmanuel Vadot properties: 98b97ee269SEmmanuel Vadot "#sound-dai-cells": 99b97ee269SEmmanuel Vadot const: 1 100b97ee269SEmmanuel Vadot else: 101b97ee269SEmmanuel Vadot properties: 102b97ee269SEmmanuel Vadot "#sound-dai-cells": 103b97ee269SEmmanuel Vadot const: 0 104*aa1a8ff2SEmmanuel Vadot - if: 105*aa1a8ff2SEmmanuel Vadot properties: 106*aa1a8ff2SEmmanuel Vadot compatible: 107*aa1a8ff2SEmmanuel Vadot contains: 108*aa1a8ff2SEmmanuel Vadot const: snps,designware-i2s 109*aa1a8ff2SEmmanuel Vadot then: 110*aa1a8ff2SEmmanuel Vadot properties: 111*aa1a8ff2SEmmanuel Vadot clocks: 112*aa1a8ff2SEmmanuel Vadot maxItems: 1 113*aa1a8ff2SEmmanuel Vadot clock-names: 114*aa1a8ff2SEmmanuel Vadot maxItems: 1 115*aa1a8ff2SEmmanuel Vadot resets: 116*aa1a8ff2SEmmanuel Vadot maxItems: 1 117*aa1a8ff2SEmmanuel Vadot else: 118*aa1a8ff2SEmmanuel Vadot properties: 119*aa1a8ff2SEmmanuel Vadot resets: 120*aa1a8ff2SEmmanuel Vadot minItems: 2 121*aa1a8ff2SEmmanuel Vadot maxItems: 2 122*aa1a8ff2SEmmanuel Vadot - if: 123*aa1a8ff2SEmmanuel Vadot properties: 124*aa1a8ff2SEmmanuel Vadot compatible: 125*aa1a8ff2SEmmanuel Vadot contains: 126*aa1a8ff2SEmmanuel Vadot const: starfive,jh7110-i2stx0 127*aa1a8ff2SEmmanuel Vadot then: 128*aa1a8ff2SEmmanuel Vadot properties: 129*aa1a8ff2SEmmanuel Vadot clocks: 130*aa1a8ff2SEmmanuel Vadot minItems: 5 131*aa1a8ff2SEmmanuel Vadot maxItems: 5 132*aa1a8ff2SEmmanuel Vadot clock-names: 133*aa1a8ff2SEmmanuel Vadot minItems: 5 134*aa1a8ff2SEmmanuel Vadot maxItems: 5 135*aa1a8ff2SEmmanuel Vadot required: 136*aa1a8ff2SEmmanuel Vadot - resets 137*aa1a8ff2SEmmanuel Vadot - if: 138*aa1a8ff2SEmmanuel Vadot properties: 139*aa1a8ff2SEmmanuel Vadot compatible: 140*aa1a8ff2SEmmanuel Vadot contains: 141*aa1a8ff2SEmmanuel Vadot const: starfive,jh7110-i2stx1 142*aa1a8ff2SEmmanuel Vadot then: 143*aa1a8ff2SEmmanuel Vadot properties: 144*aa1a8ff2SEmmanuel Vadot clocks: 145*aa1a8ff2SEmmanuel Vadot minItems: 9 146*aa1a8ff2SEmmanuel Vadot maxItems: 9 147*aa1a8ff2SEmmanuel Vadot clock-names: 148*aa1a8ff2SEmmanuel Vadot minItems: 9 149*aa1a8ff2SEmmanuel Vadot maxItems: 9 150*aa1a8ff2SEmmanuel Vadot required: 151*aa1a8ff2SEmmanuel Vadot - resets 152*aa1a8ff2SEmmanuel Vadot - if: 153*aa1a8ff2SEmmanuel Vadot properties: 154*aa1a8ff2SEmmanuel Vadot compatible: 155*aa1a8ff2SEmmanuel Vadot contains: 156*aa1a8ff2SEmmanuel Vadot const: starfive,jh7110-i2srx 157*aa1a8ff2SEmmanuel Vadot then: 158*aa1a8ff2SEmmanuel Vadot properties: 159*aa1a8ff2SEmmanuel Vadot clocks: 160*aa1a8ff2SEmmanuel Vadot minItems: 9 161*aa1a8ff2SEmmanuel Vadot maxItems: 9 162*aa1a8ff2SEmmanuel Vadot clock-names: 163*aa1a8ff2SEmmanuel Vadot minItems: 9 164*aa1a8ff2SEmmanuel Vadot maxItems: 9 165*aa1a8ff2SEmmanuel Vadot required: 166*aa1a8ff2SEmmanuel Vadot - resets 167*aa1a8ff2SEmmanuel Vadot - starfive,syscon 168*aa1a8ff2SEmmanuel Vadot else: 169*aa1a8ff2SEmmanuel Vadot properties: 170*aa1a8ff2SEmmanuel Vadot starfive,syscon: false 171b97ee269SEmmanuel Vadot 172b97ee269SEmmanuel Vadotrequired: 173b97ee269SEmmanuel Vadot - compatible 174b97ee269SEmmanuel Vadot - reg 175b97ee269SEmmanuel Vadot - clocks 176b97ee269SEmmanuel Vadot - clock-names 177b97ee269SEmmanuel Vadot 178b97ee269SEmmanuel VadotoneOf: 179b97ee269SEmmanuel Vadot - required: 180b97ee269SEmmanuel Vadot - dmas 181b97ee269SEmmanuel Vadot - dma-names 182b97ee269SEmmanuel Vadot - required: 183b97ee269SEmmanuel Vadot - interrupts 184b97ee269SEmmanuel Vadot 185b97ee269SEmmanuel VadotunevaluatedProperties: false 186b97ee269SEmmanuel Vadot 187b97ee269SEmmanuel Vadotexamples: 188b97ee269SEmmanuel Vadot - | 189b97ee269SEmmanuel Vadot soc_i2s: i2s@7ff90000 { 190b97ee269SEmmanuel Vadot compatible = "snps,designware-i2s"; 191b97ee269SEmmanuel Vadot reg = <0x7ff90000 0x1000>; 192b97ee269SEmmanuel Vadot clocks = <&scpi_i2sclk 0>; 193b97ee269SEmmanuel Vadot clock-names = "i2sclk"; 194b97ee269SEmmanuel Vadot #sound-dai-cells = <0>; 195b97ee269SEmmanuel Vadot dmas = <&dma0 5>; 196b97ee269SEmmanuel Vadot dma-names = "tx"; 197b97ee269SEmmanuel Vadot }; 198