xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/cpm_qe/fsl,ucc-hdlc.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,ucc-hdlc.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: High-Level Data Link Control(HDLC)
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotdescription: HDLC part in Universal communication controllers (UCCs)
10*b2d2a78aSEmmanuel Vadot
11*b2d2a78aSEmmanuel Vadotmaintainers:
12*b2d2a78aSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
13*b2d2a78aSEmmanuel Vadot
14*b2d2a78aSEmmanuel Vadotproperties:
15*b2d2a78aSEmmanuel Vadot  compatible:
16*b2d2a78aSEmmanuel Vadot    const: fsl,ucc-hdlc
17*b2d2a78aSEmmanuel Vadot
18*b2d2a78aSEmmanuel Vadot  reg:
19*b2d2a78aSEmmanuel Vadot    maxItems: 1
20*b2d2a78aSEmmanuel Vadot
21*b2d2a78aSEmmanuel Vadot  interrupts:
22*b2d2a78aSEmmanuel Vadot    maxItems: 1
23*b2d2a78aSEmmanuel Vadot
24*b2d2a78aSEmmanuel Vadot  cell-index:
25*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
26*b2d2a78aSEmmanuel Vadot
27*b2d2a78aSEmmanuel Vadot  rx-clock-name:
28*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
29*b2d2a78aSEmmanuel Vadot    oneOf:
30*b2d2a78aSEmmanuel Vadot      - pattern: "^brg([0-9]|1[0-6])$"
31*b2d2a78aSEmmanuel Vadot      - pattern: "^clk([0-9]|1[0-9]|2[0-4])$"
32*b2d2a78aSEmmanuel Vadot
33*b2d2a78aSEmmanuel Vadot  tx-clock-name:
34*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
35*b2d2a78aSEmmanuel Vadot    oneOf:
36*b2d2a78aSEmmanuel Vadot      - pattern: "^brg([0-9]|1[0-6])$"
37*b2d2a78aSEmmanuel Vadot      - pattern: "^clk([0-9]|1[0-9]|2[0-4])$"
38*b2d2a78aSEmmanuel Vadot
39*b2d2a78aSEmmanuel Vadot  fsl,tdm-interface:
40*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
41*b2d2a78aSEmmanuel Vadot    description: Specify that hdlc is based on tdm-interface
42*b2d2a78aSEmmanuel Vadot
43*b2d2a78aSEmmanuel Vadot  fsl,rx-sync-clock:
44*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
45*b2d2a78aSEmmanuel Vadot    description: rx-sync
46*b2d2a78aSEmmanuel Vadot    enum:
47*b2d2a78aSEmmanuel Vadot      - none
48*b2d2a78aSEmmanuel Vadot      - rsync_pin
49*b2d2a78aSEmmanuel Vadot      - brg9
50*b2d2a78aSEmmanuel Vadot      - brg10
51*b2d2a78aSEmmanuel Vadot      - brg11
52*b2d2a78aSEmmanuel Vadot      - brg13
53*b2d2a78aSEmmanuel Vadot      - brg14
54*b2d2a78aSEmmanuel Vadot      - brg15
55*b2d2a78aSEmmanuel Vadot
56*b2d2a78aSEmmanuel Vadot  fsl,tx-sync-clock:
57*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
58*b2d2a78aSEmmanuel Vadot    description: tx-sync
59*b2d2a78aSEmmanuel Vadot    enum:
60*b2d2a78aSEmmanuel Vadot      - none
61*b2d2a78aSEmmanuel Vadot      - tsync_pin
62*b2d2a78aSEmmanuel Vadot      - brg9
63*b2d2a78aSEmmanuel Vadot      - brg10
64*b2d2a78aSEmmanuel Vadot      - brg11
65*b2d2a78aSEmmanuel Vadot      - brg13
66*b2d2a78aSEmmanuel Vadot      - brg14
67*b2d2a78aSEmmanuel Vadot      - brg15
68*b2d2a78aSEmmanuel Vadot
69*b2d2a78aSEmmanuel Vadot  fsl,tdm-framer-type:
70*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
71*b2d2a78aSEmmanuel Vadot    description: required for tdm interface
72*b2d2a78aSEmmanuel Vadot    enum: [e1, t1]
73*b2d2a78aSEmmanuel Vadot
74*b2d2a78aSEmmanuel Vadot  fsl,tdm-id:
75*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
76*b2d2a78aSEmmanuel Vadot    description: number of TDM ID
77*b2d2a78aSEmmanuel Vadot
78*b2d2a78aSEmmanuel Vadot  fsl,tx-timeslot-mask:
79*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
80*b2d2a78aSEmmanuel Vadot    description:
81*b2d2a78aSEmmanuel Vadot      required for tdm interface.
82*b2d2a78aSEmmanuel Vadot      time slot mask for TDM operation. Indicates which time
83*b2d2a78aSEmmanuel Vadot      slots used for transmitting and receiving.
84*b2d2a78aSEmmanuel Vadot
85*b2d2a78aSEmmanuel Vadot  fsl,rx-timeslot-mask:
86*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
87*b2d2a78aSEmmanuel Vadot    description:
88*b2d2a78aSEmmanuel Vadot      required for tdm interface.
89*b2d2a78aSEmmanuel Vadot      time slot mask for TDM operation. Indicates which time
90*b2d2a78aSEmmanuel Vadot      slots used for transmitting and receiving.
91*b2d2a78aSEmmanuel Vadot
92*b2d2a78aSEmmanuel Vadot  fsl,siram-entry-id:
93*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
94*b2d2a78aSEmmanuel Vadot    description:
95*b2d2a78aSEmmanuel Vadot      required for tdm interface
96*b2d2a78aSEmmanuel Vadot      Must be 0,2,4...64. the number of TDM entry.
97*b2d2a78aSEmmanuel Vadot
98*b2d2a78aSEmmanuel Vadot  fsl,tdm-internal-loopback:
99*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
100*b2d2a78aSEmmanuel Vadot    description:
101*b2d2a78aSEmmanuel Vadot      optional for tdm interface
102*b2d2a78aSEmmanuel Vadot      Internal loopback connecting on TDM layer.
103*b2d2a78aSEmmanuel Vadot
104*b2d2a78aSEmmanuel Vadot  fsl,hmask:
105*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint16
106*b2d2a78aSEmmanuel Vadot    description: |
107*b2d2a78aSEmmanuel Vadot      HDLC address recognition. Set to zero to disable
108*b2d2a78aSEmmanuel Vadot      address filtering of packets:
109*b2d2a78aSEmmanuel Vadot      fsl,hmask = /bits/ 16 <0x0000>;
110*b2d2a78aSEmmanuel Vadot
111*b2d2a78aSEmmanuel Vadotrequired:
112*b2d2a78aSEmmanuel Vadot  - compatible
113*b2d2a78aSEmmanuel Vadot  - reg
114*b2d2a78aSEmmanuel Vadot
115*b2d2a78aSEmmanuel VadotadditionalProperties: false
116*b2d2a78aSEmmanuel Vadot
117*b2d2a78aSEmmanuel Vadotexamples:
118*b2d2a78aSEmmanuel Vadot  - |
119*b2d2a78aSEmmanuel Vadot    communication@2000 {
120*b2d2a78aSEmmanuel Vadot        compatible = "fsl,ucc-hdlc";
121*b2d2a78aSEmmanuel Vadot        reg = <0x2000 0x200>;
122*b2d2a78aSEmmanuel Vadot        rx-clock-name = "clk8";
123*b2d2a78aSEmmanuel Vadot        tx-clock-name = "clk9";
124*b2d2a78aSEmmanuel Vadot        fsl,rx-sync-clock = "rsync_pin";
125*b2d2a78aSEmmanuel Vadot        fsl,tx-sync-clock = "tsync_pin";
126*b2d2a78aSEmmanuel Vadot        fsl,tx-timeslot-mask = <0xfffffffe>;
127*b2d2a78aSEmmanuel Vadot        fsl,rx-timeslot-mask = <0xfffffffe>;
128*b2d2a78aSEmmanuel Vadot        fsl,tdm-framer-type = "e1";
129*b2d2a78aSEmmanuel Vadot        fsl,tdm-id = <0>;
130*b2d2a78aSEmmanuel Vadot        fsl,siram-entry-id = <0>;
131*b2d2a78aSEmmanuel Vadot        fsl,tdm-interface;
132*b2d2a78aSEmmanuel Vadot    };
133*b2d2a78aSEmmanuel Vadot
134*b2d2a78aSEmmanuel Vadot  - |
135*b2d2a78aSEmmanuel Vadot    communication@2000 {
136*b2d2a78aSEmmanuel Vadot        compatible = "fsl,ucc-hdlc";
137*b2d2a78aSEmmanuel Vadot        reg = <0x2000 0x200>;
138*b2d2a78aSEmmanuel Vadot        rx-clock-name = "brg1";
139*b2d2a78aSEmmanuel Vadot        tx-clock-name = "brg1";
140*b2d2a78aSEmmanuel Vadot    };
141