dt-bindings: soc: fsl: cpm_qe: cpm1-scc-qmc: Add support for QMC HDLC

The QMC (QUICC mutichannel controller) is a controller present in some
PowerQUICC SoC such as MPC885.
The QMC HDLC uses the QMC controller to transfer HDLC data.

Additionally, a framer can be connected to the QMC HDLC.
If present, this framer is the interface between the TDM bus used by the
QMC HDLC and the E1/T1 line.
The QMC HDLC can use this framer to get information about the E1/T1 line
and configure the E1/T1 line.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231011061437.64213-9-herve.codina@bootlin.com
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Herve Codina 2023-10-11 08:14:12 +02:00 committed by Rob Herring
parent 527de94b0f
commit fe61262974

View file

@ -101,6 +101,32 @@ patternProperties:
Channel assigned Rx time-slots within the Rx time-slots routed by the Channel assigned Rx time-slots within the Rx time-slots routed by the
TSA to this cell. TSA to this cell.
compatible:
items:
- enum:
- fsl,mpc885-scc-qmc-hdlc
- fsl,mpc866-scc-qmc-hdlc
- const: fsl,cpm1-scc-qmc-hdlc
- const: fsl,qmc-hdlc
fsl,framer:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle to the framer node. The framer is in charge of an E1/T1 line
interface connected to the TDM bus. It can be used to get the E1/T1 line
status such as link up/down.
allOf:
- if:
properties:
compatible:
not:
contains:
const: fsl,qmc-hdlc
then:
properties:
fsl,framer: false
required: required:
- reg - reg
- fsl,tx-ts-mask - fsl,tx-ts-mask
@ -155,9 +181,13 @@ examples:
channel@19 { channel@19 {
/* Ch19 : 8 TS (TS 8..15) from all routed from TSA */ /* Ch19 : 8 TS (TS 8..15) from all routed from TSA */
compatible = "fsl,mpc885-scc-qmc-hdlc",
"fsl,cpm1-scc-qmc-hdlc",
"fsl,qmc-hdlc";
reg = <19>; reg = <19>;
fsl,operational-mode = "hdlc"; fsl,operational-mode = "hdlc";
fsl,tx-ts-mask = <0x00000000 0x0000ff00>; fsl,tx-ts-mask = <0x00000000 0x0000ff00>;
fsl,rx-ts-mask = <0x00000000 0x0000ff00>; fsl,rx-ts-mask = <0x00000000 0x0000ff00>;
fsl,framer = <&framer>;
}; };
}; };