Skip to content

Commit ecbfc6f

Browse files
nxpfranklirobherring
authored andcommitted
dt-bindings: soc: fsl: cpm_qe: convert to yaml format
Convert binding doc qe.txt to yaml format. Split it to fsl,qe-firmware.yaml, fsl,qe-ic.yaml, fsl,qe-muram.yaml, fsl,qe-si.yaml fsl,qe-siram.yaml, fsl,qe.yaml. Additional Changes: - Fix error in example. - Change to low case for hex value. - Remove fsl,qe-num-riscs and fsl,qe-snums from required list. - Add #address-cell and #size-cell. - Add interrupts description for qe-ic. - Add compatible string fsl,ls1043-qe-si for fsl,qe-si.yaml - Add compatible string fsl,ls1043-qe-siram for fsl,qe-siram.yaml - Add child node for fsl,qe.yaml Fix below warning: arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb: /soc/uqe@2400000/muram@10000: failed to match any schema with compatible: ['fsl,qe-muram', 'fsl,cpm-muram'] arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb: /soc/uqe@2400000/muram@10000: failed to match any schema with compatible: ['fsl,qe-muram', 'fsl,cpm-muram'] arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb: /soc/uqe@2400000/muram@10000/data-only@0: failed to match any schema with compatible: ['fsl,qe-muram-data', 'fsl,cpm-muram-data'] arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: /soc/uqe@2400000: failed to match any schema with compatible: ['fsl,qe', 'simple-bus'] arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb: /soc/uqe@2400000/muram@10000/data-only@0: failed to match any schema with compatible: ['fsl,qe-muram-data', 'fsl,cpm-muram-data'] arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: /soc/uqe@2400000/qeic@80: failed to match any schema with compatible: ['fsl,qe-ic'] Signed-off-by: Frank Li <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring (Arm) <[email protected]>
1 parent 1a73912 commit ecbfc6f

File tree

7 files changed

+393
-178
lines changed

7 files changed

+393
-178
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-firmware.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine module Firmware Node
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description: |
13+
This node defines a firmware binary that is embedded in the device tree, for
14+
the purpose of passing the firmware from bootloader to the kernel, or from
15+
the hypervisor to the guest.
16+
17+
The firmware node itself contains the firmware binary contents, a compatible
18+
property, and any firmware-specific properties. The node should be placed
19+
inside a QE node that needs it. Doing so eliminates the need for a
20+
fsl,firmware-phandle property. Other QE nodes that need the same firmware
21+
should define an fsl,firmware-phandle property that points to the firmware node
22+
in the first QE node.
23+
24+
The fsl,firmware property can be specified in the DTS (possibly using incbin)
25+
or can be inserted by the boot loader at boot time.
26+
27+
properties:
28+
compatible:
29+
enum:
30+
- fsl,qe-firmware
31+
32+
fsl,firmware:
33+
$ref: /schemas/types.yaml#/definitions/uint8-array
34+
description:
35+
A standard property. This property contains the firmware binary "blob".
36+
37+
required:
38+
- compatible
39+
- fsl,firmware
40+
41+
additionalProperties: false
42+
43+
examples:
44+
- |
45+
qe-firmware {
46+
compatible = "fsl,qe-firmware";
47+
fsl,firmware = <0x70 0xcd 0x00 0x00 0x01 0x46 0x45>;
48+
};
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ic.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine module Interrupt Controller (IC)
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
properties:
13+
compatible:
14+
const: fsl,qe-ic
15+
16+
reg:
17+
maxItems: 1
18+
19+
interrupts:
20+
items:
21+
- description: QE interrupt
22+
- description: QE critical
23+
- description: QE error
24+
minItems: 1
25+
26+
interrupt-controller: true
27+
28+
"#interrupt-cells":
29+
const: 1
30+
31+
required:
32+
- compatible
33+
- reg
34+
- interrupt-controller
35+
- "#interrupt-cells"
36+
37+
additionalProperties: false
38+
39+
examples:
40+
- |
41+
interrupt-controller@80 {
42+
compatible = "fsl,qe-ic";
43+
reg = <0x80 0x80>;
44+
#interrupt-cells = <1>;
45+
interrupt-controller;
46+
interrupts = <95 2 0 0 94 2 0 0>;
47+
};
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-muram.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine Multi-User RAM (MURAM)
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description: Multi-User RAM (MURAM)
13+
14+
properties:
15+
compatible:
16+
items:
17+
- const: fsl,qe-muram
18+
- const: fsl,cpm-muram
19+
20+
ranges:
21+
maxItems: 1
22+
23+
"#address-cells":
24+
const: 1
25+
26+
"#size-cells":
27+
const: 1
28+
29+
mode:
30+
$ref: /schemas/types.yaml#/definitions/string
31+
enum: [host, slave]
32+
33+
34+
patternProperties:
35+
'^data\-only@[a-f0-9]+$':
36+
type: object
37+
properties:
38+
compatible:
39+
items:
40+
- const: fsl,qe-muram-data
41+
- const: fsl,cpm-muram-data
42+
43+
reg:
44+
maxItems: 1
45+
46+
required:
47+
- compatible
48+
- reg
49+
50+
additionalProperties: false
51+
52+
required:
53+
- compatible
54+
- ranges
55+
56+
additionalProperties: false
57+
58+
examples:
59+
- |
60+
muram@10000 {
61+
compatible = "fsl,qe-muram", "fsl,cpm-muram";
62+
ranges = <0 0x00010000 0x0000c000>;
63+
#address-cells = <1>;
64+
#size-cells = <1>;
65+
66+
data-only@0{
67+
compatible = "fsl,qe-muram-data",
68+
"fsl,cpm-muram-data";
69+
reg = <0 0xc000>;
70+
};
71+
};
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-si.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine module Serial Interface Block (SI)
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description:
13+
The SI manages the routing of eight TDM lines to the QE block serial drivers,
14+
the MCC and the UCCs, for receive and transmit.
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- items:
20+
- enum:
21+
- fsl,ls1043-qe-si
22+
- const: fsl,t1040-qe-si
23+
- enum:
24+
- fsl,t1040-qe-si
25+
26+
reg:
27+
maxItems: 1
28+
29+
required:
30+
- compatible
31+
- reg
32+
33+
additionalProperties: false
34+
35+
examples:
36+
- |
37+
si@700 {
38+
compatible = "fsl,t1040-qe-si";
39+
reg = <0x700 0x80>;
40+
};
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-siram.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine module Serial Interface Block RAM(SIRAM)
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description:
13+
store the routing entries of SI
14+
15+
properties:
16+
compatible:
17+
oneOf:
18+
- items:
19+
- enum:
20+
- fsl,ls1043-qe-siram
21+
- const: fsl,t1040-qe-siram
22+
- const: fsl,t1040-qe-siram
23+
24+
reg:
25+
maxItems: 1
26+
27+
required:
28+
- compatible
29+
- reg
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
siram@1000 {
36+
compatible = "fsl,t1040-qe-siram";
37+
reg = <0x1000 0x800>;
38+
};
39+
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Freescale QUICC Engine module (QE)
8+
9+
maintainers:
10+
- Frank Li <[email protected]>
11+
12+
description: |
13+
This represents qe module that is installed on PowerQUICC II Pro.
14+
15+
NOTE: This is an interim binding; it should be updated to fit
16+
in with the CPM binding later in this document.
17+
18+
Basically, it is a bus of devices, that could act more or less
19+
as a complete entity (UCC, USB etc ). All of them should be siblings on
20+
the "root" qe node, using the common properties from there.
21+
The description below applies to the qe of MPC8360 and
22+
more nodes and properties would be extended in the future.
23+
24+
properties:
25+
compatible:
26+
items:
27+
- const: fsl,qe
28+
- const: simple-bus
29+
30+
reg:
31+
maxItems: 1
32+
33+
ranges:
34+
maxItems: 1
35+
36+
model:
37+
$ref: /schemas/types.yaml#/definitions/string
38+
enum: [QE, CPM, CPM2]
39+
40+
bus-frequency:
41+
$ref: /schemas/types.yaml#/definitions/uint32
42+
description: the clock frequency for QUICC Engine.
43+
44+
fsl,qe-num-riscs:
45+
$ref: /schemas/types.yaml#/definitions/uint32
46+
description: define how many RISC engines the QE has.
47+
48+
fsl,qe-snums:
49+
$ref: /schemas/types.yaml#/definitions/uint8-array
50+
maxItems: 28
51+
description:
52+
defining the array of serial number (SNUM) values for the virtual
53+
threads.
54+
55+
fsl,firmware-phandle:
56+
$ref: /schemas/types.yaml#/definitions/phandle
57+
description: |
58+
required only if there is no fsl,qe-firmware child node
59+
60+
Points to a firmware node (see "QE Firmware Node" below)
61+
that contains the firmware that should be uploaded for this QE.
62+
The compatible property for the firmware node should say,
63+
"fsl,qe-firmware".
64+
65+
brg-frequency:
66+
$ref: /schemas/types.yaml#/definitions/uint32
67+
description:
68+
the internal clock source frequency for baud-rate
69+
generators in Hz.
70+
71+
fsl,qe-num-snums:
72+
$ref: /schemas/types.yaml#/definitions/uint32
73+
deprecated: true
74+
description: |
75+
define how many serial number(SNUM) the QE can use
76+
for the threads. Use fsl,qe-snums instead to not only specify the
77+
number of snums, but also their values.
78+
79+
patternProperties:
80+
'^muram@[a-f0-9]+$':
81+
$ref: fsl,qe-muram.yaml
82+
83+
'^interrupt-controller@[a-f0-9]+$':
84+
$ref: fsl,qe-ic.yaml
85+
86+
'^si@[a-f0-9]+$':
87+
$ref: fsl,qe-si.yaml
88+
89+
'^siram@[a-f0-9]+$':
90+
$ref: fsl,qe-siram.yaml
91+
92+
required:
93+
- compatible
94+
- reg
95+
- bus-frequency
96+
97+
allOf:
98+
- $ref: /schemas/simple-bus.yaml#
99+
100+
unevaluatedProperties: false
101+
102+
examples:
103+
- |
104+
qe-bus@e0100000 {
105+
compatible = "fsl,qe", "simple-bus";
106+
reg = <0xe0100000 0x480>;
107+
ranges = <0 0xe0100000 0x00100000>;
108+
#address-cells = <1>;
109+
#size-cells = <1>;
110+
brg-frequency = <0>;
111+
bus-frequency = <0x179a7b00>;
112+
fsl,qe-snums = /bits/ 8 <
113+
0x04 0x05 0x0c 0x0d 0x14 0x15 0x1c 0x1d
114+
0x24 0x25 0x2c 0x2d 0x34 0x35 0x88 0x89
115+
0x98 0x99 0xa8 0xa9 0xb8 0xb9 0xc8 0xc9
116+
0xd8 0xd9 0xe8 0xe9>;
117+
118+
interrupt-controller@80 {
119+
compatible = "fsl,qe-ic";
120+
reg = <0x80 0x80>;
121+
#interrupt-cells = <1>;
122+
interrupt-controller;
123+
interrupts = <95 2 0 0 94 2 0 0>;
124+
};
125+
126+
si@700 {
127+
compatible = "fsl,t1040-qe-si";
128+
reg = <0x700 0x80>;
129+
};
130+
131+
siram@1000 {
132+
compatible = "fsl,t1040-qe-siram";
133+
reg = <0x1000 0x800>;
134+
};
135+
136+
muram@10000 {
137+
compatible = "fsl,qe-muram", "fsl,cpm-muram";
138+
ranges = <0 0x00010000 0x0000c000>;
139+
#address-cells = <1>;
140+
#size-cells = <1>;
141+
142+
data-only@0{
143+
compatible = "fsl,qe-muram-data",
144+
"fsl,cpm-muram-data";
145+
reg = <0 0xc000>;
146+
};
147+
};
148+
};

0 commit comments

Comments
 (0)