cirrus,ep9301-syscon.yaml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/soc/cirrus/cirrus,ep9301-syscon.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Cirrus Logic EP93xx Platforms System Controller
  7. maintainers:
  8. - Alexander Sverdlin <alexander.sverdlin@gmail.com>
  9. - Nikita Shubin <nikita.shubin@maquefel.me>
  10. description: |
  11. Central resources are controlled by a set of software-locked registers,
  12. which can be used to prevent accidental accesses. Syscon generates
  13. the various bus and peripheral clocks and controls the system startup
  14. configuration.
  15. The System Controller (Syscon) provides:
  16. - Clock control
  17. - Power management
  18. - System configuration management
  19. Syscon registers are common for all EP93xx SoC's, through some actual peripheral
  20. may be missing depending on actual SoC model.
  21. properties:
  22. compatible:
  23. oneOf:
  24. - items:
  25. - enum:
  26. - cirrus,ep9302-syscon
  27. - cirrus,ep9307-syscon
  28. - cirrus,ep9312-syscon
  29. - cirrus,ep9315-syscon
  30. - const: cirrus,ep9301-syscon
  31. - const: syscon
  32. - items:
  33. - const: cirrus,ep9301-syscon
  34. - const: syscon
  35. reg:
  36. maxItems: 1
  37. "#clock-cells":
  38. const: 1
  39. clocks:
  40. items:
  41. - description: reference clock
  42. patternProperties:
  43. '^pins-':
  44. type: object
  45. description: pin node
  46. $ref: /schemas/pinctrl/pinmux-node.yaml
  47. properties:
  48. function:
  49. enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ]
  50. groups:
  51. enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
  52. gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
  53. rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp ]
  54. required:
  55. - function
  56. - groups
  57. unevaluatedProperties: false
  58. required:
  59. - compatible
  60. - reg
  61. - "#clock-cells"
  62. - clocks
  63. additionalProperties: false
  64. examples:
  65. - |
  66. syscon@80930000 {
  67. compatible = "cirrus,ep9301-syscon", "syscon";
  68. reg = <0x80930000 0x1000>;
  69. #clock-cells = <1>;
  70. clocks = <&xtali>;
  71. spi_default_pins: pins-spi {
  72. function = "spi";
  73. groups = "ssp";
  74. };
  75. };