File Index
Files and directories
Sign in
FILE

fsl,qe-ucc-qmc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: PowerQUICC QE QUICC Multichannel Controller (QMC)
  8
  9maintainers:
 10  - Herve Codina <herve.codina@bootlin.com>
 11
 12description:
 13  The QMC (QUICC Multichannel Controller) emulates up to 64 channels within one
 14  serial controller using the same TDM physical interface routed from TSA.
 15
 16properties:
 17  compatible:
 18    items:
 19      - enum:
 20          - fsl,mpc8321-ucc-qmc
 21      - const: fsl,qe-ucc-qmc
 22
 23  reg:
 24    items:
 25      - description: UCC (Unified communication controller) register base
 26      - description: Dual port ram base
 27
 28  reg-names:
 29    items:
 30      - const: ucc_regs
 31      - const: dpram
 32
 33  interrupts:
 34    maxItems: 1
 35    description: UCC interrupt line in the QE interrupt controller
 36
 37  fsl,tsa-serial:
 38    $ref: /schemas/types.yaml#/definitions/phandle-array
 39    items:
 40      - items:
 41          - description: phandle to TSA node
 42          - enum: [1, 2, 3, 4, 5]
 43            description: |
 44              TSA serial interface (dt-bindings/soc/qe-fsl,tsa.h defines these
 45              values)
 46               - 1: UCC1
 47               - 2: UCC2
 48               - 3: UCC3
 49               - 4: UCC4
 50               - 5: UCC5
 51    description:
 52      Should be a phandle/number pair. The phandle to TSA node and the TSA
 53      serial interface to use.
 54
 55  fsl,soft-qmc:
 56    $ref: /schemas/types.yaml#/definitions/string
 57    description:
 58      Soft QMC firmware name to load. If this property is omitted, no firmware
 59      are used.
 60
 61  '#address-cells':
 62    const: 1
 63
 64  '#size-cells':
 65    const: 0
 66
 67patternProperties:
 68  '^channel@([0-9]|[1-5][0-9]|6[0-3])$':
 69    description:
 70      A channel managed by this controller
 71    type: object
 72    additionalProperties: false
 73
 74    properties:
 75      compatible:
 76        items:
 77          - enum:
 78              - fsl,mpc8321-ucc-qmc-hdlc
 79          - const: fsl,qe-ucc-qmc-hdlc
 80          - const: fsl,qmc-hdlc
 81
 82      reg:
 83        minimum: 0
 84        maximum: 63
 85        description:
 86          The channel number
 87
 88      fsl,operational-mode:
 89        $ref: /schemas/types.yaml#/definitions/string
 90        enum: [transparent, hdlc]
 91        default: transparent
 92        description: |
 93          The channel operational mode
 94            - hdlc: The channel handles HDLC frames
 95            - transparent: The channel handles raw data without any processing
 96
 97      fsl,reverse-data:
 98        $ref: /schemas/types.yaml#/definitions/flag
 99        description:
100          The bit order as seen on the channels is reversed,
101          transmitting/receiving the MSB of each octet first.
102          This flag is used only in 'transparent' mode.
103
104      fsl,tx-ts-mask:
105        $ref: /schemas/types.yaml#/definitions/uint64
106        description:
107          Channel assigned Tx time-slots within the Tx time-slots routed by the
108          TSA to this cell.
109
110      fsl,rx-ts-mask:
111        $ref: /schemas/types.yaml#/definitions/uint64
112        description:
113          Channel assigned Rx time-slots within the Rx time-slots routed by the
114          TSA to this cell.
115
116      fsl,framer:
117        $ref: /schemas/types.yaml#/definitions/phandle
118        description:
119          phandle to the framer node. The framer is in charge of an E1/T1 line
120          interface connected to the TDM bus. It can be used to get the E1/T1 line
121          status such as link up/down.
122
123    allOf:
124      - if:
125          properties:
126            compatible:
127              not:
128                contains:
129                  const: fsl,qmc-hdlc
130        then:
131          properties:
132            fsl,framer: false
133
134    required:
135      - reg
136      - fsl,tx-ts-mask
137      - fsl,rx-ts-mask
138
139required:
140  - compatible
141  - reg
142  - reg-names
143  - interrupts
144  - fsl,tsa-serial
145  - '#address-cells'
146  - '#size-cells'
147
148additionalProperties: false
149
150examples:
151  - |
152    #include <dt-bindings/soc/qe-fsl,tsa.h>
153
154    qmc@a60 {
155        compatible = "fsl,mpc8321-ucc-qmc", "fsl,qe-ucc-qmc";
156        reg = <0x3200 0x200>,
157              <0x10000 0x1000>;
158        reg-names = "ucc_regs", "dpram";
159        interrupts = <35>;
160        interrupt-parent = <&qeic>;
161        fsl,soft-qmc = "fsl_qe_ucode_qmc_8321_11.bin";
162
163        #address-cells = <1>;
164        #size-cells = <0>;
165
166        fsl,tsa-serial = <&tsa FSL_QE_TSA_UCC4>;
167
168        channel@16 {
169            /* Ch16 : First 4 even TS from all routed from TSA */
170            reg = <16>;
171            fsl,operational-mode = "transparent";
172            fsl,reverse-data;
173            fsl,tx-ts-mask = <0x00000000 0x000000aa>;
174            fsl,rx-ts-mask = <0x00000000 0x000000aa>;
175        };
176
177        channel@17 {
178            /* Ch17 : First 4 odd TS from all routed from TSA */
179            reg = <17>;
180            fsl,operational-mode = "transparent";
181            fsl,reverse-data;
182            fsl,tx-ts-mask = <0x00000000 0x00000055>;
183            fsl,rx-ts-mask = <0x00000000 0x00000055>;
184        };
185
186        channel@19 {
187            /* Ch19 : 8 TS (TS 8..15) from all routed from TSA */
188            compatible = "fsl,mpc8321-ucc-qmc-hdlc",
189                         "fsl,qe-ucc-qmc-hdlc",
190                         "fsl,qmc-hdlc";
191            reg = <19>;
192            fsl,operational-mode = "hdlc";
193            fsl,tx-ts-mask = <0x00000000 0x0000ff00>;
194            fsl,rx-ts-mask = <0x00000000 0x0000ff00>;
195            fsl,framer = <&framer>;
196        };
197    };
~/ Read-only file preview.