qcom,wcnss.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. Qualcomm WCNSS Binding
  2. This binding describes the Qualcomm WCNSS hardware. It consists of control
  3. block and a BT, WiFi and FM radio block, all using SMD as command channels.
  4. - compatible:
  5. Usage: required
  6. Value type: <string>
  7. Definition: must be: "qcom,wcnss",
  8. - qcom,smd-channel:
  9. Usage: required
  10. Value type: <string>
  11. Definition: standard SMD property specifying the SMD channel used for
  12. communication with the WiFi firmware.
  13. Should be "WCNSS_CTRL".
  14. - qcom,mmio:
  15. Usage: required
  16. Value type: <prop-encoded-array>
  17. Definition: reference to a node specifying the wcnss "ccu" and "dxe"
  18. register blocks. The node must be compatible with one of
  19. the following:
  20. "qcom,riva",
  21. "qcom,pronto"
  22. = SUBNODES
  23. The subnodes of the wcnss node are optional and describe the individual blocks in
  24. the WCNSS.
  25. == Bluetooth
  26. The following properties are defined to the bluetooth node:
  27. - compatible:
  28. Usage: required
  29. Value type: <string>
  30. Definition: must be:
  31. "qcom,wcnss-bt"
  32. - local-bd-address:
  33. Usage: optional
  34. Value type: <u8 array>
  35. Definition: see Documentation/devicetree/bindings/net/bluetooth.txt
  36. == WiFi
  37. The following properties are defined to the WiFi node:
  38. - compatible:
  39. Usage: required
  40. Value type: <string>
  41. Definition: must be one of:
  42. "qcom,wcnss-wlan",
  43. - interrupts:
  44. Usage: required
  45. Value type: <prop-encoded-array>
  46. Definition: should specify the "rx" and "tx" interrupts
  47. - interrupt-names:
  48. Usage: required
  49. Value type: <stringlist>
  50. Definition: must contain "rx" and "tx"
  51. - qcom,smem-state:
  52. Usage: required
  53. Value type: <prop-encoded-array>
  54. Definition: should reference the tx-enable and tx-rings-empty SMEM states
  55. - qcom,smem-state-names:
  56. Usage: required
  57. Value type: <stringlist>
  58. Definition: must contain "tx-enable" and "tx-rings-empty"
  59. = EXAMPLE
  60. The following example represents a SMD node, with one edge representing the
  61. "pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks
  62. described; as found on the 8974 platform.
  63. smd {
  64. compatible = "qcom,smd";
  65. pronto-edge {
  66. interrupts = <0 142 1>;
  67. qcom,ipc = <&apcs 8 17>;
  68. qcom,smd-edge = <6>;
  69. wcnss {
  70. compatible = "qcom,wcnss";
  71. qcom,smd-channels = "WCNSS_CTRL";
  72. #address-cells = <1>;
  73. #size-cells = <1>;
  74. qcom,mmio = <&pronto>;
  75. bt {
  76. compatible = "qcom,wcnss-bt";
  77. /* BD address 00:11:22:33:44:55 */
  78. local-bd-address = [ 55 44 33 22 11 00 ];
  79. };
  80. wlan {
  81. compatible = "qcom,wcnss-wlan";
  82. interrupts = <0 145 0>, <0 146 0>;
  83. interrupt-names = "tx", "rx";
  84. qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>;
  85. qcom,smem-state-names = "tx-enable", "tx-rings-empty";
  86. };
  87. };
  88. };
  89. };
  90. soc {
  91. pronto: pronto {
  92. compatible = "qcom,pronto";
  93. reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
  94. reg-names = "ccu", "dxe", "pmu";
  95. };
  96. };