delta,tn48m-cpld.yaml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/delta,tn48m-cpld.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Delta Networks TN48M CPLD controller
  7. maintainers:
  8. - Robert Marko <robert.marko@sartura.hr>
  9. description: |
  10. Lattice CPLD onboard the TN48M switches is used for system
  11. management.
  12. It provides information about the hardware model, revision,
  13. PSU status etc.
  14. It is also being used as a GPIO expander and reset controller
  15. for the switch MAC-s and other peripherals.
  16. properties:
  17. compatible:
  18. const: delta,tn48m-cpld
  19. reg:
  20. description:
  21. I2C device address.
  22. maxItems: 1
  23. "#address-cells":
  24. const: 1
  25. "#size-cells":
  26. const: 0
  27. required:
  28. - compatible
  29. - reg
  30. - "#address-cells"
  31. - "#size-cells"
  32. patternProperties:
  33. "^gpio(@[0-9a-f]+)?$":
  34. $ref: /schemas/gpio/delta,tn48m-gpio.yaml
  35. "^reset-controller?$":
  36. $ref: /schemas/reset/delta,tn48m-reset.yaml
  37. additionalProperties: false
  38. examples:
  39. - |
  40. i2c {
  41. #address-cells = <1>;
  42. #size-cells = <0>;
  43. cpld@41 {
  44. compatible = "delta,tn48m-cpld";
  45. reg = <0x41>;
  46. #address-cells = <1>;
  47. #size-cells = <0>;
  48. gpio@31 {
  49. compatible = "delta,tn48m-gpo";
  50. reg = <0x31>;
  51. gpio-controller;
  52. #gpio-cells = <2>;
  53. };
  54. gpio@3a {
  55. compatible = "delta,tn48m-gpi";
  56. reg = <0x3a>;
  57. gpio-controller;
  58. #gpio-cells = <2>;
  59. };
  60. gpio@40 {
  61. compatible = "delta,tn48m-gpi";
  62. reg = <0x40>;
  63. gpio-controller;
  64. #gpio-cells = <2>;
  65. };
  66. reset-controller {
  67. compatible = "delta,tn48m-reset";
  68. #reset-cells = <1>;
  69. };
  70. };
  71. };