1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: PowerQUICC CPM Time-slot assigner (TSA) controller
10 - Herve Codina <herve.codina@bootlin.com>
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
27 - description: SI (Serial Interface) register base
28 - description: SI RAM base
44 The TDM managed by this controller
47 additionalProperties: false
54 The TDM number for this TDM, 0 for TDMa and 1 for TDMb
57 $ref: /schemas/types.yaml#/definitions/flag
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.
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
80 fsl,rx-frame-sync-delay-bits:
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.
88 fsl,tx-frame-sync-delay-bits:
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.
96 fsl,clock-falling-edge:
97 $ref: /schemas/types.yaml#/definitions/flag
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).
103 fsl,fsync-rising-edge:
104 $ref: /schemas/types.yaml#/definitions/flag
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
110 fsl,double-speed-clock:
111 $ref: /schemas/types.yaml#/definitions/flag
113 The channel clock is twice the data rate.
116 '^fsl,[rt]x-ts-routes$':
117 $ref: /schemas/types.yaml#/definitions/uint32-matrix
119 A list of tuple that indicates the Tx or Rx time-slots routes.
123 The number of time-slots
127 The source (Tx) or destination (Rx) serial interface
128 (dt-bindings/soc/cpm1-fsl,tsa.h defines these values)
135 enum: [0, 1, 2, 3, 4, 5]
140 # If fsl,common-rxtx-pins is present, only 2 clocks are needed.
141 # Else, the 4 clocks must be present.
144 - fsl,common-rxtx-pins
170 additionalProperties: false
174 #include <dt-bindings/soc/cpm1-fsl,tsa.h>
177 compatible = "fsl,mpc885-tsa", "fsl,cpm1-tsa";
180 reg-names = "si_regs", "si_ram";
182 #address-cells = <1>;
189 clocks = <&clk_l1rsynca>, <&clk_l1rclka>;
190 clock-names = "l1rsync", "l1rclk";
192 fsl,common-rxtx-pins;
193 fsl,fsync-rising-edge;
195 fsl,tx-ts-routes = <2 0>, /* TS 0..1 */
196 <24 FSL_CPM_TSA_SCC4>, /* TS 2..25 */
198 <5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */
200 fsl,rx-ts-routes = <2 0>, /* TS 0..1 */
201 <24 FSL_CPM_TSA_SCC4>, /* 2..25 */
203 <5 FSL_CPM_TSA_SCC3>; /* TS 27..31 */