brintos

brintos / linux-shallow public Read only

0
0
Text · 2.9 KiB · fb630a1 Raw
116 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/microchip,sama7g5-i2smcc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Microchip I2S Multi-Channel Controller8 9maintainers:10  - Codrin Ciubotariu <codrin.ciubotariu@microchip.com>11 12description:13  The I2SMCC complies with the Inter-IC Sound (I2S) bus specification and14  supports a Time Division Multiplexed (TDM) interface with external15  multi-channel audio codecs. It consists of a receiver, a transmitter and a16  common clock generator that can be enabled separately to provide Adapter,17  Client or Controller modes with receiver and/or transmitter active.18  On later I2SMCC versions (starting with Microchip's SAMA7G5) I2S19  multi-channel is supported by using multiple data pins, output and20  input, without TDM.21 22properties:23  "#sound-dai-cells":24    const: 025 26  compatible:27    oneOf:28      - enum:29          - microchip,sam9x60-i2smcc30          - microchip,sama7g5-i2smcc31      - items:32          - enum:33              - microchip,sam9x7-i2smcc34          - const: microchip,sam9x60-i2smcc35 36  reg:37    maxItems: 138 39  interrupts:40    maxItems: 141 42  clocks:43    items:44      - description: Peripheral Bus Clock45      - description: Generic Clock (Optional). Should be set mostly when Master46          Mode is required.47    minItems: 148 49  clock-names:50    items:51      - const: pclk52      - const: gclk53    minItems: 154 55  dmas:56    items:57      - description: TX DMA Channel58      - description: RX DMA Channel59 60  dma-names:61    items:62      - const: tx63      - const: rx64 65  microchip,tdm-data-pair:66    description:67      Represents the DIN/DOUT pair pins that are used to receive/send68      TDM data. It is optional and it is only needed if the controller69      uses the TDM mode.70    $ref: /schemas/types.yaml#/definitions/uint871    enum: [0, 1, 2, 3]72    default: 073 74allOf:75  - $ref: dai-common.yaml#76  - if:77      properties:78        compatible:79          const: microchip,sam9x60-i2smcc80    then:81      properties:82        microchip,tdm-data-pair: false83 84required:85  - "#sound-dai-cells"86  - compatible87  - reg88  - interrupts89  - clocks90  - clock-names91  - dmas92  - dma-names93 94unevaluatedProperties: false95 96examples:97  - |98    #include <dt-bindings/dma/at91.h>99    #include <dt-bindings/interrupt-controller/arm-gic.h>100 101    i2s@f001c000 {102        #sound-dai-cells = <0>;103        compatible = "microchip,sam9x60-i2smcc";104        reg = <0xf001c000 0x100>;105        interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;106        dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |107                       AT91_XDMAC_DT_PERID(36))>,108               <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |109                       AT91_XDMAC_DT_PERID(37))>;110        dma-names = "tx", "rx";111        clocks = <&i2s_clk>, <&i2s_gclk>;112        clock-names = "pclk", "gclk";113        pinctrl-names = "default";114        pinctrl-0 = <&pinctrl_i2s_default>;115    };116