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