cpus.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mips/cpus.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: MIPS CPUs
  7. maintainers:
  8. - Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  9. - 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
  10. description: |
  11. The device tree allows to describe the layout of CPUs in a system through
  12. the "cpus" node, which in turn contains a number of subnodes (ie "cpu")
  13. defining properties for every CPU.
  14. properties:
  15. compatible:
  16. enum:
  17. - brcm,bmips3300
  18. - brcm,bmips4350
  19. - brcm,bmips4380
  20. - brcm,bmips5000
  21. - brcm,bmips5200
  22. - img,i6500
  23. - ingenic,xburst-fpu1.0-mxu1.1
  24. - ingenic,xburst-fpu2.0-mxu2.0
  25. - ingenic,xburst-mxu1.0
  26. - ingenic,xburst2-fpu2.1-mxu2.1-smt
  27. - loongson,gs264
  28. - mips,m14Kc
  29. - mips,mips1004Kc
  30. - mips,mips24KEc
  31. - mips,mips24Kc
  32. - mips,mips4KEc
  33. - mips,mips4Kc
  34. - mips,mips74Kc
  35. - mti,interaptiv
  36. - mti,mips14KEc
  37. - mti,mips14Kc
  38. - mti,mips24KEc
  39. reg:
  40. maxItems: 1
  41. clocks:
  42. maxItems: 1
  43. device_type: true
  44. allOf:
  45. - if:
  46. properties:
  47. compatible:
  48. contains:
  49. enum:
  50. - ingenic,xburst-mxu1.0
  51. - ingenic,xburst-fpu1.0-mxu1.1
  52. - ingenic,xburst-fpu2.0-mxu2.0
  53. - ingenic,xburst2-fpu2.1-mxu2.1-smt
  54. then:
  55. required:
  56. - device_type
  57. - clocks
  58. required:
  59. - compatible
  60. - reg
  61. additionalProperties: false
  62. examples:
  63. - |
  64. cpus {
  65. #size-cells = <0>;
  66. #address-cells = <1>;
  67. cpu@0 {
  68. compatible = "mips,mips1004Kc";
  69. device_type = "cpu";
  70. reg = <0>;
  71. };
  72. cpu@1 {
  73. compatible = "mips,mips1004Kc";
  74. device_type = "cpu";
  75. reg = <1>;
  76. };
  77. };
  78. - |
  79. // Example 2 (Ingenic CPU)
  80. #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
  81. cpus {
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. cpu@0 {
  85. compatible = "ingenic,xburst-fpu1.0-mxu1.1";
  86. device_type = "cpu";
  87. reg = <0>;
  88. clocks = <&cgu JZ4780_CLK_CPU>;
  89. };
  90. cpu@1 {
  91. compatible = "ingenic,xburst-fpu1.0-mxu1.1";
  92. device_type = "cpu";
  93. reg = <1>;
  94. clocks = <&cgu JZ4780_CLK_CORE1>;
  95. };
  96. };
  97. ...