qe.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. * Freescale QUICC Engine module (QE)
  2. This represents qe module that is installed on PowerQUICC II Pro.
  3. NOTE: This is an interim binding; it should be updated to fit
  4. in with the CPM binding later in this document.
  5. Basically, it is a bus of devices, that could act more or less
  6. as a complete entity (UCC, USB etc ). All of them should be siblings on
  7. the "root" qe node, using the common properties from there.
  8. The description below applies to the qe of MPC8360 and
  9. more nodes and properties would be extended in the future.
  10. i) Root QE device
  11. Required properties:
  12. - compatible : should be "fsl,qe";
  13. - model : precise model of the QE, Can be "QE", "CPM", or "CPM2"
  14. - reg : offset and length of the device registers.
  15. - bus-frequency : the clock frequency for QUICC Engine.
  16. - fsl,qe-num-riscs: define how many RISC engines the QE has.
  17. - fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
  18. threads.
  19. Optional properties:
  20. - fsl,firmware-phandle:
  21. Usage: required only if there is no fsl,qe-firmware child node
  22. Value type: <phandle>
  23. Definition: Points to a firmware node (see "QE Firmware Node" below)
  24. that contains the firmware that should be uploaded for this QE.
  25. The compatible property for the firmware node should say,
  26. "fsl,qe-firmware".
  27. Recommended properties
  28. - brg-frequency : the internal clock source frequency for baud-rate
  29. generators in Hz.
  30. Example:
  31. qe@e0100000 {
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. #interrupt-cells = <2>;
  35. compatible = "fsl,qe";
  36. ranges = <0 e0100000 00100000>;
  37. reg = <e0100000 480>;
  38. brg-frequency = <0>;
  39. bus-frequency = <179A7B00>;
  40. }
  41. * Multi-User RAM (MURAM)
  42. Required properties:
  43. - compatible : should be "fsl,qe-muram", "fsl,cpm-muram".
  44. - mode : the could be "host" or "slave".
  45. - ranges : Should be defined as specified in 1) to describe the
  46. translation of MURAM addresses.
  47. - data-only : sub-node which defines the address area under MURAM
  48. bus that can be allocated as data/parameter
  49. Example:
  50. muram@10000 {
  51. compatible = "fsl,qe-muram", "fsl,cpm-muram";
  52. ranges = <0 00010000 0000c000>;
  53. data-only@0{
  54. compatible = "fsl,qe-muram-data",
  55. "fsl,cpm-muram-data";
  56. reg = <0 c000>;
  57. };
  58. };
  59. * QE Firmware Node
  60. This node defines a firmware binary that is embedded in the device tree, for
  61. the purpose of passing the firmware from bootloader to the kernel, or from
  62. the hypervisor to the guest.
  63. The firmware node itself contains the firmware binary contents, a compatible
  64. property, and any firmware-specific properties. The node should be placed
  65. inside a QE node that needs it. Doing so eliminates the need for a
  66. fsl,firmware-phandle property. Other QE nodes that need the same firmware
  67. should define an fsl,firmware-phandle property that points to the firmware node
  68. in the first QE node.
  69. The fsl,firmware property can be specified in the DTS (possibly using incbin)
  70. or can be inserted by the boot loader at boot time.
  71. Required properties:
  72. - compatible
  73. Usage: required
  74. Value type: <string>
  75. Definition: A standard property. Specify a string that indicates what
  76. kind of firmware it is. For QE, this should be "fsl,qe-firmware".
  77. - fsl,firmware
  78. Usage: required
  79. Value type: <prop-encoded-array>, encoded as an array of bytes
  80. Definition: A standard property. This property contains the firmware
  81. binary "blob".
  82. Example:
  83. qe1@e0080000 {
  84. compatible = "fsl,qe";
  85. qe_firmware:qe-firmware {
  86. compatible = "fsl,qe-firmware";
  87. fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...];
  88. };
  89. ...
  90. };
  91. qe2@e0090000 {
  92. compatible = "fsl,qe";
  93. fsl,firmware-phandle = <&qe_firmware>;
  94. ...
  95. };