xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/cpm_qe/fsl,qe.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Freescale QUICC Engine module (QE)
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotdescription: |
13*0e8011faSEmmanuel Vadot  This represents qe module that is installed on PowerQUICC II Pro.
14*0e8011faSEmmanuel Vadot
15*0e8011faSEmmanuel Vadot  NOTE:  This is an interim binding; it should be updated to fit
16*0e8011faSEmmanuel Vadot  in with the CPM binding later in this document.
17*0e8011faSEmmanuel Vadot
18*0e8011faSEmmanuel Vadot  Basically, it is a bus of devices, that could act more or less
19*0e8011faSEmmanuel Vadot  as a complete entity (UCC, USB etc ). All of them should be siblings on
20*0e8011faSEmmanuel Vadot  the "root" qe node, using the common properties from there.
21*0e8011faSEmmanuel Vadot  The description below applies to the qe of MPC8360 and
22*0e8011faSEmmanuel Vadot  more nodes and properties would be extended in the future.
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadotproperties:
25*0e8011faSEmmanuel Vadot  compatible:
26*0e8011faSEmmanuel Vadot    items:
27*0e8011faSEmmanuel Vadot      - const: fsl,qe
28*0e8011faSEmmanuel Vadot      - const: simple-bus
29*0e8011faSEmmanuel Vadot
30*0e8011faSEmmanuel Vadot  reg:
31*0e8011faSEmmanuel Vadot    maxItems: 1
32*0e8011faSEmmanuel Vadot
33*0e8011faSEmmanuel Vadot  ranges:
34*0e8011faSEmmanuel Vadot    maxItems: 1
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot  model:
37*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
38*0e8011faSEmmanuel Vadot    enum: [QE, CPM, CPM2]
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel Vadot  bus-frequency:
41*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
42*0e8011faSEmmanuel Vadot    description: the clock frequency for QUICC Engine.
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot  fsl,qe-num-riscs:
45*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
46*0e8011faSEmmanuel Vadot    description: define how many RISC engines the QE has.
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot  fsl,qe-snums:
49*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
50*0e8011faSEmmanuel Vadot    maxItems: 28
51*0e8011faSEmmanuel Vadot    description:
52*0e8011faSEmmanuel Vadot      defining the array of serial number (SNUM) values for the virtual
53*0e8011faSEmmanuel Vadot      threads.
54*0e8011faSEmmanuel Vadot
55*0e8011faSEmmanuel Vadot  fsl,firmware-phandle:
56*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
57*0e8011faSEmmanuel Vadot    description: |
58*0e8011faSEmmanuel Vadot      required only if there is no fsl,qe-firmware child node
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel Vadot      Points to a firmware node (see "QE Firmware Node" below)
61*0e8011faSEmmanuel Vadot      that contains the firmware that should be uploaded for this QE.
62*0e8011faSEmmanuel Vadot      The compatible property for the firmware node should say,
63*0e8011faSEmmanuel Vadot      "fsl,qe-firmware".
64*0e8011faSEmmanuel Vadot
65*0e8011faSEmmanuel Vadot  brg-frequency:
66*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
67*0e8011faSEmmanuel Vadot    description:
68*0e8011faSEmmanuel Vadot      the internal clock source frequency for baud-rate
69*0e8011faSEmmanuel Vadot      generators in Hz.
70*0e8011faSEmmanuel Vadot
71*0e8011faSEmmanuel Vadot  fsl,qe-num-snums:
72*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
73*0e8011faSEmmanuel Vadot    deprecated: true
74*0e8011faSEmmanuel Vadot    description: |
75*0e8011faSEmmanuel Vadot      define how many serial number(SNUM) the QE can use
76*0e8011faSEmmanuel Vadot      for the threads. Use fsl,qe-snums instead to not only specify the
77*0e8011faSEmmanuel Vadot      number of snums, but also their values.
78*0e8011faSEmmanuel Vadot
79*0e8011faSEmmanuel VadotpatternProperties:
80*0e8011faSEmmanuel Vadot  '^muram@[a-f0-9]+$':
81*0e8011faSEmmanuel Vadot    $ref: fsl,qe-muram.yaml
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel Vadot  '^interrupt-controller@[a-f0-9]+$':
84*0e8011faSEmmanuel Vadot    $ref: fsl,qe-ic.yaml
85*0e8011faSEmmanuel Vadot
86*0e8011faSEmmanuel Vadot  '^si@[a-f0-9]+$':
87*0e8011faSEmmanuel Vadot    $ref: fsl,qe-si.yaml
88*0e8011faSEmmanuel Vadot
89*0e8011faSEmmanuel Vadot  '^siram@[a-f0-9]+$':
90*0e8011faSEmmanuel Vadot    $ref: fsl,qe-siram.yaml
91*0e8011faSEmmanuel Vadot
92*0e8011faSEmmanuel Vadotrequired:
93*0e8011faSEmmanuel Vadot  - compatible
94*0e8011faSEmmanuel Vadot  - reg
95*0e8011faSEmmanuel Vadot  - bus-frequency
96*0e8011faSEmmanuel Vadot
97*0e8011faSEmmanuel VadotallOf:
98*0e8011faSEmmanuel Vadot  - $ref: /schemas/simple-bus.yaml#
99*0e8011faSEmmanuel Vadot
100*0e8011faSEmmanuel VadotunevaluatedProperties: false
101*0e8011faSEmmanuel Vadot
102*0e8011faSEmmanuel Vadotexamples:
103*0e8011faSEmmanuel Vadot  - |
104*0e8011faSEmmanuel Vadot    qe-bus@e0100000 {
105*0e8011faSEmmanuel Vadot        compatible = "fsl,qe", "simple-bus";
106*0e8011faSEmmanuel Vadot        reg = <0xe0100000 0x480>;
107*0e8011faSEmmanuel Vadot        ranges = <0 0xe0100000 0x00100000>;
108*0e8011faSEmmanuel Vadot        #address-cells = <1>;
109*0e8011faSEmmanuel Vadot        #size-cells = <1>;
110*0e8011faSEmmanuel Vadot        brg-frequency = <0>;
111*0e8011faSEmmanuel Vadot        bus-frequency = <0x179a7b00>;
112*0e8011faSEmmanuel Vadot        fsl,qe-snums = /bits/ 8 <
113*0e8011faSEmmanuel Vadot            0x04 0x05 0x0c 0x0d 0x14 0x15 0x1c 0x1d
114*0e8011faSEmmanuel Vadot            0x24 0x25 0x2c 0x2d 0x34 0x35 0x88 0x89
115*0e8011faSEmmanuel Vadot            0x98 0x99 0xa8 0xa9 0xb8 0xb9 0xc8 0xc9
116*0e8011faSEmmanuel Vadot            0xd8 0xd9 0xe8 0xe9>;
117*0e8011faSEmmanuel Vadot
118*0e8011faSEmmanuel Vadot        interrupt-controller@80 {
119*0e8011faSEmmanuel Vadot            compatible = "fsl,qe-ic";
120*0e8011faSEmmanuel Vadot            reg = <0x80 0x80>;
121*0e8011faSEmmanuel Vadot            #interrupt-cells = <1>;
122*0e8011faSEmmanuel Vadot            interrupt-controller;
123*0e8011faSEmmanuel Vadot            interrupts = <95 2 0 0  94 2 0 0>;
124*0e8011faSEmmanuel Vadot        };
125*0e8011faSEmmanuel Vadot
126*0e8011faSEmmanuel Vadot        si@700 {
127*0e8011faSEmmanuel Vadot            compatible = "fsl,t1040-qe-si";
128*0e8011faSEmmanuel Vadot            reg = <0x700 0x80>;
129*0e8011faSEmmanuel Vadot        };
130*0e8011faSEmmanuel Vadot
131*0e8011faSEmmanuel Vadot        siram@1000 {
132*0e8011faSEmmanuel Vadot          compatible = "fsl,t1040-qe-siram";
133*0e8011faSEmmanuel Vadot          reg = <0x1000 0x800>;
134*0e8011faSEmmanuel Vadot        };
135*0e8011faSEmmanuel Vadot
136*0e8011faSEmmanuel Vadot        muram@10000 {
137*0e8011faSEmmanuel Vadot            compatible = "fsl,qe-muram", "fsl,cpm-muram";
138*0e8011faSEmmanuel Vadot            ranges = <0 0x00010000 0x0000c000>;
139*0e8011faSEmmanuel Vadot            #address-cells = <1>;
140*0e8011faSEmmanuel Vadot            #size-cells = <1>;
141*0e8011faSEmmanuel Vadot
142*0e8011faSEmmanuel Vadot              data-only@0{
143*0e8011faSEmmanuel Vadot                  compatible = "fsl,qe-muram-data",
144*0e8011faSEmmanuel Vadot                              "fsl,cpm-muram-data";
145*0e8011faSEmmanuel Vadot                  reg = <0 0xc000>;
146*0e8011faSEmmanuel Vadot              };
147*0e8011faSEmmanuel Vadot        };
148*0e8011faSEmmanuel Vadot    };
149