# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale QUICC Engine module (QE) maintainers: - Frank Li description: | This represents qe module that is installed on PowerQUICC II Pro. NOTE: This is an interim binding; it should be updated to fit in with the CPM binding later in this document. Basically, it is a bus of devices, that could act more or less as a complete entity (UCC, USB etc ). All of them should be siblings on the "root" qe node, using the common properties from there. The description below applies to the qe of MPC8360 and more nodes and properties would be extended in the future. properties: compatible: items: - const: fsl,qe - const: simple-bus reg: maxItems: 1 ranges: maxItems: 1 model: $ref: /schemas/types.yaml#/definitions/string enum: [QE, CPM, CPM2] bus-frequency: $ref: /schemas/types.yaml#/definitions/uint32 description: the clock frequency for QUICC Engine. fsl,qe-num-riscs: $ref: /schemas/types.yaml#/definitions/uint32 description: define how many RISC engines the QE has. fsl,qe-snums: $ref: /schemas/types.yaml#/definitions/uint8-array maxItems: 28 description: defining the array of serial number (SNUM) values for the virtual threads. fsl,firmware-phandle: $ref: /schemas/types.yaml#/definitions/phandle description: | required only if there is no fsl,qe-firmware child node Points to a firmware node (see "QE Firmware Node" below) that contains the firmware that should be uploaded for this QE. The compatible property for the firmware node should say, "fsl,qe-firmware". brg-frequency: $ref: /schemas/types.yaml#/definitions/uint32 description: the internal clock source frequency for baud-rate generators in Hz. fsl,qe-num-snums: $ref: /schemas/types.yaml#/definitions/uint32 deprecated: true description: | define how many serial number(SNUM) the QE can use for the threads. Use fsl,qe-snums instead to not only specify the number of snums, but also their values. patternProperties: '^muram@[a-f0-9]+$': $ref: fsl,qe-muram.yaml '^interrupt-controller@[a-f0-9]+$': $ref: fsl,qe-ic.yaml '^si@[a-f0-9]+$': $ref: fsl,qe-si.yaml '^siram@[a-f0-9]+$': $ref: fsl,qe-siram.yaml required: - compatible - reg - bus-frequency allOf: - $ref: /schemas/simple-bus.yaml# unevaluatedProperties: false examples: - | qe-bus@e0100000 { compatible = "fsl,qe", "simple-bus"; reg = <0xe0100000 0x480>; ranges = <0 0xe0100000 0x00100000>; #address-cells = <1>; #size-cells = <1>; brg-frequency = <0>; bus-frequency = <0x179a7b00>; fsl,qe-snums = /bits/ 8 < 0x04 0x05 0x0c 0x0d 0x14 0x15 0x1c 0x1d 0x24 0x25 0x2c 0x2d 0x34 0x35 0x88 0x89 0x98 0x99 0xa8 0xa9 0xb8 0xb9 0xc8 0xc9 0xd8 0xd9 0xe8 0xe9>; interrupt-controller@80 { compatible = "fsl,qe-ic"; reg = <0x80 0x80>; #interrupt-cells = <1>; interrupt-controller; interrupts = <95 2 0 0 94 2 0 0>; }; si@700 { compatible = "fsl,t1040-qe-si"; reg = <0x700 0x80>; }; siram@1000 { compatible = "fsl,t1040-qe-siram"; reg = <0x1000 0x800>; }; muram@10000 { compatible = "fsl,qe-muram", "fsl,cpm-muram"; ranges = <0 0x00010000 0x0000c000>; #address-cells = <1>; #size-cells = <1>; data-only@0{ compatible = "fsl,qe-muram-data", "fsl,cpm-muram-data"; reg = <0 0xc000>; }; }; };