1bc4c9d85SConor Dooley# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2bc4c9d85SConor Dooley%YAML 1.2 3bc4c9d85SConor Dooley--- 4bc4c9d85SConor Dooley$id: http://devicetree.org/schemas/sound/snps,designware-i2s.yaml# 5bc4c9d85SConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml# 6bc4c9d85SConor Dooley 7bc4c9d85SConor Dooleytitle: DesignWare I2S controller 8bc4c9d85SConor Dooley 9bc4c9d85SConor Dooleymaintainers: 10bc4c9d85SConor Dooley - Jose Abreu <joabreu@synopsys.com> 11bc4c9d85SConor Dooley 12bc4c9d85SConor Dooleyproperties: 13bc4c9d85SConor Dooley compatible: 14bc4c9d85SConor Dooley oneOf: 15bc4c9d85SConor Dooley - items: 16bc4c9d85SConor Dooley - const: canaan,k210-i2s 17bc4c9d85SConor Dooley - const: snps,designware-i2s 18bc4c9d85SConor Dooley - enum: 19bc4c9d85SConor Dooley - snps,designware-i2s 20206110c7SXingyu Wu - starfive,jh7110-i2stx0 21206110c7SXingyu Wu - starfive,jh7110-i2stx1 22206110c7SXingyu Wu - starfive,jh7110-i2srx 23bc4c9d85SConor Dooley 24bc4c9d85SConor Dooley reg: 25bc4c9d85SConor Dooley maxItems: 1 26bc4c9d85SConor Dooley 27bc4c9d85SConor Dooley interrupts: 28bc4c9d85SConor Dooley description: | 29bc4c9d85SConor Dooley The interrupt line number for the I2S controller. Add this 30bc4c9d85SConor Dooley parameter if the I2S controller that you are using does not 31bc4c9d85SConor Dooley support DMA. 32bc4c9d85SConor Dooley maxItems: 1 33bc4c9d85SConor Dooley 34bc4c9d85SConor Dooley clocks: 35206110c7SXingyu Wu items: 36206110c7SXingyu Wu - description: Sampling rate reference clock 37206110c7SXingyu Wu - description: APB clock 38206110c7SXingyu Wu - description: Audio master clock 39206110c7SXingyu Wu - description: Inner audio master clock source 40206110c7SXingyu Wu - description: External audio master clock source 41206110c7SXingyu Wu - description: Bit clock 42206110c7SXingyu Wu - description: Left/right channel clock 43206110c7SXingyu Wu - description: External bit clock 44206110c7SXingyu Wu - description: External left/right channel clock 45206110c7SXingyu Wu minItems: 1 46bc4c9d85SConor Dooley 47bc4c9d85SConor Dooley clock-names: 48206110c7SXingyu Wu items: 49206110c7SXingyu Wu - const: i2sclk 50206110c7SXingyu Wu - const: apb 51206110c7SXingyu Wu - const: mclk 52206110c7SXingyu Wu - const: mclk_inner 53206110c7SXingyu Wu - const: mclk_ext 54206110c7SXingyu Wu - const: bclk 55206110c7SXingyu Wu - const: lrck 56206110c7SXingyu Wu - const: bclk_ext 57206110c7SXingyu Wu - const: lrck_ext 58206110c7SXingyu Wu minItems: 1 59bc4c9d85SConor Dooley 60bc4c9d85SConor Dooley resets: 6112b99ec3SMaxim Kochetkov items: 6212b99ec3SMaxim Kochetkov - description: Optional controller resets 63206110c7SXingyu Wu - description: controller reset of Sampling rate 64206110c7SXingyu Wu minItems: 1 65bc4c9d85SConor Dooley 66bc4c9d85SConor Dooley dmas: 67bc4c9d85SConor Dooley items: 68bc4c9d85SConor Dooley - description: TX DMA Channel 69bc4c9d85SConor Dooley - description: RX DMA Channel 70bc4c9d85SConor Dooley minItems: 1 71bc4c9d85SConor Dooley 72bc4c9d85SConor Dooley dma-names: 73bc4c9d85SConor Dooley items: 74bc4c9d85SConor Dooley - const: tx 75bc4c9d85SConor Dooley - const: rx 76bc4c9d85SConor Dooley minItems: 1 77bc4c9d85SConor Dooley 78206110c7SXingyu Wu starfive,syscon: 79206110c7SXingyu Wu $ref: /schemas/types.yaml#/definitions/phandle-array 80206110c7SXingyu Wu items: 81206110c7SXingyu Wu - items: 82206110c7SXingyu Wu - description: phandle to System Register Controller sys_syscon node. 83206110c7SXingyu Wu - description: I2S-rx enabled control offset of SYS_SYSCONSAIF__SYSCFG register. 84206110c7SXingyu Wu - description: I2S-rx enabled control mask 85206110c7SXingyu Wu description: 86206110c7SXingyu Wu The phandle to System Register Controller syscon node and the I2S-rx(ADC) 87206110c7SXingyu Wu enabled control offset and mask of SYS_SYSCONSAIF__SYSCFG register. 88206110c7SXingyu Wu 8958ae9a2aSKrzysztof KozlowskiallOf: 9058ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 9158ae9a2aSKrzysztof Kozlowski - if: 92bc4c9d85SConor Dooley properties: 93bc4c9d85SConor Dooley compatible: 94bc4c9d85SConor Dooley contains: 95bc4c9d85SConor Dooley const: canaan,k210-i2s 96bc4c9d85SConor Dooley then: 97bc4c9d85SConor Dooley properties: 98bc4c9d85SConor Dooley "#sound-dai-cells": 99bc4c9d85SConor Dooley const: 1 100bc4c9d85SConor Dooley else: 101bc4c9d85SConor Dooley properties: 102bc4c9d85SConor Dooley "#sound-dai-cells": 103bc4c9d85SConor Dooley const: 0 104206110c7SXingyu Wu - if: 105206110c7SXingyu Wu properties: 106206110c7SXingyu Wu compatible: 107206110c7SXingyu Wu contains: 108206110c7SXingyu Wu const: snps,designware-i2s 109206110c7SXingyu Wu then: 110206110c7SXingyu Wu properties: 111206110c7SXingyu Wu clocks: 112206110c7SXingyu Wu maxItems: 1 113206110c7SXingyu Wu clock-names: 114206110c7SXingyu Wu maxItems: 1 115206110c7SXingyu Wu resets: 116206110c7SXingyu Wu maxItems: 1 117206110c7SXingyu Wu else: 118206110c7SXingyu Wu properties: 119206110c7SXingyu Wu resets: 120206110c7SXingyu Wu minItems: 2 121206110c7SXingyu Wu maxItems: 2 122206110c7SXingyu Wu - if: 123206110c7SXingyu Wu properties: 124206110c7SXingyu Wu compatible: 125206110c7SXingyu Wu contains: 126206110c7SXingyu Wu const: starfive,jh7110-i2stx0 127206110c7SXingyu Wu then: 128206110c7SXingyu Wu properties: 129206110c7SXingyu Wu clocks: 130206110c7SXingyu Wu minItems: 5 131206110c7SXingyu Wu maxItems: 5 132206110c7SXingyu Wu clock-names: 133206110c7SXingyu Wu minItems: 5 134206110c7SXingyu Wu maxItems: 5 135206110c7SXingyu Wu required: 136206110c7SXingyu Wu - resets 137206110c7SXingyu Wu - if: 138206110c7SXingyu Wu properties: 139206110c7SXingyu Wu compatible: 140206110c7SXingyu Wu contains: 141206110c7SXingyu Wu const: starfive,jh7110-i2stx1 142206110c7SXingyu Wu then: 143206110c7SXingyu Wu properties: 144206110c7SXingyu Wu clocks: 145206110c7SXingyu Wu minItems: 9 146206110c7SXingyu Wu maxItems: 9 147206110c7SXingyu Wu clock-names: 148206110c7SXingyu Wu minItems: 9 149206110c7SXingyu Wu maxItems: 9 150206110c7SXingyu Wu required: 151206110c7SXingyu Wu - resets 152206110c7SXingyu Wu - if: 153206110c7SXingyu Wu properties: 154206110c7SXingyu Wu compatible: 155206110c7SXingyu Wu contains: 156206110c7SXingyu Wu const: starfive,jh7110-i2srx 157206110c7SXingyu Wu then: 158206110c7SXingyu Wu properties: 159206110c7SXingyu Wu clocks: 160206110c7SXingyu Wu minItems: 9 161206110c7SXingyu Wu maxItems: 9 162206110c7SXingyu Wu clock-names: 163206110c7SXingyu Wu minItems: 9 164206110c7SXingyu Wu maxItems: 9 165206110c7SXingyu Wu required: 166206110c7SXingyu Wu - resets 167206110c7SXingyu Wu - starfive,syscon 168206110c7SXingyu Wu else: 169206110c7SXingyu Wu properties: 170206110c7SXingyu Wu starfive,syscon: false 171bc4c9d85SConor Dooley 172bc4c9d85SConor Dooleyrequired: 173bc4c9d85SConor Dooley - compatible 174bc4c9d85SConor Dooley - reg 175bc4c9d85SConor Dooley - clocks 176bc4c9d85SConor Dooley - clock-names 177bc4c9d85SConor Dooley 178bc4c9d85SConor DooleyoneOf: 179bc4c9d85SConor Dooley - required: 180bc4c9d85SConor Dooley - dmas 181bc4c9d85SConor Dooley - dma-names 182bc4c9d85SConor Dooley - required: 183bc4c9d85SConor Dooley - interrupts 184bc4c9d85SConor Dooley 185bc4c9d85SConor DooleyunevaluatedProperties: false 186bc4c9d85SConor Dooley 187bc4c9d85SConor Dooleyexamples: 188bc4c9d85SConor Dooley - | 189bc4c9d85SConor Dooley soc_i2s: i2s@7ff90000 { 190bc4c9d85SConor Dooley compatible = "snps,designware-i2s"; 191bc4c9d85SConor Dooley reg = <0x7ff90000 0x1000>; 192bc4c9d85SConor Dooley clocks = <&scpi_i2sclk 0>; 193bc4c9d85SConor Dooley clock-names = "i2sclk"; 194bc4c9d85SConor Dooley #sound-dai-cells = <0>; 195bc4c9d85SConor Dooley dmas = <&dma0 5>; 196bc4c9d85SConor Dooley dma-names = "tx"; 197bc4c9d85SConor Dooley }; 198