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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-tsa.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-tsa.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: PowerQUICC CPM Time-slot assigner (TSA) controller
  8 
  9 maintainers:
 10   - Herve Codina <herve.codina@bootlin.com>
 11 
 12 description:
 13   The TSA is the time-slot assigner that can be found on some PowerQUICC SoC.
 14   Its purpose is to route some TDM time-slots to other internal serial
 15   controllers.
 16 
 17 properties:
 18   compatible:
 19     items:
 20       - enum:
 21           - fsl,mpc885-tsa
 22           - fsl,mpc866-tsa
 23       - const: fsl,cpm1-tsa
 24 
 25   reg:
 26     items:
 27       - description: SI (Serial Interface) register base
 28       - description: SI RAM base
 29 
 30   reg-names:
 31     items:
 32       - const: si_regs
 33       - const: si_ram
 34 
 35   '#address-cells':
 36     const: 1
 37 
 38   '#size-cells':
 39     const: 0
 40 
 41 patternProperties:
 42   '^tdm@[0-1]$':
 43     description:
 44       The TDM managed by this controller
 45     type: object
 46 
 47     additionalProperties: false
 48 
 49     properties:
 50       reg:
 51         minimum: 0
 52         maximum: 1
 53         description:
 54           The TDM number for this TDM, 0 for TDMa and 1 for TDMb
 55 
 56       fsl,common-rxtx-pins:
 57         $ref: /schemas/types.yaml#/definitions/flag
 58         description:
 59           The hardware can use four dedicated pins for Tx clock, Tx sync, Rx
 60           clock and Rx sync or use only two pins, Tx/Rx clock and Tx/Rx sync.
 61           Without the 'fsl,common-rxtx-pins' property, the four pins are used.
 62           With the 'fsl,common-rxtx-pins' property, two pins are used.
 63 
 64       clocks:
 65         minItems: 2
 66         items:
 67           - description: External clock connected to L1RSYNC pin
 68           - description: External clock connected to L1RCLK pin
 69           - description: External clock connected to L1TSYNC pin
 70           - description: External clock connected to L1TCLK pin
 71 
 72       clock-names:
 73         minItems: 2
 74         items:
 75           - const: l1rsync
 76           - const: l1rclk
 77           - const: l1tsync
 78           - const: l1tclk
 79 
 80       fsl,rx-frame-sync-delay-bits:
 81         enum: [0, 1, 2, 3]
 82         default: 0
 83         description: |
 84           Receive frame sync delay in number of bits.
 85           Indicates the delay between the Rx sync and the first bit of the Rx
 86           frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
 87 
 88       fsl,tx-frame-sync-delay-bits:
 89         enum: [0, 1, 2, 3]
 90         default: 0
 91         description: |
 92           Transmit frame sync delay in number of bits.
 93           Indicates the delay between the Tx sync and the first bit of the Tx
 94           frame. 0 for no bit delay. 1, 2 or 3 for 1, 2 or 3 bits delay.
 95 
 96       fsl,clock-falling-edge:
 97         $ref: /schemas/types.yaml#/definitions/flag
 98         description:
 99           Data is sent on falling edge of the clock (and received on the rising
100           edge). If 'clock-falling-edge' is not present, data is sent on the
101           rising edge (and received on the falling edge).
102 
103       fsl,fsync-rising-edge:
104         $ref: /schemas/types.yaml#/definitions/flag
105         description:
106           Frame sync pulses are sampled with the rising edge of the channel
107           clock. If 'fsync-rising-edge' is not present, pulses are sampled with
108           the falling edge.
109 
110       fsl,double-speed-clock:
111         $ref: /schemas/types.yaml#/definitions/flag
112         description:
113           The channel clock is twice the data rate.
114 
115     patternProperties:
116       '^fsl,[rt]x-ts-routes$':
117         $ref: /schemas/types.yaml#/definitions/uint32-matrix
118         description: |
119           A list of tuple that indicates the Tx or Rx time-slots routes.
120         items:
121           items:
122             - description:
123                 The number of time-slots
124               minimum: 1
125               maximum: 64
126             - description: |
127                 The source (Tx) or destination (Rx) serial interface
128                 (dt-bindings/soc/cpm1-fsl,tsa.h defines these values)
129                  - 0: No destination
130                  - 1: SCC2
131                  - 2: SCC3
132                  - 3: SCC4
133                  - 4: SMC1
134                  - 5: SMC2
135               enum: [0, 1, 2, 3, 4, 5]
136         minItems: 1
137         maxItems: 64
138 
139     allOf:
140       # If fsl,common-rxtx-pins is present, only 2 clocks are needed.
141       # Else, the 4 clocks must be present.
142       - if:
143           required:
144             - fsl,common-rxtx-pins
145         then:
146           properties:
147             clocks:
148               maxItems: 2
149             clock-names:
150               maxItems: 2
151         else:
152           properties:
153             clocks:
154               minItems: 4
155             clock-names:
156               minItems: 4
157 
158     required:
159       - reg
160       - clocks
161       - clock-names
162 
163 required:
164   - compatible
165   - reg
166   - reg-names
167   - '#address-cells'
168   - '#size-cells'
169 
170 additionalProperties: false
171 
172 examples:
173   - |
174     #include <dt-bindings/soc/cpm1-fsl,tsa.h>
175 
176     tsa@ae0 {
177         compatible = "fsl,mpc885-tsa", "fsl,cpm1-tsa";
178         reg = <0xae0 0x10>,
179               <0xc00 0x200>;
180         reg-names = "si_regs", "si_ram";
181 
182         #address-cells = <1>;
183         #size-cells = <0>;
184 
185         tdm@0 {
186             /* TDMa */
187             reg = <0>;
188 
189             clocks = <&clk_l1rsynca>, <&clk_l1rclka>;
190             clock-names = "l1rsync", "l1rclk";
191 
192             fsl,common-rxtx-pins;
193             fsl,fsync-rising-edge;
194 
195             fsl,tx-ts-routes = <2 0>,             /* TS 0..1 */
196                            <24 FSL_CPM_TSA_SCC4>, /* TS 2..25 */
197                            <1 0>,                 /* TS 26 */
198                            <5 FSL_CPM_TSA_SCC3>;  /* TS 27..31 */
199 
200             fsl,rx-ts-routes = <2 0>,             /* TS 0..1 */
201                            <24 FSL_CPM_TSA_SCC4>, /* 2..25 */
202                            <1 0>,                 /* TS 26 */
203                            <5 FSL_CPM_TSA_SCC3>;  /* TS 27..31 */
204         };
205     };

~ [ 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