simple-pm-bus.yaml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Simple Power-Managed Bus
  7. maintainers:
  8. - Geert Uytterhoeven <geert+renesas@glider.be>
  9. description: |
  10. A Simple Power-Managed Bus is a transparent bus that doesn't need a real
  11. driver, as it's typically initialized by the boot loader.
  12. However, its bus controller is part of a PM domain, or under the control
  13. of a functional clock. Hence, the bus controller's PM domain and/or
  14. clock must be enabled for child devices connected to the bus (either
  15. on-SoC or externally) to function.
  16. While "simple-pm-bus" follows the "simple-bus" set of properties, as
  17. specified in the Devicetree Specification, it is not an extension of
  18. "simple-bus".
  19. properties:
  20. $nodename:
  21. pattern: "^bus(@[0-9a-f]+)?$"
  22. compatible:
  23. contains:
  24. const: simple-pm-bus
  25. description:
  26. Shall contain "simple-pm-bus" in addition to a optional bus-specific
  27. compatible strings defined in individual pm-bus bindings.
  28. '#address-cells':
  29. enum: [ 1, 2 ]
  30. '#size-cells':
  31. enum: [ 1, 2 ]
  32. ranges: true
  33. clocks: true
  34. # Functional clocks
  35. # Required if power-domains is absent, optional otherwise
  36. power-domains:
  37. # Required if clocks is absent, optional otherwise
  38. minItems: 1
  39. required:
  40. - compatible
  41. - '#address-cells'
  42. - '#size-cells'
  43. - ranges
  44. anyOf:
  45. - required:
  46. - clocks
  47. - required:
  48. - power-domains
  49. additionalProperties: true
  50. examples:
  51. - |
  52. #include <dt-bindings/clock/qcom,gcc-msm8996.h>
  53. #include <dt-bindings/interrupt-controller/irq.h>
  54. bus {
  55. power-domains = <&gcc AGGRE0_NOC_GDSC>;
  56. compatible = "simple-pm-bus";
  57. #address-cells = <1>;
  58. #size-cells = <1>;
  59. ranges;
  60. };