~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php