soc.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mips/brcm/soc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Broadcom cable/DSL/settop platforms
  7. maintainers:
  8. - Florian Fainelli <f.fainelli@gmail.com>
  9. description: |
  10. Boards Broadcom cable/DSL/settop SoC shall have the following properties.
  11. The experimental -viper variants are for running Linux on the 3384's
  12. BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
  13. properties:
  14. $nodename:
  15. const: '/'
  16. compatible:
  17. enum:
  18. - brcm,bcm3368
  19. - brcm,bcm3384
  20. - brcm,bcm33843
  21. - brcm,bcm3384-viper
  22. - brcm,bcm33843-viper
  23. - brcm,bcm6328
  24. - brcm,bcm6358
  25. - brcm,bcm6362
  26. - brcm,bcm6368
  27. - brcm,bcm63168
  28. - brcm,bcm63268
  29. - brcm,bcm7125
  30. - brcm,bcm7346
  31. - brcm,bcm7358
  32. - brcm,bcm7360
  33. - brcm,bcm7362
  34. - brcm,bcm7420
  35. - brcm,bcm7425
  36. cpus:
  37. type: object
  38. additionalProperties: false
  39. properties:
  40. '#address-cells':
  41. const: 1
  42. '#size-cells':
  43. const: 0
  44. mips-hpt-frequency:
  45. description: MIPS counter high precision timer frequency.
  46. This is common to all CPUs in the system so it lives
  47. under the "cpus" node.
  48. $ref: /schemas/types.yaml#/definitions/uint32
  49. brcm,bmips-cbr-reg:
  50. description: Reference address of the CBR.
  51. Some SoC suffer from a BUG where CBR(Core Base Register)
  52. address might be badly or never initialized by the Bootloader
  53. or reading it from co-processor registers, if the system boots
  54. from secondary CPU, results in invalid address.
  55. The CBR address is always the same on the SoC hence it
  56. can be provided in DT to handle these broken case.
  57. $ref: /schemas/types.yaml#/definitions/uint32
  58. patternProperties:
  59. "^cpu@[0-9]$":
  60. type: object
  61. $ref: /schemas/mips/cpus.yaml#
  62. unevaluatedProperties: false
  63. required:
  64. - mips-hpt-frequency
  65. if:
  66. properties:
  67. compatible:
  68. contains:
  69. enum:
  70. - brcm,bcm6358
  71. - brcm,bcm6368
  72. then:
  73. properties:
  74. cpus:
  75. required:
  76. - brcm,bmips-cbr-reg
  77. additionalProperties: true
  78. examples:
  79. - |
  80. / {
  81. compatible = "brcm,bcm3368";
  82. #address-cells = <1>;
  83. #size-cells = <1>;
  84. model = "Broadcom 3368";
  85. cpus {
  86. #address-cells = <1>;
  87. #size-cells = <0>;
  88. mips-hpt-frequency = <150000000>;
  89. cpu@0 {
  90. compatible = "brcm,bmips4350";
  91. device_type = "cpu";
  92. reg = <0>;
  93. };
  94. cpu@1 {
  95. compatible = "brcm,bmips4350";
  96. device_type = "cpu";
  97. reg = <1>;
  98. };
  99. };
  100. };
  101. ...