Loading Documentation/devicetree/bindings/bluetooth/bluetooth_power.txt 0 → 100644 +62 −0 Original line number Diff line number Diff line * Bluetooth Controller Bluetooth controller communicates with the Bluetooth Host using HCI Transport layer. HCI Transport layer can be based on UART or USB serial communication protocol. Required properties: - compatible: Should be set to one of the following: qca,ar3002 qca,qca6174 qca,wcn3990 qca,qca6390 - qca,bt-reset-gpio: GPIO pin to bring BT Controller out of reset Optional properties: - qca,bt-vdd-pa-supply: Bluetooth VDD PA regulator handle - qca,bt-vdd-io-supply: Bluetooth VDD IO regulator handle - qca,bt-vdd-ldo-supply: Bluetooth VDD LDO regulator handle. Kept under optional parameters as some of the chipsets doesn't require ldo or it may use from same vddio. - qca,bt-vdd-xtal-supply: Bluetooth VDD XTAL regulator handle - qca,bt-vdd-core-supply: Bluetooth VDD CORE regulator handle - qca,bt-chip-pwd-supply: Chip power down gpio is required when bluetooth module and other modules like wifi co-exist in a singe chip and shares a common gpio to bring chip out of reset. - qca,bt-vdd-pa-voltage-level: specifies VDD PA voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-io-voltage-level: specifies VDD IO voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-ldo-voltage-level: specifies VDD LDO voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-xtal-voltage-level: specifies VDD XTAL voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-core-voltage-level: specifies VDD CORE voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-io-current-level: specifies VDD IO current level in microamps - qca,bt-vdd-xtal-current-level: specifies VDD XTAL current level in microamps - qca,bt-vdd-core-current-level: specifies VDD CORE current level in microamps. - qca,bt-vdd-ldo-current-level: specifies VDD LDO current level in microamps. - qca,bt-vdd-pa-current-level: specifies VDD PA current level in microamps. - qca,bt-chip-pwd-current-level: specifies Chip Power current level in microamps. Example: bt-ar3002 { compatible = "qca,ar3002"; qca,bt-reset-gpio = <&pm8941_gpios 34 0>; qca,bt-vdd-io-supply = <&pm8941_s3>; qca,bt-vdd-pa-supply = <&pm8941_l19>; qca,bt-vdd-xtal-supply = <&pm8994_l30>; qca,bt-vdd-core-supply = <&pm8994_s3>; qca,bt-chip-pwd-supply = <&ath_chip_pwd_l>; qca,bt-vdd-io-voltage-level = <1800000 1800000>; qca,bt-vdd-pa-voltage-level = <2900000 2900000>; qca,bt-vdd-xtal-voltage-level = <1800000 1800000>; qca,bt-vdd-core-voltage-level = <1300000 1300000>; qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */ }; arch/arm64/configs/vendor/kona-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -232,6 +232,7 @@ CONFIG_QRTR=y CONFIG_QRTR_SMD=y CONFIG_QRTR_MHI=y CONFIG_BT=y CONFIG_MSM_BT_POWER=y CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_FW_LOADER_USER_HELPER=y Loading arch/arm64/configs/vendor/kona_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ CONFIG_QRTR=y CONFIG_QRTR_SMD=y CONFIG_QRTR_MHI=y CONFIG_BT=y CONFIG_MSM_BT_POWER=y CONFIG_CFG80211=y # CONFIG_CFG80211_CRDA_SUPPORT is not set CONFIG_RFKILL=y Loading drivers/bluetooth/Kconfig +8 −0 Original line number Diff line number Diff line Loading @@ -413,4 +413,12 @@ config BT_HCIRSI Say Y here to compile support for HCI over Redpine into the kernel or say M to compile as a module. config MSM_BT_POWER bool "MSM Bluetooth Power Control" depends on ARCH_QCOM && RFKILL help MSM Bluetooth Power control driver. This provides a parameter to switch on/off power from PMIC to Bluetooth device. This will control LDOs/Clock/GPIOs to control Bluetooth Chipset based on power on/off sequence. endmenu drivers/bluetooth/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ obj-$(CONFIG_BT_QCA) += btqca.o obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o obj-$(CONFIG_BT_HCIRSI) += btrsi.o obj-$(CONFIG_MSM_BT_POWER) += bluetooth-power.o btmrvl-y := btmrvl_main.o btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o Loading Loading
Documentation/devicetree/bindings/bluetooth/bluetooth_power.txt 0 → 100644 +62 −0 Original line number Diff line number Diff line * Bluetooth Controller Bluetooth controller communicates with the Bluetooth Host using HCI Transport layer. HCI Transport layer can be based on UART or USB serial communication protocol. Required properties: - compatible: Should be set to one of the following: qca,ar3002 qca,qca6174 qca,wcn3990 qca,qca6390 - qca,bt-reset-gpio: GPIO pin to bring BT Controller out of reset Optional properties: - qca,bt-vdd-pa-supply: Bluetooth VDD PA regulator handle - qca,bt-vdd-io-supply: Bluetooth VDD IO regulator handle - qca,bt-vdd-ldo-supply: Bluetooth VDD LDO regulator handle. Kept under optional parameters as some of the chipsets doesn't require ldo or it may use from same vddio. - qca,bt-vdd-xtal-supply: Bluetooth VDD XTAL regulator handle - qca,bt-vdd-core-supply: Bluetooth VDD CORE regulator handle - qca,bt-chip-pwd-supply: Chip power down gpio is required when bluetooth module and other modules like wifi co-exist in a singe chip and shares a common gpio to bring chip out of reset. - qca,bt-vdd-pa-voltage-level: specifies VDD PA voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-io-voltage-level: specifies VDD IO voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-ldo-voltage-level: specifies VDD LDO voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-xtal-voltage-level: specifies VDD XTAL voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-core-voltage-level: specifies VDD CORE voltage levels for supply. Should be specified in pairs (min, max), units uV - qca,bt-vdd-io-current-level: specifies VDD IO current level in microamps - qca,bt-vdd-xtal-current-level: specifies VDD XTAL current level in microamps - qca,bt-vdd-core-current-level: specifies VDD CORE current level in microamps. - qca,bt-vdd-ldo-current-level: specifies VDD LDO current level in microamps. - qca,bt-vdd-pa-current-level: specifies VDD PA current level in microamps. - qca,bt-chip-pwd-current-level: specifies Chip Power current level in microamps. Example: bt-ar3002 { compatible = "qca,ar3002"; qca,bt-reset-gpio = <&pm8941_gpios 34 0>; qca,bt-vdd-io-supply = <&pm8941_s3>; qca,bt-vdd-pa-supply = <&pm8941_l19>; qca,bt-vdd-xtal-supply = <&pm8994_l30>; qca,bt-vdd-core-supply = <&pm8994_s3>; qca,bt-chip-pwd-supply = <&ath_chip_pwd_l>; qca,bt-vdd-io-voltage-level = <1800000 1800000>; qca,bt-vdd-pa-voltage-level = <2900000 2900000>; qca,bt-vdd-xtal-voltage-level = <1800000 1800000>; qca,bt-vdd-core-voltage-level = <1300000 1300000>; qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */ };
arch/arm64/configs/vendor/kona-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -232,6 +232,7 @@ CONFIG_QRTR=y CONFIG_QRTR_SMD=y CONFIG_QRTR_MHI=y CONFIG_BT=y CONFIG_MSM_BT_POWER=y CONFIG_CFG80211=y CONFIG_RFKILL=y CONFIG_FW_LOADER_USER_HELPER=y Loading
arch/arm64/configs/vendor/kona_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ CONFIG_QRTR=y CONFIG_QRTR_SMD=y CONFIG_QRTR_MHI=y CONFIG_BT=y CONFIG_MSM_BT_POWER=y CONFIG_CFG80211=y # CONFIG_CFG80211_CRDA_SUPPORT is not set CONFIG_RFKILL=y Loading
drivers/bluetooth/Kconfig +8 −0 Original line number Diff line number Diff line Loading @@ -413,4 +413,12 @@ config BT_HCIRSI Say Y here to compile support for HCI over Redpine into the kernel or say M to compile as a module. config MSM_BT_POWER bool "MSM Bluetooth Power Control" depends on ARCH_QCOM && RFKILL help MSM Bluetooth Power control driver. This provides a parameter to switch on/off power from PMIC to Bluetooth device. This will control LDOs/Clock/GPIOs to control Bluetooth Chipset based on power on/off sequence. endmenu
drivers/bluetooth/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ obj-$(CONFIG_BT_QCA) += btqca.o obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o obj-$(CONFIG_BT_HCIRSI) += btrsi.o obj-$(CONFIG_MSM_BT_POWER) += bluetooth-power.o btmrvl-y := btmrvl_main.o btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o Loading