Skip to content

Commit cbe700b

Browse files
committed
Drivers: Bluetooth: Infineon: Updating CYW920829 Bluetooth for B1
Updates Bluetooth driver to include bluetooth firmware for B1 device revision. Signed-off-by: John Batch <john.batch@infineon.com>
1 parent d268b1a commit cbe700b

File tree

2 files changed

+107
-52
lines changed

2 files changed

+107
-52
lines changed

drivers/bluetooth/hci/Kconfig.infineon

Lines changed: 71 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Copyright (c) 2023 Cypress Semiconductor Corporation (an Infineon company) or
2-
# an affiliate of Cypress Semiconductor Corporation
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
3+
#
34
# SPDX-License-Identifier: Apache-2.0
45

56
if BT_AIROC
@@ -136,6 +137,23 @@ endchoice
136137

137138
if CYW20829
138139

140+
config CYW20829B0
141+
bool "CYW20829 B0 revision"
142+
default y if SOC_CYW20829B0LKML || \
143+
SOC_CYW89829B0232 || \
144+
SOC_CYW20829B0000 || \
145+
SOC_CYW20829B0010 || \
146+
SOC_CYW89829B0062
147+
148+
config CYW20829B1
149+
bool "CYW20829 B1 revision"
150+
default y if SOC_CYW20829B1240 || \
151+
SOC_CYW20829B1340 || \
152+
SOC_CYW89829B1062 || \
153+
SOC_CYW20829B1000 || \
154+
SOC_CYW20829B1010 || \
155+
SOC_CYW89829B1232
156+
139157
config CYW20829_BT_FW_TX10DBM_POWER
140158
bool "CYW20829_BT_FW_TX10DBM_POWER"
141159
default y
@@ -144,49 +162,75 @@ config CYW20829_BT_FW_TX10DBM_POWER
144162

145163
choice CYW20829_BT_FW
146164
prompt "Select variant of default CYW20829 BT FW"
147-
default CYW20829_BT_FW_ISOC_TX10 if BT_ISO && CYW20829_BT_FW_TX10DBM_POWER
148-
default CYW20829_BT_FW_ISOC_TX0 if BT_ISO && !CYW20829_BT_FW_TX10DBM_POWER
149-
default CYW20829_BT_FW_PAWR_TX10 if (BT_PER_ADV_RSP || BT_PER_ADV_SYNC_RSP) && CYW20829_BT_FW_TX10DBM_POWER
150-
default CYW20829_BT_FW_PAWR_TX0 if (BT_PER_ADV_RSP || BT_PER_ADV_SYNC_RSP) && !CYW20829_BT_FW_TX10DBM_POWER
151-
default CYW20829_BT_FW_TX10 if CYW20829_BT_FW_TX10DBM_POWER
152-
default CYW20829_BT_FW_TX0
153-
154-
config CYW20829_BT_FW_TX0
155-
bool "CYW20829_BT_FW_TX0"
165+
default CYW20829B0_BT_FW_ISOC_TX10 if BT_ISO && CYW20829_BT_FW_TX10DBM_POWER && CYW20829B0
166+
default CYW20829B0_BT_FW_ISOC_TX0 if BT_ISO && !CYW20829_BT_FW_TX10DBM_POWER && CYW20829B0
167+
default CYW20829B0_BT_FW_PAWR_TX10 if (BT_PER_ADV_RSP || BT_PER_ADV_SYNC_RSP) && \
168+
CYW20829_BT_FW_TX10DBM_POWER && \
169+
CYW20829B0
170+
default CYW20829B0_BT_FW_PAWR_TX0 if (BT_PER_ADV_RSP || BT_PER_ADV_SYNC_RSP) && \
171+
!CYW20829_BT_FW_TX10DBM_POWER && \
172+
CYW20829B0
173+
default CYW20829B0_BT_FW_TX10 if CYW20829_BT_FW_TX10DBM_POWER && CYW20829B0
174+
default CYW20829B0_BT_FW_TX0 if CYW20829B0
175+
default CYW20829B1_BT_FW_TX10 if CYW20829_BT_FW_TX10DBM_POWER && CYW20829B1
176+
default CYW20829B1_BT_FW_TX0 if CYW20829B1
177+
178+
config CYW20829B0_BT_FW_TX0
179+
bool "CYW20829B0_BT_FW_TX0"
180+
depends on CYW20829B0
156181
help
157-
Enable CYW20829 FW patch for 0dBm TX Power.
182+
Enable CYW20829B0 FW patch for 0dBm TX Power.
158183
This configuration should be used with non-PAWR and non-ISOC applications.
159184

160-
config CYW20829_BT_FW_TX10
161-
bool "CYW20829_BT_FW_TX10"
185+
config CYW20829B0_BT_FW_TX10
186+
bool "CYW20829B0_BT_FW_TX10"
187+
depends on CYW20829B0
162188
help
163-
Enable CYW20829 FW patch for 10dBm TX Power.
189+
Enable CYW20829B0 FW patch for 10dBm TX Power.
164190
This configuration should be used with non-PAwR and non-ISOC applications.
165191

166-
config CYW20829_BT_FW_PAWR_TX0
167-
bool "CYW20829_BT_FW_PAWR_TX0"
192+
config CYW20829B0_BT_FW_PAWR_TX0
193+
bool "CYW20829B0_BT_FW_PAWR_TX0"
194+
depends on CYW20829B0
168195
help
169-
Enable CYW20829 FW patch with PAwR support for 0dBm TX Power.
196+
Enable CYW20829B0 FW patch with PAwR support for 0dBm TX Power.
170197
This configuration should be used with PAwR applications.
171198

172-
config CYW20829_BT_FW_PAWR_TX10
173-
bool "CYW20829_BT_FW_PAWR_TX10"
199+
config CYW20829B0_BT_FW_PAWR_TX10
200+
bool "CYW20829B0_BT_FW_PAWR_TX10"
201+
depends on CYW20829B0
174202
help
175-
Enable CYW20829 FW patch for 10dBm TX Power.
203+
Enable CYW20829B0 FW patch for 10dBm TX Power.
176204
This configuration should be used with PAwR applications.
177205

178-
config CYW20829_BT_FW_ISOC_TX0
179-
bool "CYW20829_BT_FW_ISOC_TX0"
206+
config CYW20829B0_BT_FW_ISOC_TX0
207+
bool "CYW20829B0_BT_FW_ISOC_TX0"
208+
depends on CYW20829B0
180209
help
181-
Enable CYW20829 FW patch for 0dBm TX Power.
210+
Enable CYW20829B0 FW patch for 0dBm TX Power.
182211
This configuration should be used with ISOC applications.
183212

184-
config CYW20829_BT_FW_ISOC_TX10
185-
bool "CYW20829_BT_FW_ISOC_TX10"
213+
config CYW20829B0_BT_FW_ISOC_TX10
214+
bool "CYW20829B0_BT_FW_ISOC_TX10"
215+
depends on CYW20829B0
186216
help
187-
Enable CYW20829 FW patch for 10dBm TX Power.
217+
Enable CYW20829B0 FW patch for 10dBm TX Power.
188218
This configuration should be used with ISOC applications.
189219

220+
config CYW20829B1_BT_FW_TX0
221+
bool "CYW20829B1_BT_FW_TX0"
222+
depends on CYW20829B1
223+
help
224+
Enable CYW20829B1 FW patch for 0dBm TX Power.
225+
This configuration should be used with non-PAWR and non-ISOC applications.
226+
227+
config CYW20829B1_BT_FW_TX10
228+
bool "CYW20829B1_BT_FW_TX10"
229+
depends on CYW20829B1
230+
help
231+
Enable CYW20829B1 FW patch for 10dBm TX Power.
232+
This configuration should be used with non-PAwR and non-ISOC applications.
233+
190234
endchoice
191235
endif # CYW20829
192236

modules/hal_infineon/btstack-integration/CMakeLists.txt

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Copyright (c) 2022 Cypress Semiconductor Corporation.
1+
# Copyright (c) 2025 Infineon Technologies AG,
2+
# or an affiliate of Infineon Technologies AG.
23
#
34
# SPDX-License-Identifier: Apache-2.0
45

@@ -37,63 +38,73 @@ endif()
3738
# HCD files for CYW43xx devices
3839
# CYW43012 modules
3940
if(CONFIG_CYW43012_MURATA_1LV)
40-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_43012/COMPONENT_MURATA-1LV/bt_firmware.hcd)
41+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_43012/COMPONENT_MURATA-1LV/bt_firmware.hcd)
4142
endif()
4243

4344
# CYW4343W modules
4445
if(CONFIG_CYW4343W_MURATA_1DX)
45-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_4343W/COMPONENT_MURATA-1DX/bt_firmware.hcd)
46+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_4343W/COMPONENT_MURATA-1DX/bt_firmware.hcd)
4647
endif()
4748

4849
# CYW43439 modules
4950
if(CONFIG_CYW43439_MURATA_1YN)
50-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_43439/COMPONENT_MURATA-1YN/bt_firmware.hcd)
51+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_43439/COMPONENT_MURATA-1YN/bt_firmware.hcd)
5152
endif()
5253

5354
# CYW4373 modules
5455
if(CONFIG_CYW4373_STERLING_LWB5PLUS)
55-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_4373/COMPONENT_STERLING-LWB5plus/bt_firmware.hcd)
56+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_4373/COMPONENT_STERLING-LWB5plus/bt_firmware.hcd)
5657
endif()
5758

5859
# HCD files for CYW208xx
5960

60-
# CYW20829 device (FW patch for 0dBm TX Power)
61-
if(CONFIG_CYW20829_BT_FW_TX0)
62-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-TX0/bt_firmware.hcd)
61+
# CYW20829B0 device (FW patch for 0dBm TX Power)
62+
if(CONFIG_CYW20829B0_BT_FW_TX0)
63+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-TX0/bt_firmware.hcd)
6364
endif()
6465

65-
# CYW20829 device (FW patch for 10dBm TX Power)
66-
if(CONFIG_CYW20829_BT_FW_TX10)
67-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-TX10/bt_firmware.hcd)
66+
# CYW20829B0 device (FW patch for 10dBm TX Power)
67+
if(CONFIG_CYW20829B0_BT_FW_TX10)
68+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-TX10/bt_firmware.hcd)
6869
endif()
6970

70-
# CYW20829 device (FW patch with PAwR support for 0dBm TX Power)
71-
if(CONFIG_CYW20829_BT_FW_PAWR_TX0)
72-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-PAWR-TX0/bt_firmware.hcd)
71+
# CYW20829B0 device (FW patch with PAwR support for 0dBm TX Power)
72+
if(CONFIG_CYW20829B0_BT_FW_PAWR_TX0)
73+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-PAWR-TX0/bt_firmware.hcd)
7374
endif()
7475

75-
# CYW20829 device (FW patch with PAwR support for 10dBm TX Power)
76-
if(CONFIG_CYW20829_BT_FW_PAWR_TX10)
77-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-PAWR-TX10/bt_firmware.hcd)
76+
# CYW20829B0 device (FW patch with PAwR support for 10dBm TX Power)
77+
if(CONFIG_CYW20829B0_BT_FW_PAWR_TX10)
78+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-PAWR-TX10/bt_firmware.hcd)
7879
endif()
7980

80-
# CYW20829 device (FW patch with ISOC support for 0dBm TX Power)
81-
if(CONFIG_CYW20829_BT_FW_ISOC_TX0)
82-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-ISOC-TX0/bt_firmware.hcd)
81+
# CYW20829B0 device (FW patch with ISOC support for 0dBm TX Power)
82+
if(CONFIG_CYW20829B0_BT_FW_ISOC_TX0)
83+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-ISOC-TX0/bt_firmware.hcd)
8384
endif()
8485

85-
# CYW20829 device (FW patch with ISOC support for 10dBm TX Power)
86-
if(CONFIG_CYW20829_BT_FW_ISOC_TX10)
87-
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-ISOC-TX10/bt_firmware.hcd)
86+
# CYW20829B0 device (FW patch with ISOC support for 10dBm TX Power)
87+
if(CONFIG_CYW20829B0_BT_FW_ISOC_TX10)
88+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B0/COMPONENT_BTFW-ISOC-TX10/bt_firmware.hcd)
89+
endif()
90+
91+
# CYW20829B1 device (FW patch for 0dBm TX Power)
92+
if(CONFIG_CYW20829B1_BT_FW_TX0)
93+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B1/COMPONENT_BTFW-TX0/bt_firmware.hcd)
94+
endif()
95+
96+
# CYW20829B1 device (FW patch for 10dBm TX Power)
97+
if(CONFIG_CYW20829B1_BT_FW_TX10)
98+
set(blob_hcd_file ${hal_blobs_dir}/COMPONENT_CYW20829B1/COMPONENT_BTFW-TX10/bt_firmware.hcd)
8899
endif()
89100

90101
# use user provided FIRMWARE HCD file (path must be defined in CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB)
91102
if(CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB)
92103
# Allowed to pass absolute path to HCD blob file, or relative path from Application folder.
93104
if(IS_ABSOLUTE ${CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB})
94-
set(blob_hcd_file ${CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB})
105+
set(blob_hcd_file ${CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB})
95106
else()
96-
set(blob_hcd_file ${APPLICATION_SOURCE_DIR}/${CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB})
107+
set(blob_hcd_file ${APPLICATION_SOURCE_DIR}/${CONFIG_AIROC_CUSTOM_FIRMWARE_HCD_BLOB})
97108
endif()
98109
endif()
99110

0 commit comments

Comments
 (0)