marvell,prestera.yaml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/net/marvell,prestera.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Marvell Prestera switch family
  7. maintainers:
  8. - Miquel Raynal <miquel.raynal@bootlin.com>
  9. properties:
  10. compatible:
  11. oneOf:
  12. - items:
  13. - enum:
  14. - marvell,prestera-98dx3236
  15. - marvell,prestera-98dx3336
  16. - marvell,prestera-98dx4251
  17. - const: marvell,prestera
  18. - enum:
  19. - pci11ab,c804
  20. - pci11ab,c80c
  21. - pci11ab,cc1e
  22. reg:
  23. maxItems: 1
  24. interrupts:
  25. maxItems: 3
  26. dfx:
  27. description: Reference to the DFX Server bus node.
  28. $ref: /schemas/types.yaml#/definitions/phandle
  29. nvmem-cells: true
  30. nvmem-cell-names: true
  31. if:
  32. properties:
  33. compatible:
  34. contains:
  35. const: marvell,prestera
  36. # Memory mapped AlleyCat3 family
  37. then:
  38. properties:
  39. nvmem-cells: false
  40. nvmem-cell-names: false
  41. required:
  42. - interrupts
  43. # PCI Aldrin family
  44. else:
  45. properties:
  46. interrupts: false
  47. dfx: false
  48. required:
  49. - compatible
  50. - reg
  51. # Ports can also be described
  52. additionalProperties:
  53. type: object
  54. examples:
  55. - |
  56. packet-processor@0 {
  57. compatible = "marvell,prestera-98dx3236", "marvell,prestera";
  58. reg = <0 0x4000000>;
  59. interrupts = <33>, <34>, <35>;
  60. dfx = <&dfx>;
  61. };
  62. - |
  63. pcie@0 {
  64. #address-cells = <3>;
  65. #size-cells = <2>;
  66. ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
  67. reg = <0x0 0x1000>;
  68. device_type = "pci";
  69. switch@0,0 {
  70. reg = <0x0 0x0 0x0 0x0 0x0>;
  71. compatible = "pci11ab,c80c";
  72. nvmem-cells = <&mac_address 0>;
  73. nvmem-cell-names = "mac-address";
  74. };
  75. };