* [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 @ 2026-02-09 7:03 Vivek Sahu 2026-02-09 7:03 ` [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu 2026-02-09 7:14 ` [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu 0 siblings, 2 replies; 5+ messages in thread From: Vivek Sahu @ 2026-02-09 7:03 UTC (permalink / raw) To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Balakrishna Godavarthi, Rocky Liao Cc: quic_mohamull, quic_hbandi, linux-bluetooth, devicetree, linux-kernel, linux-arm-msm, Vivek Sahu QCC2072 is a WiFi/BT connectivity chip. It requires different firmware, so document it as a new compat string. Correct the sorting of other chipsets for better readability. Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com> --- .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml index 6353a336f382..1f47ad36aa61 100644 --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml @@ -18,13 +18,13 @@ properties: enum: - qcom,qca2066-bt - qcom,qca6174-bt + - qcom,qca6390-bt - qcom,qca9377-bt - - qcom,wcn3950-bt + - qcom,qcc2072-bt - qcom,wcn3988-bt - qcom,wcn3990-bt - qcom,wcn3991-bt - qcom,wcn3998-bt - - qcom,qca6390-bt - qcom,wcn6750-bt - qcom,wcn6855-bt - qcom,wcn7850-bt -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support 2026-02-09 7:03 [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu @ 2026-02-09 7:03 ` Vivek Sahu 2026-02-09 19:11 ` kernel test robot 2026-02-10 1:23 ` kernel test robot 2026-02-09 7:14 ` [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu 1 sibling, 2 replies; 5+ messages in thread From: Vivek Sahu @ 2026-02-09 7:03 UTC (permalink / raw) To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Balakrishna Godavarthi, Rocky Liao Cc: quic_mohamull, quic_hbandi, linux-bluetooth, devicetree, linux-kernel, linux-arm-msm, Vivek Sahu QCC2072 is a WiFi/BT connectivity chip. It requires different firmware files and has different configurations , so add it as a separate SoC type. Correct the sorting of other chipsets for better readability. Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com> --- drivers/bluetooth/btqca.c | 41 ++++++++++++++++++++++--------------- drivers/bluetooth/btqca.h | 1 + drivers/bluetooth/hci_qca.c | 40 ++++++++++++++++++++++++++---------- 3 files changed, 54 insertions(+), 28 deletions(-) diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c index 7c958d6065be..7b85634ee3a1 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -816,6 +816,17 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, snprintf(config.fwname, sizeof(config.fwname), "qca/%s", rampatch_name); } else { switch (soc_type) { + case QCA_QCA2066: + snprintf(config.fwname, sizeof(config.fwname), + "qca/hpbtfw%02x.tlv", rom_ver); + break; + case QCA_QCA6390: + snprintf(config.fwname, sizeof(config.fwname), + "qca/htbtfw%02x.tlv", rom_ver); + break; + case QCA_QCC2072: + snprintf(config.fwname, sizeof(config.fwname), + "qca/ornbtfw%02x.tlv", rom_ver); case QCA_WCN3950: snprintf(config.fwname, sizeof(config.fwname), "qca/cmbtfw%02x.tlv", rom_ver); @@ -830,14 +841,6 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, snprintf(config.fwname, sizeof(config.fwname), "qca/apbtfw%02x.tlv", rom_ver); break; - case QCA_QCA2066: - snprintf(config.fwname, sizeof(config.fwname), - "qca/hpbtfw%02x.tlv", rom_ver); - break; - case QCA_QCA6390: - snprintf(config.fwname, sizeof(config.fwname), - "qca/htbtfw%02x.tlv", rom_ver); - break; case QCA_WCN6750: /* Choose mbn file by default.If mbn file is not found * then choose tlv file @@ -885,6 +888,19 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, } } else { switch (soc_type) { + case QCA_QCA2066: + qca_get_nvm_name_by_board(config.fwname, + sizeof(config.fwname), "hpnv", soc_type, ver, + rom_ver, boardid); + break; + case QCA_QCA6390: + snprintf(config.fwname, sizeof(config.fwname), + "qca/htnv%02x.bin", rom_ver); + break; + case QCA_QCC2072: + snprintf(config.fwname, sizeof(config.fwname), + "qca/ornnv%02x.bin", rom_ver); + break; case QCA_WCN3950: if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T) variant = "t"; @@ -907,15 +923,6 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, snprintf(config.fwname, sizeof(config.fwname), "qca/apnv%02x.bin", rom_ver); break; - case QCA_QCA2066: - qca_get_nvm_name_by_board(config.fwname, - sizeof(config.fwname), "hpnv", soc_type, ver, - rom_ver, boardid); - break; - case QCA_QCA6390: - snprintf(config.fwname, sizeof(config.fwname), - "qca/htnv%02x.bin", rom_ver); - break; case QCA_WCN6750: snprintf(config.fwname, sizeof(config.fwname), "qca/msnv%02x.bin", rom_ver); diff --git a/drivers/bluetooth/btqca.h b/drivers/bluetooth/btqca.h index 8f3c1b1c77b3..a175ac31e7b2 100644 --- a/drivers/bluetooth/btqca.h +++ b/drivers/bluetooth/btqca.h @@ -158,6 +158,7 @@ enum qca_btsoc_type { QCA_WCN6750, QCA_WCN6855, QCA_WCN7850, + QCA_QCC2072, }; #if IS_ENABLED(CONFIG_BT_QCA) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 888176b0faa9..2ce6e19e5b86 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -623,6 +623,7 @@ static int qca_open(struct hci_uart *hu) qcadev = serdev_device_get_drvdata(hu->serdev); switch (qcadev->btsoc_type) { + case QCA_QCC2072: case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -1498,6 +1499,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type) * changing the baudrate of chip and host. */ switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -1514,6 +1516,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type) } switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3990: reinit_completion(&qca->drop_ev_comp); set_bit(QCA_DROP_VENDOR_EVENT, &qca->flags); @@ -1533,6 +1536,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type) error: switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -1549,6 +1553,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type) } switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3990: /* Wait for the controller to send the vendor event * for the baudrate change command. @@ -1900,6 +1905,10 @@ static int qca_setup(struct hci_uart *hu) soc_name = "qca2066"; break; + case QCA_QCC2072: + soc_name = "qcc2072"; + break; + case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -1935,6 +1944,7 @@ static int qca_setup(struct hci_uart *hu) clear_bit(QCA_SSR_TRIGGERED, &qca->flags); switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -1969,6 +1979,7 @@ static int qca_setup(struct hci_uart *hu) } switch (soc_type) { + case QCA_QCC2072: case QCA_WCN3950: case QCA_WCN3988: case QCA_WCN3990: @@ -2058,6 +2069,23 @@ static const struct hci_uart_proto qca_proto = { .dequeue = qca_dequeue, }; +static const struct qca_device_data qca_soc_data_qca2066 __maybe_unused = { + .soc_type = QCA_QCA2066, + .num_vregs = 0, +}; + +static const struct qca_device_data qca_soc_data_qca6390 __maybe_unused = { + .soc_type = QCA_QCA6390, + .num_vregs = 0, + .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES, +}; + +static const struct qca_device_data qca_soc_data_qcc2072 __maybe_unused = { + .soc_type = QCA_QCC2072, + .num_vregs = 0, + .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES, +}; + static const struct qca_device_data qca_soc_data_wcn3950 __maybe_unused = { .soc_type = QCA_WCN3950, .vregs = (struct qca_vreg []) { @@ -2114,17 +2142,6 @@ static const struct qca_device_data qca_soc_data_wcn3998 __maybe_unused = { .num_vregs = 4, }; -static const struct qca_device_data qca_soc_data_qca2066 __maybe_unused = { - .soc_type = QCA_QCA2066, - .num_vregs = 0, - .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES, -}; - -static const struct qca_device_data qca_soc_data_qca6390 __maybe_unused = { - .soc_type = QCA_QCA6390, - .num_vregs = 0, -}; - static const struct qca_device_data qca_soc_data_wcn6750 __maybe_unused = { .soc_type = QCA_WCN6750, .vregs = (struct qca_vreg []) { @@ -2715,6 +2732,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = { { .compatible = "qcom,qca6174-bt" }, { .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390}, { .compatible = "qcom,qca9377-bt" }, + { .compatible = "qcom,qcc2072-bt", .data = &qca_soc_data_qcc2072}, { .compatible = "qcom,wcn3950-bt", .data = &qca_soc_data_wcn3950}, { .compatible = "qcom,wcn3988-bt", .data = &qca_soc_data_wcn3988}, { .compatible = "qcom,wcn3990-bt", .data = &qca_soc_data_wcn3990}, -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support 2026-02-09 7:03 ` [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu @ 2026-02-09 19:11 ` kernel test robot 2026-02-10 1:23 ` kernel test robot 1 sibling, 0 replies; 5+ messages in thread From: kernel test robot @ 2026-02-09 19:11 UTC (permalink / raw) To: Vivek Sahu, Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Balakrishna Godavarthi, Rocky Liao Cc: oe-kbuild-all, quic_mohamull, quic_hbandi, linux-bluetooth, devicetree, linux-kernel, linux-arm-msm, Vivek Sahu Hi Vivek, kernel test robot noticed the following build warnings: [auto build test WARNING on bluetooth/master] [also build test WARNING on robh/for-next linus/master v6.19] [cannot apply to bluetooth-next/master next-20260205] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Vivek-Sahu/Bluetooth-qca-add-QCC2072-support/20260209-150905 base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master patch link: https://lore.kernel.org/r/20260209070356.187301-2-vivek.sahu%40oss.qualcomm.com patch subject: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support config: alpha-allmodconfig (https://download.01.org/0day-ci/archive/20260210/202602100332.6QKGVLHq-lkp@intel.com/config) compiler: alpha-linux-gcc (GCC) 15.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260210/202602100332.6QKGVLHq-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202602100332.6QKGVLHq-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/bluetooth/btqca.c: In function 'qca_uart_setup': >> drivers/bluetooth/btqca.c:828:25: warning: this statement may fall through [-Wimplicit-fallthrough=] 828 | snprintf(config.fwname, sizeof(config.fwname), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 829 | "qca/ornbtfw%02x.tlv", rom_ver); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/bluetooth/btqca.c:830:17: note: here 830 | case QCA_WCN3950: | ^~~~ vim +828 drivers/bluetooth/btqca.c 782 783 int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, 784 enum qca_btsoc_type soc_type, struct qca_btsoc_version ver, 785 const char *firmware_name, const char *rampatch_name) 786 { 787 struct qca_fw_config config = {}; 788 const char *variant = ""; 789 int err; 790 u8 rom_ver = 0; 791 u32 soc_ver; 792 u16 boardid = 0; 793 794 bt_dev_dbg(hdev, "QCA setup on UART"); 795 796 soc_ver = get_soc_ver(ver.soc_id, ver.rom_ver); 797 798 bt_dev_info(hdev, "QCA controller version 0x%08x", soc_ver); 799 800 config.user_baud_rate = baudrate; 801 802 /* Firmware files to download are based on ROM version. 803 * ROM version is derived from last two bytes of soc_ver. 804 */ 805 if (soc_type == QCA_WCN3988) 806 rom_ver = ((soc_ver & 0x00000f00) >> 0x05) | (soc_ver & 0x0000000f); 807 else 808 rom_ver = ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f); 809 810 if (soc_type == QCA_WCN6750) 811 qca_send_patch_config_cmd(hdev); 812 813 /* Download rampatch file */ 814 config.type = TLV_TYPE_PATCH; 815 if (rampatch_name) { 816 snprintf(config.fwname, sizeof(config.fwname), "qca/%s", rampatch_name); 817 } else { 818 switch (soc_type) { 819 case QCA_QCA2066: 820 snprintf(config.fwname, sizeof(config.fwname), 821 "qca/hpbtfw%02x.tlv", rom_ver); 822 break; 823 case QCA_QCA6390: 824 snprintf(config.fwname, sizeof(config.fwname), 825 "qca/htbtfw%02x.tlv", rom_ver); 826 break; 827 case QCA_QCC2072: > 828 snprintf(config.fwname, sizeof(config.fwname), 829 "qca/ornbtfw%02x.tlv", rom_ver); 830 case QCA_WCN3950: 831 snprintf(config.fwname, sizeof(config.fwname), 832 "qca/cmbtfw%02x.tlv", rom_ver); 833 break; 834 case QCA_WCN3990: 835 case QCA_WCN3991: 836 case QCA_WCN3998: 837 snprintf(config.fwname, sizeof(config.fwname), 838 "qca/crbtfw%02x.tlv", rom_ver); 839 break; 840 case QCA_WCN3988: 841 snprintf(config.fwname, sizeof(config.fwname), 842 "qca/apbtfw%02x.tlv", rom_ver); 843 break; 844 case QCA_WCN6750: 845 /* Choose mbn file by default.If mbn file is not found 846 * then choose tlv file 847 */ 848 config.type = ELF_TYPE_PATCH; 849 snprintf(config.fwname, sizeof(config.fwname), 850 "qca/msbtfw%02x.mbn", rom_ver); 851 break; 852 case QCA_WCN6855: 853 snprintf(config.fwname, sizeof(config.fwname), 854 "qca/hpbtfw%02x.tlv", rom_ver); 855 break; 856 case QCA_WCN7850: 857 snprintf(config.fwname, sizeof(config.fwname), 858 "qca/hmtbtfw%02x.tlv", rom_ver); 859 break; 860 default: 861 snprintf(config.fwname, sizeof(config.fwname), 862 "qca/rampatch_%08x.bin", soc_ver); 863 } 864 } 865 866 err = qca_download_firmware(hdev, &config, soc_type, rom_ver); 867 if (err < 0) { 868 bt_dev_err(hdev, "QCA Failed to download patch (%d)", err); 869 return err; 870 } 871 872 /* Give the controller some time to get ready to receive the NVM */ 873 msleep(10); 874 875 if (soc_type == QCA_QCA2066 || soc_type == QCA_WCN7850) 876 qca_read_fw_board_id(hdev, &boardid); 877 878 /* Download NVM configuration */ 879 config.type = TLV_TYPE_NVM; 880 if (firmware_name) { 881 /* The firmware name has an extension, use it directly */ 882 if (qca_filename_has_extension(firmware_name)) { 883 snprintf(config.fwname, sizeof(config.fwname), "qca/%s", firmware_name); 884 } else { 885 qca_read_fw_board_id(hdev, &boardid); 886 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), 887 firmware_name, soc_type, ver, 0, boardid); 888 } 889 } else { 890 switch (soc_type) { 891 case QCA_QCA2066: 892 qca_get_nvm_name_by_board(config.fwname, 893 sizeof(config.fwname), "hpnv", soc_type, ver, 894 rom_ver, boardid); 895 break; 896 case QCA_QCA6390: 897 snprintf(config.fwname, sizeof(config.fwname), 898 "qca/htnv%02x.bin", rom_ver); 899 break; 900 case QCA_QCC2072: 901 snprintf(config.fwname, sizeof(config.fwname), 902 "qca/ornnv%02x.bin", rom_ver); 903 break; 904 case QCA_WCN3950: 905 if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T) 906 variant = "t"; 907 else if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_S) 908 variant = "s"; 909 910 snprintf(config.fwname, sizeof(config.fwname), 911 "qca/cmnv%02x%s.bin", rom_ver, variant); 912 break; 913 case QCA_WCN3990: 914 case QCA_WCN3991: 915 case QCA_WCN3998: 916 if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) 917 variant = "u"; 918 919 snprintf(config.fwname, sizeof(config.fwname), 920 "qca/crnv%02x%s.bin", rom_ver, variant); 921 break; 922 case QCA_WCN3988: 923 snprintf(config.fwname, sizeof(config.fwname), 924 "qca/apnv%02x.bin", rom_ver); 925 break; 926 case QCA_WCN6750: 927 snprintf(config.fwname, sizeof(config.fwname), 928 "qca/msnv%02x.bin", rom_ver); 929 break; 930 case QCA_WCN6855: 931 qca_read_fw_board_id(hdev, &boardid); 932 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), 933 "hpnv", soc_type, ver, rom_ver, boardid); 934 break; 935 case QCA_WCN7850: 936 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), 937 "hmtnv", soc_type, ver, rom_ver, boardid); 938 break; 939 default: 940 snprintf(config.fwname, sizeof(config.fwname), 941 "qca/nvm_%08x.bin", soc_ver); 942 } 943 } 944 945 err = qca_download_firmware(hdev, &config, soc_type, rom_ver); 946 if (err < 0) { 947 bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err); 948 return err; 949 } 950 951 switch (soc_type) { 952 case QCA_WCN3991: 953 case QCA_QCA2066: 954 case QCA_QCA6390: 955 case QCA_WCN6750: 956 case QCA_WCN6855: 957 case QCA_WCN7850: 958 err = qca_disable_soc_logging(hdev); 959 if (err < 0) 960 return err; 961 break; 962 default: 963 break; 964 } 965 966 /* WCN399x and WCN6750 supports the Microsoft vendor extension with 0xFD70 as the 967 * VsMsftOpCode. 968 */ 969 switch (soc_type) { 970 case QCA_WCN3950: 971 case QCA_WCN3988: 972 case QCA_WCN3990: 973 case QCA_WCN3991: 974 case QCA_WCN3998: 975 case QCA_WCN6750: 976 hci_set_msft_opcode(hdev, 0xFD70); 977 break; 978 default: 979 break; 980 } 981 982 /* Perform HCI reset */ 983 err = qca_send_reset(hdev); 984 if (err < 0) { 985 bt_dev_err(hdev, "QCA Failed to run HCI_RESET (%d)", err); 986 return err; 987 } 988 989 switch (soc_type) { 990 case QCA_WCN3991: 991 case QCA_WCN6750: 992 case QCA_WCN6855: 993 case QCA_WCN7850: 994 /* get fw build info */ 995 err = qca_read_fw_build_info(hdev); 996 if (err < 0) 997 return err; 998 break; 999 default: 1000 break; 1001 } 1002 1003 err = qca_check_bdaddr(hdev, &config); 1004 if (err) 1005 return err; 1006 1007 bt_dev_info(hdev, "QCA setup on UART is completed"); 1008 1009 return 0; 1010 } 1011 EXPORT_SYMBOL_GPL(qca_uart_setup); 1012 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support 2026-02-09 7:03 ` [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu 2026-02-09 19:11 ` kernel test robot @ 2026-02-10 1:23 ` kernel test robot 1 sibling, 0 replies; 5+ messages in thread From: kernel test robot @ 2026-02-10 1:23 UTC (permalink / raw) To: Vivek Sahu, Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Balakrishna Godavarthi, Rocky Liao Cc: oe-kbuild-all, quic_mohamull, quic_hbandi, linux-bluetooth, devicetree, linux-kernel, linux-arm-msm, Vivek Sahu Hi Vivek, kernel test robot noticed the following build warnings: [auto build test WARNING on bluetooth/master] [also build test WARNING on robh/for-next linus/master v6.19] [cannot apply to bluetooth-next/master next-20260205] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Vivek-Sahu/Bluetooth-qca-add-QCC2072-support/20260209-150905 base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master patch link: https://lore.kernel.org/r/20260209070356.187301-2-vivek.sahu%40oss.qualcomm.com patch subject: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20260210/202602100949.3T4kUNgD-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260210/202602100949.3T4kUNgD-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202602100949.3T4kUNgD-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/bluetooth/btqca.c:830:3: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough] 830 | case QCA_WCN3950: | ^ drivers/bluetooth/btqca.c:830:3: note: insert '__attribute__((fallthrough));' to silence this warning 830 | case QCA_WCN3950: | ^ | __attribute__((fallthrough)); drivers/bluetooth/btqca.c:830:3: note: insert 'break;' to avoid fall-through 830 | case QCA_WCN3950: | ^ | break; 1 warning generated. vim +830 drivers/bluetooth/btqca.c e41137d8bd1a8e Zijun Hu 2024-04-17 782 aadebac4639d84 Balakrishna Godavarthi 2018-08-03 783 int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 784 enum qca_btsoc_type soc_type, struct qca_btsoc_version ver, 30209aeff75fe1 Cheng Jiang 2025-01-07 785 const char *firmware_name, const char *rampatch_name) 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 786 { dd336649ba8978 Johan Hovold 2024-04-30 787 struct qca_fw_config config = {}; 1cc41b5092e3aa Dmitry Baryshkov 2025-02-07 788 const char *variant = ""; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 789 int err; 523760b7ff8871 Harish Bandi 2019-04-26 790 u8 rom_ver = 0; 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 791 u32 soc_ver; a7f8dedb4be2cc Tim Jiang 2023-09-12 792 u16 boardid = 0; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 793 ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 794 bt_dev_dbg(hdev, "QCA setup on UART"); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 795 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 796 soc_ver = get_soc_ver(ver.soc_id, ver.rom_ver); 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 797 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 798 bt_dev_info(hdev, "QCA controller version 0x%08x", soc_ver); 059924fdf6c1c3 Venkata Lakshmi Narayana Gubba 2020-11-19 799 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 800 config.user_baud_rate = baudrate; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 801 4219d4686875fd Balakrishna Godavarthi 2018-08-03 802 /* Firmware files to download are based on ROM version. 4219d4686875fd Balakrishna Godavarthi 2018-08-03 803 * ROM version is derived from last two bytes of soc_ver. 4219d4686875fd Balakrishna Godavarthi 2018-08-03 804 */ f904feefe60c28 Luca Weiss 2023-08-02 805 if (soc_type == QCA_WCN3988) f904feefe60c28 Luca Weiss 2023-08-02 806 rom_ver = ((soc_ver & 0x00000f00) >> 0x05) | (soc_ver & 0x0000000f); f904feefe60c28 Luca Weiss 2023-08-02 807 else 99fba8e3f1d1fd Venkata Lakshmi Narayana Gubba 2021-05-18 808 rom_ver = ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f); 99fba8e3f1d1fd Venkata Lakshmi Narayana Gubba 2021-05-18 809 4fac8a7ac80b18 Sai Teja Aluvala 2022-01-07 810 if (soc_type == QCA_WCN6750) 4fac8a7ac80b18 Sai Teja Aluvala 2022-01-07 811 qca_send_patch_config_cmd(hdev); 4fac8a7ac80b18 Sai Teja Aluvala 2022-01-07 812 99fba8e3f1d1fd Venkata Lakshmi Narayana Gubba 2021-05-18 813 /* Download rampatch file */ 99fba8e3f1d1fd Venkata Lakshmi Narayana Gubba 2021-05-18 814 config.type = TLV_TYPE_PATCH; 30209aeff75fe1 Cheng Jiang 2025-01-07 815 if (rampatch_name) { 30209aeff75fe1 Cheng Jiang 2025-01-07 816 snprintf(config.fwname, sizeof(config.fwname), "qca/%s", rampatch_name); 30209aeff75fe1 Cheng Jiang 2025-01-07 817 } else { 691d54d0f7cb14 Neil Armstrong 2023-08-16 818 switch (soc_type) { 5590323f5a3811 Vivek Sahu 2026-02-09 819 case QCA_QCA2066: 5590323f5a3811 Vivek Sahu 2026-02-09 820 snprintf(config.fwname, sizeof(config.fwname), 5590323f5a3811 Vivek Sahu 2026-02-09 821 "qca/hpbtfw%02x.tlv", rom_ver); 5590323f5a3811 Vivek Sahu 2026-02-09 822 break; 5590323f5a3811 Vivek Sahu 2026-02-09 823 case QCA_QCA6390: 5590323f5a3811 Vivek Sahu 2026-02-09 824 snprintf(config.fwname, sizeof(config.fwname), 5590323f5a3811 Vivek Sahu 2026-02-09 825 "qca/htbtfw%02x.tlv", rom_ver); 5590323f5a3811 Vivek Sahu 2026-02-09 826 break; 5590323f5a3811 Vivek Sahu 2026-02-09 827 case QCA_QCC2072: 5590323f5a3811 Vivek Sahu 2026-02-09 828 snprintf(config.fwname, sizeof(config.fwname), 5590323f5a3811 Vivek Sahu 2026-02-09 829 "qca/ornbtfw%02x.tlv", rom_ver); d5712c511cb358 Dmitry Baryshkov 2025-02-07 @830 case QCA_WCN3950: d5712c511cb358 Dmitry Baryshkov 2025-02-07 831 snprintf(config.fwname, sizeof(config.fwname), d5712c511cb358 Dmitry Baryshkov 2025-02-07 832 "qca/cmbtfw%02x.tlv", rom_ver); d5712c511cb358 Dmitry Baryshkov 2025-02-07 833 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 834 case QCA_WCN3990: 691d54d0f7cb14 Neil Armstrong 2023-08-16 835 case QCA_WCN3991: 691d54d0f7cb14 Neil Armstrong 2023-08-16 836 case QCA_WCN3998: 4219d4686875fd Balakrishna Godavarthi 2018-08-03 837 snprintf(config.fwname, sizeof(config.fwname), 4219d4686875fd Balakrishna Godavarthi 2018-08-03 838 "qca/crbtfw%02x.tlv", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 839 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 840 case QCA_WCN3988: 691d54d0f7cb14 Neil Armstrong 2023-08-16 841 snprintf(config.fwname, sizeof(config.fwname), 691d54d0f7cb14 Neil Armstrong 2023-08-16 842 "qca/apbtfw%02x.tlv", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 843 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 844 case QCA_WCN6750: ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 845 /* Choose mbn file by default.If mbn file is not found ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 846 * then choose tlv file ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 847 */ ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 848 config.type = ELF_TYPE_PATCH; d8f97da1b92d2f Venkata Lakshmi Narayana Gubba 2021-05-18 849 snprintf(config.fwname, sizeof(config.fwname), ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 850 "qca/msbtfw%02x.mbn", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 851 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 852 case QCA_WCN6855: 095327fede005f Steev Klimaszewski 2023-03-26 853 snprintf(config.fwname, sizeof(config.fwname), 095327fede005f Steev Klimaszewski 2023-03-26 854 "qca/hpbtfw%02x.tlv", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 855 break; e0c1278ac89b03 Neil Armstrong 2023-08-16 856 case QCA_WCN7850: e0c1278ac89b03 Neil Armstrong 2023-08-16 857 snprintf(config.fwname, sizeof(config.fwname), e0c1278ac89b03 Neil Armstrong 2023-08-16 858 "qca/hmtbtfw%02x.tlv", rom_ver); e0c1278ac89b03 Neil Armstrong 2023-08-16 859 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 860 default: 4219d4686875fd Balakrishna Godavarthi 2018-08-03 861 snprintf(config.fwname, sizeof(config.fwname), 4219d4686875fd Balakrishna Godavarthi 2018-08-03 862 "qca/rampatch_%08x.bin", soc_ver); 4219d4686875fd Balakrishna Godavarthi 2018-08-03 863 } 30209aeff75fe1 Cheng Jiang 2025-01-07 864 } 4219d4686875fd Balakrishna Godavarthi 2018-08-03 865 ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 866 err = qca_download_firmware(hdev, &config, soc_type, rom_ver); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 867 if (err < 0) { ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 868 bt_dev_err(hdev, "QCA Failed to download patch (%d)", err); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 869 return err; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 870 } 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 871 8059ba0bd0e469 Matthias Kaehlcke 2019-07-09 872 /* Give the controller some time to get ready to receive the NVM */ 8059ba0bd0e469 Matthias Kaehlcke 2019-07-09 873 msleep(10); 8059ba0bd0e469 Matthias Kaehlcke 2019-07-09 874 e41137d8bd1a8e Zijun Hu 2024-04-17 875 if (soc_type == QCA_QCA2066 || soc_type == QCA_WCN7850) a7f8dedb4be2cc Tim Jiang 2023-09-12 876 qca_read_fw_board_id(hdev, &boardid); a7f8dedb4be2cc Tim Jiang 2023-09-12 877 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 878 /* Download NVM configuration */ 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 879 config.type = TLV_TYPE_NVM; 691d54d0f7cb14 Neil Armstrong 2023-08-16 880 if (firmware_name) { a4c5a468c6329b Cheng Jiang 2025-01-07 881 /* The firmware name has an extension, use it directly */ a4c5a468c6329b Cheng Jiang 2025-01-07 882 if (qca_filename_has_extension(firmware_name)) { a4c5a468c6329b Cheng Jiang 2025-01-07 883 snprintf(config.fwname, sizeof(config.fwname), "qca/%s", firmware_name); a4c5a468c6329b Cheng Jiang 2025-01-07 884 } else { a4c5a468c6329b Cheng Jiang 2025-01-07 885 qca_read_fw_board_id(hdev, &boardid); a4c5a468c6329b Cheng Jiang 2025-01-07 886 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), a4c5a468c6329b Cheng Jiang 2025-01-07 887 firmware_name, soc_type, ver, 0, boardid); a4c5a468c6329b Cheng Jiang 2025-01-07 888 } 691d54d0f7cb14 Neil Armstrong 2023-08-16 889 } else { 691d54d0f7cb14 Neil Armstrong 2023-08-16 890 switch (soc_type) { 5590323f5a3811 Vivek Sahu 2026-02-09 891 case QCA_QCA2066: 5590323f5a3811 Vivek Sahu 2026-02-09 892 qca_get_nvm_name_by_board(config.fwname, 5590323f5a3811 Vivek Sahu 2026-02-09 893 sizeof(config.fwname), "hpnv", soc_type, ver, 5590323f5a3811 Vivek Sahu 2026-02-09 894 rom_ver, boardid); 5590323f5a3811 Vivek Sahu 2026-02-09 895 break; 5590323f5a3811 Vivek Sahu 2026-02-09 896 case QCA_QCA6390: 5590323f5a3811 Vivek Sahu 2026-02-09 897 snprintf(config.fwname, sizeof(config.fwname), 5590323f5a3811 Vivek Sahu 2026-02-09 898 "qca/htnv%02x.bin", rom_ver); 5590323f5a3811 Vivek Sahu 2026-02-09 899 break; 5590323f5a3811 Vivek Sahu 2026-02-09 900 case QCA_QCC2072: 5590323f5a3811 Vivek Sahu 2026-02-09 901 snprintf(config.fwname, sizeof(config.fwname), 5590323f5a3811 Vivek Sahu 2026-02-09 902 "qca/ornnv%02x.bin", rom_ver); 5590323f5a3811 Vivek Sahu 2026-02-09 903 break; d5712c511cb358 Dmitry Baryshkov 2025-02-07 904 case QCA_WCN3950: d5712c511cb358 Dmitry Baryshkov 2025-02-07 905 if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T) d5712c511cb358 Dmitry Baryshkov 2025-02-07 906 variant = "t"; d5712c511cb358 Dmitry Baryshkov 2025-02-07 907 else if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_S) e92900c9803fb3 Dmitry Baryshkov 2025-04-01 908 variant = "s"; d5712c511cb358 Dmitry Baryshkov 2025-02-07 909 d5712c511cb358 Dmitry Baryshkov 2025-02-07 910 snprintf(config.fwname, sizeof(config.fwname), d5712c511cb358 Dmitry Baryshkov 2025-02-07 911 "qca/cmnv%02x%s.bin", rom_ver, variant); d5712c511cb358 Dmitry Baryshkov 2025-02-07 912 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 913 case QCA_WCN3990: 691d54d0f7cb14 Neil Armstrong 2023-08-16 914 case QCA_WCN3991: 691d54d0f7cb14 Neil Armstrong 2023-08-16 915 case QCA_WCN3998: 1cc41b5092e3aa Dmitry Baryshkov 2025-02-07 916 if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) 1cc41b5092e3aa Dmitry Baryshkov 2025-02-07 917 variant = "u"; 1cc41b5092e3aa Dmitry Baryshkov 2025-02-07 918 4219d4686875fd Balakrishna Godavarthi 2018-08-03 919 snprintf(config.fwname, sizeof(config.fwname), 1cc41b5092e3aa Dmitry Baryshkov 2025-02-07 920 "qca/crnv%02x%s.bin", rom_ver, variant); 691d54d0f7cb14 Neil Armstrong 2023-08-16 921 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 922 case QCA_WCN3988: 691d54d0f7cb14 Neil Armstrong 2023-08-16 923 snprintf(config.fwname, sizeof(config.fwname), 691d54d0f7cb14 Neil Armstrong 2023-08-16 924 "qca/apnv%02x.bin", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 925 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 926 case QCA_WCN6750: d8f97da1b92d2f Venkata Lakshmi Narayana Gubba 2021-05-18 927 snprintf(config.fwname, sizeof(config.fwname), d8f97da1b92d2f Venkata Lakshmi Narayana Gubba 2021-05-18 928 "qca/msnv%02x.bin", rom_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 929 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 930 case QCA_WCN6855: a2fad248947d70 Zijun Hu 2025-01-13 931 qca_read_fw_board_id(hdev, &boardid); a2fad248947d70 Zijun Hu 2025-01-13 932 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), a2fad248947d70 Zijun Hu 2025-01-13 933 "hpnv", soc_type, ver, rom_ver, boardid); 691d54d0f7cb14 Neil Armstrong 2023-08-16 934 break; e0c1278ac89b03 Neil Armstrong 2023-08-16 935 case QCA_WCN7850: a4c5a468c6329b Cheng Jiang 2025-01-07 936 qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname), a4c5a468c6329b Cheng Jiang 2025-01-07 937 "hmtnv", soc_type, ver, rom_ver, boardid); e0c1278ac89b03 Neil Armstrong 2023-08-16 938 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 939 default: 4219d4686875fd Balakrishna Godavarthi 2018-08-03 940 snprintf(config.fwname, sizeof(config.fwname), 4219d4686875fd Balakrishna Godavarthi 2018-08-03 941 "qca/nvm_%08x.bin", soc_ver); 691d54d0f7cb14 Neil Armstrong 2023-08-16 942 } 691d54d0f7cb14 Neil Armstrong 2023-08-16 943 } 4219d4686875fd Balakrishna Godavarthi 2018-08-03 944 ecf6b2d9566606 Venkata Lakshmi Narayana Gubba 2021-05-18 945 err = qca_download_firmware(hdev, &config, soc_type, rom_ver); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 946 if (err < 0) { ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 947 bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 948 return err; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 949 } 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 950 691d54d0f7cb14 Neil Armstrong 2023-08-16 951 switch (soc_type) { 691d54d0f7cb14 Neil Armstrong 2023-08-16 952 case QCA_WCN3991: a7f8dedb4be2cc Tim Jiang 2023-09-12 953 case QCA_QCA2066: 691d54d0f7cb14 Neil Armstrong 2023-08-16 954 case QCA_QCA6390: 691d54d0f7cb14 Neil Armstrong 2023-08-16 955 case QCA_WCN6750: 691d54d0f7cb14 Neil Armstrong 2023-08-16 956 case QCA_WCN6855: e0c1278ac89b03 Neil Armstrong 2023-08-16 957 case QCA_WCN7850: 590deccf4c0690 Balakrishna Godavarthi 2020-06-12 958 err = qca_disable_soc_logging(hdev); 590deccf4c0690 Balakrishna Godavarthi 2020-06-12 959 if (err < 0) 590deccf4c0690 Balakrishna Godavarthi 2020-06-12 960 return err; 691d54d0f7cb14 Neil Armstrong 2023-08-16 961 break; 691d54d0f7cb14 Neil Armstrong 2023-08-16 962 default: 691d54d0f7cb14 Neil Armstrong 2023-08-16 963 break; 590deccf4c0690 Balakrishna Godavarthi 2020-06-12 964 } 590deccf4c0690 Balakrishna Godavarthi 2020-06-12 965 d8f97da1b92d2f Venkata Lakshmi Narayana Gubba 2021-05-18 966 /* WCN399x and WCN6750 supports the Microsoft vendor extension with 0xFD70 as the eaf19b0c47d142 Miao-chen Chou 2020-12-17 967 * VsMsftOpCode. eaf19b0c47d142 Miao-chen Chou 2020-12-17 968 */ eaf19b0c47d142 Miao-chen Chou 2020-12-17 969 switch (soc_type) { d5712c511cb358 Dmitry Baryshkov 2025-02-07 970 case QCA_WCN3950: 691d54d0f7cb14 Neil Armstrong 2023-08-16 971 case QCA_WCN3988: eaf19b0c47d142 Miao-chen Chou 2020-12-17 972 case QCA_WCN3990: eaf19b0c47d142 Miao-chen Chou 2020-12-17 973 case QCA_WCN3991: eaf19b0c47d142 Miao-chen Chou 2020-12-17 974 case QCA_WCN3998: d8f97da1b92d2f Venkata Lakshmi Narayana Gubba 2021-05-18 975 case QCA_WCN6750: eaf19b0c47d142 Miao-chen Chou 2020-12-17 976 hci_set_msft_opcode(hdev, 0xFD70); eaf19b0c47d142 Miao-chen Chou 2020-12-17 977 break; eaf19b0c47d142 Miao-chen Chou 2020-12-17 978 default: eaf19b0c47d142 Miao-chen Chou 2020-12-17 979 break; eaf19b0c47d142 Miao-chen Chou 2020-12-17 980 } eaf19b0c47d142 Miao-chen Chou 2020-12-17 981 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 982 /* Perform HCI reset */ ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 983 err = qca_send_reset(hdev); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 984 if (err < 0) { ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 985 bt_dev_err(hdev, "QCA Failed to run HCI_RESET (%d)", err); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 986 return err; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 987 } 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 988 095327fede005f Steev Klimaszewski 2023-03-26 989 switch (soc_type) { 095327fede005f Steev Klimaszewski 2023-03-26 990 case QCA_WCN3991: 095327fede005f Steev Klimaszewski 2023-03-26 991 case QCA_WCN6750: 095327fede005f Steev Klimaszewski 2023-03-26 992 case QCA_WCN6855: e0c1278ac89b03 Neil Armstrong 2023-08-16 993 case QCA_WCN7850: c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 994 /* get fw build info */ c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 995 err = qca_read_fw_build_info(hdev); c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 996 if (err < 0) c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 997 return err; 095327fede005f Steev Klimaszewski 2023-03-26 998 break; 095327fede005f Steev Klimaszewski 2023-03-26 999 default: 095327fede005f Steev Klimaszewski 2023-03-26 1000 break; c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 1001 } c0187b0bd3e94c Venkata Lakshmi Narayana Gubba 2020-12-08 1002 dd336649ba8978 Johan Hovold 2024-04-30 1003 err = qca_check_bdaddr(hdev, &config); 32868e126c7887 Johan Hovold 2024-04-16 1004 if (err) 32868e126c7887 Johan Hovold 2024-04-16 1005 return err; 32868e126c7887 Johan Hovold 2024-04-16 1006 ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 1007 bt_dev_info(hdev, "QCA setup on UART is completed"); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 1008 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 1009 return 0; 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 1010 } ba493d4fbcb84b Balakrishna Godavarthi 2018-08-03 1011 EXPORT_SYMBOL_GPL(qca_uart_setup); 83e81961ff7ef7 Ben Young Tae Kim 2015-08-10 1012 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 2026-02-09 7:03 [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu 2026-02-09 7:03 ` [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu @ 2026-02-09 7:14 ` Vivek Sahu 1 sibling, 0 replies; 5+ messages in thread From: Vivek Sahu @ 2026-02-09 7:14 UTC (permalink / raw) To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Balakrishna Godavarthi, Rocky Liao Cc: quic_mohamull, quic_hbandi, linux-bluetooth, devicetree, linux-kernel, linux-arm-msm On 2/9/2026 12:33 PM, Vivek Sahu wrote: > QCC2072 is a WiFi/BT connectivity chip. > It requires different firmware, so document it as a new compat string. > > Correct the sorting of other chipsets for better readability. > > Signed-off-by: Vivek Sahu <vivek.sahu@oss.qualcomm.com> > --- > .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > index 6353a336f382..1f47ad36aa61 100644 > --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > @@ -18,13 +18,13 @@ properties: > enum: > - qcom,qca2066-bt > - qcom,qca6174-bt > + - qcom,qca6390-bt > - qcom,qca9377-bt > - - qcom,wcn3950-bt > + - qcom,qcc2072-bt > - qcom,wcn3988-bt > - qcom,wcn3990-bt > - qcom,wcn3991-bt > - qcom,wcn3998-bt > - - qcom,qca6390-bt > - qcom,wcn6750-bt > - qcom,wcn6855-bt > - qcom,wcn7850-bt "qcom,wcn3950-bt" is deleted by mistake. Will correct it in next patch set. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-10 1:24 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-09 7:03 [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu 2026-02-09 7:03 ` [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support Vivek Sahu 2026-02-09 19:11 ` kernel test robot 2026-02-10 1:23 ` kernel test robot 2026-02-09 7:14 ` [PATCH v2 1/2] dt-bindings: net: bluetooth: qualcomm: add bindings for QCC2072 Vivek Sahu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox