Message ID | 817d1418fa1e9e689375177bee4bdc68ceeab7be.1692376361.git.christophe.leroy@csgroup.eu |
---|---|
State | New |
Headers | show |
Series | Add support for QMC HDLC, framer infrastruture and PEF2256 framer (v4) | expand |
On Fri, Aug 18, 2023 at 06:39:00PM +0200, Christophe Leroy wrote: > From: Herve Codina <herve.codina@bootlin.com> > > 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> > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > .../devicetree/bindings/net/fsl,qmc-hdlc.yaml | 46 +++++++++++++++++++ > 1 file changed, 46 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > > diff --git a/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > new file mode 100644 > index 000000000000..13f3572f0feb > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > @@ -0,0 +1,46 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/fsl,qmc-hdlc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale/NXP QUICC Multichannel Controller (QMC) HDLC > + > +maintainers: > + - Herve Codina <herve.codina@bootlin.com> > + > +description: | Don't need '|' > + The QMC HDLC uses a QMC (QUICC Multichannel Controller) channel to transfer > + HDLC data. > + > +properties: > + compatible: > + const: fsl,qmc-hdlc > + > + fsl,qmc-chan: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + items: > + - items: > + - description: phandle to QMC node > + - description: Channel number > + description: > + Should be a phandle/number pair. The phandle to QMC node and the QMC > + channel to use. > + > + framer: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + phandle to the framer node What's the framer? > + > +required: > + - compatible > + - fsl,qmc-chan > + > +additionalProperties: false > + > +examples: > + - | > + hdlc { > + compatible = "fsl,qmc-hdlc"; > + fsl,qmc-chan = <&qmc 16>; Where does this node live? QMC is this[1]? Why don't you just add the compatible to channel@10 in the QMC node? Rob [1] Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml
On Mon, 21 Aug 2023 15:42:58 -0500 Rob Herring <robh@kernel.org> wrote: > On Fri, Aug 18, 2023 at 06:39:00PM +0200, Christophe Leroy wrote: > > From: Herve Codina <herve.codina@bootlin.com> > > > > 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> > > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> > > --- > > .../devicetree/bindings/net/fsl,qmc-hdlc.yaml | 46 +++++++++++++++++++ > > 1 file changed, 46 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > > > > diff --git a/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > > new file mode 100644 > > index 000000000000..13f3572f0feb > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml > > @@ -0,0 +1,46 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/net/fsl,qmc-hdlc.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Freescale/NXP QUICC Multichannel Controller (QMC) HDLC > > + > > +maintainers: > > + - Herve Codina <herve.codina@bootlin.com> > > + > > +description: | > > Don't need '|' Will be fixed in the next iteration. > > > + The QMC HDLC uses a QMC (QUICC Multichannel Controller) channel to transfer > > + HDLC data. > > + > > +properties: > > + compatible: > > + const: fsl,qmc-hdlc > > + > > + fsl,qmc-chan: > > + $ref: /schemas/types.yaml#/definitions/phandle-array > > + items: > > + - items: > > + - description: phandle to QMC node > > + - description: Channel number > > + description: > > + Should be a phandle/number pair. The phandle to QMC node and the QMC > > + channel to use. > > + > > + framer: > > + $ref: /schemas/types.yaml#/definitions/phandle > > + description: > > + phandle to the framer node > > What's the framer? A framer is a component in charge of an E1/T1 line interface. Is is connected to the TDM bus and it converts TDM frames to/from E1/T1 frames. The HDLC data are sent/received to/from the TDM bus and the framer is used to get information about the E1/T1 line such as link up/down. I can update the description to: --- 8< --- 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. --- 8< --- Is that better ? > > > + > > +required: > > + - compatible > > + - fsl,qmc-chan > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + hdlc { > > + compatible = "fsl,qmc-hdlc"; > > + fsl,qmc-chan = <&qmc 16>; > > Where does this node live? > > QMC is this[1]? Why don't you just add the compatible to channel@10 in > the QMC node? Indeed, I will move the properties (compatible and framer phandle) to the QMC channel node. > > Rob > > [1] Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml Best regards, Hervé
diff --git a/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml new file mode 100644 index 000000000000..13f3572f0feb --- /dev/null +++ b/Documentation/devicetree/bindings/net/fsl,qmc-hdlc.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/fsl,qmc-hdlc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale/NXP QUICC Multichannel Controller (QMC) HDLC + +maintainers: + - Herve Codina <herve.codina@bootlin.com> + +description: | + The QMC HDLC uses a QMC (QUICC Multichannel Controller) channel to transfer + HDLC data. + +properties: + compatible: + const: fsl,qmc-hdlc + + fsl,qmc-chan: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + - items: + - description: phandle to QMC node + - description: Channel number + description: + Should be a phandle/number pair. The phandle to QMC node and the QMC + channel to use. + + framer: + $ref: /schemas/types.yaml#/definitions/phandle + description: + phandle to the framer node + +required: + - compatible + - fsl,qmc-chan + +additionalProperties: false + +examples: + - | + hdlc { + compatible = "fsl,qmc-hdlc"; + fsl,qmc-chan = <&qmc 16>; + };