198 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/snps,designware-i2s.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: DesignWare I2S controller8 9maintainers:10 - Jose Abreu <joabreu@synopsys.com>11 12properties:13 compatible:14 oneOf:15 - items:16 - const: canaan,k210-i2s17 - const: snps,designware-i2s18 - enum:19 - snps,designware-i2s20 - starfive,jh7110-i2stx021 - starfive,jh7110-i2stx122 - starfive,jh7110-i2srx23 24 reg:25 maxItems: 126 27 interrupts:28 description: |29 The interrupt line number for the I2S controller. Add this30 parameter if the I2S controller that you are using does not31 support DMA.32 maxItems: 133 34 clocks:35 items:36 - description: Sampling rate reference clock37 - description: APB clock38 - description: Audio master clock39 - description: Inner audio master clock source40 - description: External audio master clock source41 - description: Bit clock42 - description: Left/right channel clock43 - description: External bit clock44 - description: External left/right channel clock45 minItems: 146 47 clock-names:48 items:49 - const: i2sclk50 - const: apb51 - const: mclk52 - const: mclk_inner53 - const: mclk_ext54 - const: bclk55 - const: lrck56 - const: bclk_ext57 - const: lrck_ext58 minItems: 159 60 resets:61 items:62 - description: Optional controller resets63 - description: controller reset of Sampling rate64 minItems: 165 66 dmas:67 items:68 - description: TX DMA Channel69 - description: RX DMA Channel70 minItems: 171 72 dma-names:73 items:74 - const: tx75 - const: rx76 minItems: 177 78 starfive,syscon:79 $ref: /schemas/types.yaml#/definitions/phandle-array80 items:81 - items:82 - description: phandle to System Register Controller sys_syscon node.83 - description: I2S-rx enabled control offset of SYS_SYSCONSAIF__SYSCFG register.84 - description: I2S-rx enabled control mask85 description:86 The phandle to System Register Controller syscon node and the I2S-rx(ADC)87 enabled control offset and mask of SYS_SYSCONSAIF__SYSCFG register.88 89allOf:90 - $ref: dai-common.yaml#91 - if:92 properties:93 compatible:94 contains:95 const: canaan,k210-i2s96 then:97 properties:98 "#sound-dai-cells":99 const: 1100 else:101 properties:102 "#sound-dai-cells":103 const: 0104 - if:105 properties:106 compatible:107 contains:108 const: snps,designware-i2s109 then:110 properties:111 clocks:112 maxItems: 1113 clock-names:114 maxItems: 1115 resets:116 maxItems: 1117 else:118 properties:119 resets:120 minItems: 2121 maxItems: 2122 - if:123 properties:124 compatible:125 contains:126 const: starfive,jh7110-i2stx0127 then:128 properties:129 clocks:130 minItems: 5131 maxItems: 5132 clock-names:133 minItems: 5134 maxItems: 5135 required:136 - resets137 - if:138 properties:139 compatible:140 contains:141 const: starfive,jh7110-i2stx1142 then:143 properties:144 clocks:145 minItems: 9146 maxItems: 9147 clock-names:148 minItems: 9149 maxItems: 9150 required:151 - resets152 - if:153 properties:154 compatible:155 contains:156 const: starfive,jh7110-i2srx157 then:158 properties:159 clocks:160 minItems: 9161 maxItems: 9162 clock-names:163 minItems: 9164 maxItems: 9165 required:166 - resets167 - starfive,syscon168 else:169 properties:170 starfive,syscon: false171 172required:173 - compatible174 - reg175 - clocks176 - clock-names177 178oneOf:179 - required:180 - dmas181 - dma-names182 - required:183 - interrupts184 185unevaluatedProperties: false186 187examples:188 - |189 soc_i2s: i2s@7ff90000 {190 compatible = "snps,designware-i2s";191 reg = <0x7ff90000 0x1000>;192 clocks = <&scpi_i2sclk 0>;193 clock-names = "i2sclk";194 #sound-dai-cells = <0>;195 dmas = <&dma0 5>;196 dma-names = "tx";197 };198