wcnss-wlan.txt 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. * Qualcomm Technologies Inc. WCNSS Platform Driver
  2. WCNSS driver is the platform driver. It is used for performing the cold
  3. boot-up of the wireless device. It is responsible for adjusting
  4. the necessary I/O rails and enabling appropriate gpios for wireless
  5. connectivity subsystem.
  6. Required properties:
  7. - compatible: "wcnss_wlan"
  8. - reg: physical address and length of the register set for the device.
  9. - reg-names: "wcnss_mmio", "wcnss_fiq", "pronto_phy_base", "riva_phy_base",
  10. "riva_ccu_base", "pronto_a2xb_base", "pronto_ccpu_base",
  11. "pronto_saw2_base", "wlan_tx_phy_aborts","wlan_brdg_err_source",
  12. "wlan_tx_status", "alarms_txctl", "alarms_tactl",
  13. "pronto_mcu_base", "pronto_qfuse".
  14. - interupts: Pronto to Apps interrupts for tx done and rx pending.
  15. - qcom,pronto-vddmx-supply: regulator to supply pronto pll.
  16. - qcom,pronto-vddcx-supply: voltage corner regulator to supply WLAN/BT/FM
  17. digital module.
  18. - qcom,pronto-vddpx-supply: regulator to supply WLAN DAC.
  19. - qcom,iris-vddxo-supply : regulator to supply RF XO.
  20. - qcom,iris-vddrfa-supply : regulator to supply RFA digital.
  21. - qcom,iris-vddpa-supply : regulator to supply RF PA.
  22. - qcom,iris-vdddig-supply : regulator to supply RF digital(BT/FM).
  23. - gpios: gpio numbers to configure 5-wire interface of WLAN connectivity
  24. - qcom,has-48mhz-xo: boolean flag to determine the usage of 24MHz XO from RF
  25. - qcom,has-pronto-hw: boolean flag to determine the revId of the WLAN subsystem
  26. - qcom,wcnss-adc_tm: ADC handle for vbatt notification APIs.
  27. - qcom,wcnss-vadc: VADC handle for battery voltage notification APIs.
  28. - pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt
  29. - pinctrl-names : Names corresponding to the numbered pinctrl states
  30. - clocks: from common clock binding: handle to xo, rf_clk and wcnss snoc clocks.
  31. - clock-names: Names of all the clocks that are accessed by the subsystem
  32. - qcom,vdd-voltage-level: This property represents (nominal, min, max) voltage
  33. for iris and pronto regulators in milli-volts.
  34. - qcom,vdd-current: This property represents current value for
  35. iris and pronto regulators in micro-amps.
  36. Optional properties:
  37. - qcom,has-autodetect-xo: boolean flag to determine whether Iris XO auto detect
  38. should be performed during boot up.
  39. - qcom,snoc-wcnss-clock-freq: indicates the wcnss snoc clock frequency in Hz.
  40. If wcnss_snoc clock is specified in the list of clocks, this property needs
  41. to be set to make it functional.
  42. - qcom,wlan-rx-buff-count: WLAN RX buffer count is a configurable value,
  43. using a smaller count for this buffer will reduce the memory usage.
  44. - qcom,is-pronto-v3: boolean flag to determine the pronto hardware version
  45. in use. subsequently correct workqueue will be used by DXE engine to push frames
  46. in TX data path.
  47. - qcom,is-dual-band-disable: boolean flag to determine the WLAN dual band
  48. capability.
  49. - qcom,is-pronto-vadc: boolean flag to determine Battery voltage feature
  50. support for pronto hardware.
  51. - qcom,wcnss-pm : <Core rail LDO#, PA rail LDO#, XO settling time,
  52. RPM power collapse enabled, standalone power collapse enabled>
  53. Power manager related parameter for LDO configuration.
  54. 11 - WCN CORE rail LDO number
  55. 21 - WCN PA rail LDO number
  56. 1200 - WCN XO settling time (usec)
  57. 1 - WCN RPM power collapse enabled
  58. 1 - WCN standalone power collapse enabled
  59. 6 - GPIO strength value
  60. - qcom,has-vsys-adc-channel: boolean flag to determine which ADC HW channel need
  61. to use for VBATT feature.
  62. - qcom,has-a2xb-split-reg: boolean flag to determine A2xb split timeout limit
  63. register is available or not.
  64. Example:
  65. qcom,wcnss-wlan@fb000000 {
  66. compatible = "qcom,wcnss_wlan";
  67. reg = <0xfb000000 0x280000>,
  68. <0xf9011008 0x04>;
  69. reg-names = "wcnss_mmio", "wcnss_fiq";
  70. interrupts = <0 145 0 0 146 0>;
  71. interrupt-names = "wcnss_wlantx_irq", "wcnss_wlanrx_irq";
  72. qcom,pronto-vddmx-supply = <&pm8841_s1>;
  73. qcom,pronto-vddcx-supply = <&pm8841_s2_corner>;
  74. qcom,pronto-vddpx-supply = <&pm8941_s3>;
  75. qcom,iris-vddxo-supply = <&pm8941_l6>;
  76. qcom,iris-vddrfa-supply = <&pm8941_l11>;
  77. qcom,iris-vddpa-supply = <&pm8941_l19>;
  78. qcom,iris-vdddig-supply = <&pm8941_l3>;
  79. gpios = <&msmgpio 36 0>, <&msmgpio 37 0>, <&msmgpio 38 0>,
  80. <&msmgpio 39 0>, <&msmgpio 40 0>;
  81. qcom,has-48mhz-xo;
  82. qcom,is-pronto-vt;
  83. qcom,wlan-rx-buff-count = <512>;
  84. qcom,has-pronto-hw;
  85. qcom,wcnss-adc_tm = <&pm8226_adc_tm>;
  86. pinctrl-names = "wcnss_default", "wcnss_sleep";
  87. pinctrl-0 = <&wcnss_default>;
  88. pinctrl-1 = <&wcnss_sleep>;
  89. pinctrl-2 = <&wcnss_gpio_default>;
  90. clocks = <&clock_rpm clk_xo_wlan_clk>,
  91. <&clock_rpm clk_rf_clk2>,
  92. <&clock_debug clk_gcc_debug_mux>,
  93. <&clock_gcc clk_wcnss_m_clk>,
  94. <&clock_gcc clk_snoc_wcnss_a_clk>;
  95. clock-names = "xo", "rf_clk", "measure", "wcnss_debug",
  96. "snoc_wcnss";
  97. qcom,snoc-wcnss-clock-freq = <200000000>;
  98. qcom,wcnss-pm = <11 21 1200 1 1 6>;
  99. };