163 lines
4.3 KiB
YAML
163 lines
4.3 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: PowerQUICC CPM QUICC Multichannel Controller (QMC)
|
||
|
|
||
|
maintainers:
|
||
|
- Herve Codina <herve.codina@bootlin.com>
|
||
|
|
||
|
description:
|
||
|
The QMC (QUICC Multichannel Controller) emulates up to 64 channels within one
|
||
|
serial controller using the same TDM physical interface routed from TSA.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
items:
|
||
|
- enum:
|
||
|
- fsl,mpc885-scc-qmc
|
||
|
- fsl,mpc866-scc-qmc
|
||
|
- const: fsl,cpm1-scc-qmc
|
||
|
|
||
|
reg:
|
||
|
items:
|
||
|
- description: SCC (Serial communication controller) register base
|
||
|
- description: SCC parameter ram base
|
||
|
- description: Dual port ram base
|
||
|
|
||
|
reg-names:
|
||
|
items:
|
||
|
- const: scc_regs
|
||
|
- const: scc_pram
|
||
|
- const: dpram
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
description: SCC interrupt line in the CPM interrupt controller
|
||
|
|
||
|
fsl,tsa-serial:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||
|
items:
|
||
|
- items:
|
||
|
- description: phandle to TSA node
|
||
|
- enum: [1, 2, 3]
|
||
|
description: |
|
||
|
TSA serial interface (dt-bindings/soc/cpm1-fsl,tsa.h defines these
|
||
|
values)
|
||
|
- 1: SCC2
|
||
|
- 2: SCC3
|
||
|
- 3: SCC4
|
||
|
description:
|
||
|
Should be a phandle/number pair. The phandle to TSA node and the TSA
|
||
|
serial interface to use.
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 1
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
|
||
|
patternProperties:
|
||
|
'^channel@([0-9]|[1-5][0-9]|6[0-3])$':
|
||
|
description:
|
||
|
A channel managed by this controller
|
||
|
type: object
|
||
|
|
||
|
properties:
|
||
|
reg:
|
||
|
minimum: 0
|
||
|
maximum: 63
|
||
|
description:
|
||
|
The channel number
|
||
|
|
||
|
fsl,operational-mode:
|
||
|
$ref: /schemas/types.yaml#/definitions/string
|
||
|
enum: [transparent, hdlc]
|
||
|
default: transparent
|
||
|
description: |
|
||
|
The channel operational mode
|
||
|
- hdlc: The channel handles HDLC frames
|
||
|
- transparent: The channel handles raw data without any processing
|
||
|
|
||
|
fsl,reverse-data:
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
description:
|
||
|
The bit order as seen on the channels is reversed,
|
||
|
transmitting/receiving the MSB of each octet first.
|
||
|
This flag is used only in 'transparent' mode.
|
||
|
|
||
|
fsl,tx-ts-mask:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint64
|
||
|
description:
|
||
|
Channel assigned Tx time-slots within the Tx time-slots routed by the
|
||
|
TSA to this cell.
|
||
|
|
||
|
fsl,rx-ts-mask:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint64
|
||
|
description:
|
||
|
Channel assigned Rx time-slots within the Rx time-slots routed by the
|
||
|
TSA to this cell.
|
||
|
|
||
|
required:
|
||
|
- reg
|
||
|
- fsl,tx-ts-mask
|
||
|
- fsl,rx-ts-mask
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- reg-names
|
||
|
- interrupts
|
||
|
- fsl,tsa-serial
|
||
|
- '#address-cells'
|
||
|
- '#size-cells'
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/soc/cpm1-fsl,tsa.h>
|
||
|
|
||
|
qmc@a60 {
|
||
|
compatible = "fsl,mpc885-scc-qmc", "fsl,cpm1-scc-qmc";
|
||
|
reg = <0xa60 0x20>,
|
||
|
<0x3f00 0xc0>,
|
||
|
<0x2000 0x1000>;
|
||
|
reg-names = "scc_regs", "scc_pram", "dpram";
|
||
|
interrupts = <27>;
|
||
|
interrupt-parent = <&CPM_PIC>;
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
fsl,tsa-serial = <&tsa FSL_CPM_TSA_SCC4>;
|
||
|
|
||
|
channel@16 {
|
||
|
/* Ch16 : First 4 even TS from all routed from TSA */
|
||
|
reg = <16>;
|
||
|
fsl,mode = "transparent";
|
||
|
fsl,reverse-data;
|
||
|
fsl,tx-ts-mask = <0x00000000 0x000000aa>;
|
||
|
fsl,rx-ts-mask = <0x00000000 0x000000aa>;
|
||
|
};
|
||
|
|
||
|
channel@17 {
|
||
|
/* Ch17 : First 4 odd TS from all routed from TSA */
|
||
|
reg = <17>;
|
||
|
fsl,mode = "transparent";
|
||
|
fsl,reverse-data;
|
||
|
fsl,tx-ts-mask = <0x00000000 0x00000055>;
|
||
|
fsl,rx-ts-mask = <0x00000000 0x00000055>;
|
||
|
};
|
||
|
|
||
|
channel@19 {
|
||
|
/* Ch19 : 8 TS (TS 8..15) from all routed from TSA */
|
||
|
reg = <19>;
|
||
|
fsl,mode = "hdlc";
|
||
|
fsl,tx-ts-mask = <0x00000000 0x0000ff00>;
|
||
|
fsl,rx-ts-mask = <0x00000000 0x0000ff00>;
|
||
|
};
|
||
|
};
|