smem.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. Qualcomm Shared Memory
  2. [Root level node]
  3. Required properties:
  4. -compatible : should be "qcom,smem"
  5. -reg : the location and size of smem, the irq register base memory, and
  6. optionally any auxiliary smem areas
  7. -reg-names : "smem" - string to identify the shared memory region
  8. "irq-reg-base" - string to identify the irq register region
  9. "aux-mem1", "aux-mem2", "aux-mem3", ... - optional strings to
  10. identify any auxiliary shared memory regions
  11. Optional properties:
  12. -mpu-enabled : boolean value indicating that Memory Protection Unit based
  13. security is enabled on the "smem" shared memory region
  14. [Second level nodes]
  15. qcom,smd
  16. Required properties:
  17. -compatible : should be "qcom,smd"
  18. -qcom,smd-edge : the smd edge
  19. -qcom,smd-irq-offset : the offset into the irq register base memory for sending
  20. interrupts
  21. -qcom,smd-irq-bitmask : the sending irq bitmask
  22. -interrupts : the receiving interrupt line
  23. Optional properties:
  24. -qcom,pil-string : the name to use when loading this edge
  25. -qcom,irq-no-suspend: configure the incoming irq line as active during suspend
  26. qcom,smsm
  27. Required properties:
  28. -compatible : should be "qcom,smsm"
  29. -qcom,smsm-edge : the smsm edge
  30. -qcom,smsm-irq-offset : the offset into the irq register base memory for sending
  31. interrupts
  32. -qcom,smsm-irq-bitmask : the sending irq bitmask
  33. -interrupts : the receiving interrupt line
  34. Example:
  35. qcom,smem@fa00000 {
  36. compatible = "qcom,smem";
  37. reg = <0xfa00000 0x200000>,
  38. <0xfa006000 0x1000>,
  39. <0xfc428000 0x4000>;
  40. reg-names = "smem", "irq-reg-base", "aux-mem1";
  41. qcom,smd-modem {
  42. compatible = "qcom,smd";
  43. qcom,smd-edge = <0>;
  44. qcom,smd-irq-offset = <0x8>;
  45. qcom,smd-irq-bitmask = <0x1000>;
  46. qcom,pil-string = "modem";
  47. interrupts = <0 25 1>;
  48. };
  49. qcom,smsm-modem {
  50. compatible = "qcom,smsm";
  51. qcom,smsm-edge = <0>;
  52. qcom,smsm-irq-offset = <0x8>;
  53. qcom,smsm-irq-bitmask = <0x2000>;
  54. interrupts = <0 26 1>;
  55. };
  56. qcom,smd-adsp {
  57. compatible = "qcom,smd";
  58. qcom,smd-edge = <1>;
  59. qcom,smd-irq-offset = <0x8>;
  60. qcom,smd-irq-bitmask = <0x100>;
  61. qcom,pil-string = "adsp";
  62. interrupts = <0 156 1>;
  63. };
  64. qcom,smsm-adsp {
  65. compatible = "qcom,smsm";
  66. qcom,smsm-edge = <1>;
  67. qcom,smsm-irq-offset = <0x8>;
  68. qcom,smsm-irq-bitmask = <0x200>;
  69. interrupts = <0 157 1>;
  70. };
  71. qcom,smd-wcnss {
  72. compatible = "qcom,smd";
  73. qcom,smd-edge = <6>;
  74. qcom,smd-irq-offset = <0x8>;
  75. qcom,smd-irq-bitmask = <0x20000>;
  76. qcom,pil-string = "wcnss";
  77. interrupts = <0 142 1>;
  78. };
  79. qcom,smsm-wcnss {
  80. compatible = "qcom,smsm";
  81. qcom,smsm-edge = <6>;
  82. qcom,smsm-irq-offset = <0x8>;
  83. qcom,smsm-irq-bitmask = <0x80000>;
  84. interrupts = <0 144 1>;
  85. };
  86. qcom,smd-rpm {
  87. compatible = "qcom,smd";
  88. qcom,smd-edge = <15>;
  89. qcom,smd-irq-offset = <0x8>;
  90. qcom,smd-irq-bitmask = <0x1>;
  91. interrupts = <0 168 1>;
  92. qcom,irq-no-syspend;
  93. };
  94. };