syscon-common.yaml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/syscon-common.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: System Controller Registers R/W Common Properties
  7. description:
  8. System controller node represents a register region containing a set
  9. of miscellaneous registers. The registers are not cohesive enough to
  10. represent as any specific type of device. The typical use-case is
  11. for some other node's driver, or platform-specific code, to acquire
  12. a reference to the syscon node (e.g. by phandle, node path, or
  13. search using a specific compatible value), interrogate the node (or
  14. associated OS driver) to determine the location of the registers,
  15. and access the registers directly.
  16. maintainers:
  17. - Lee Jones <lee@kernel.org>
  18. select:
  19. properties:
  20. compatible:
  21. contains:
  22. const: syscon
  23. required:
  24. - compatible
  25. properties:
  26. compatible:
  27. contains:
  28. const: syscon
  29. minItems: 2
  30. maxItems: 5 # Should be enough
  31. reg:
  32. maxItems: 1
  33. reg-io-width:
  34. description:
  35. The size (in bytes) of the IO accesses that should be performed
  36. on the device.
  37. enum: [1, 2, 4, 8]
  38. required:
  39. - compatible
  40. - reg
  41. allOf:
  42. - if:
  43. properties:
  44. compatible:
  45. contains:
  46. const: simple-mfd
  47. then:
  48. properties:
  49. compatible:
  50. minItems: 3
  51. maxItems: 5
  52. additionalProperties: true
  53. examples:
  54. - |
  55. syscon: syscon@1c00000 {
  56. compatible = "allwinner,sun8i-h3-system-controller", "syscon";
  57. reg = <0x01c00000 0x1000>;
  58. };
  59. ...