nxp,bbnsm.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/nxp,bbnsm.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: NXP Battery-Backed Non-Secure Module
  7. maintainers:
  8. - Jacky Bai <ping.bai@nxp.com>
  9. description: |
  10. NXP BBNSM serves as non-volatile logic and storage for the system.
  11. it Intergrates RTC & ON/OFF control.
  12. The RTC can retain its state and continues counting even when the
  13. main chip is power down. A time alarm is generated once the most
  14. significant 32 bits of the real-time counter match the value in the
  15. Time Alarm register.
  16. The ON/OFF logic inside the BBNSM allows for connecting directly to
  17. a PMIC or other voltage regulator device. both smart PMIC mode and
  18. Dumb PMIC mode supported.
  19. properties:
  20. compatible:
  21. items:
  22. - enum:
  23. - nxp,imx93-bbnsm
  24. - const: syscon
  25. - const: simple-mfd
  26. reg:
  27. maxItems: 1
  28. rtc:
  29. type: object
  30. $ref: /schemas/rtc/rtc.yaml#
  31. properties:
  32. compatible:
  33. enum:
  34. - nxp,imx93-bbnsm-rtc
  35. interrupts:
  36. maxItems: 1
  37. start-year: true
  38. required:
  39. - compatible
  40. - interrupts
  41. additionalProperties: false
  42. pwrkey:
  43. type: object
  44. $ref: /schemas/input/input.yaml#
  45. properties:
  46. compatible:
  47. enum:
  48. - nxp,imx93-bbnsm-pwrkey
  49. interrupts:
  50. maxItems: 1
  51. linux,code: true
  52. required:
  53. - compatible
  54. - interrupts
  55. additionalProperties: false
  56. required:
  57. - compatible
  58. - reg
  59. - rtc
  60. - pwrkey
  61. additionalProperties: false
  62. examples:
  63. - |
  64. #include <dt-bindings/input/linux-event-codes.h>
  65. #include <dt-bindings/interrupt-controller/arm-gic.h>
  66. bbnsm: bbnsm@44440000 {
  67. compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd";
  68. reg = <0x44440000 0x10000>;
  69. bbnsm_rtc: rtc {
  70. compatible = "nxp,imx93-bbnsm-rtc";
  71. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  72. };
  73. bbnsm_pwrkey: pwrkey {
  74. compatible = "nxp,imx93-bbnsm-pwrkey";
  75. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  76. linux,code = <KEY_POWER>;
  77. };
  78. };