xref: /btstack/chipset/bcm/btstack_chipset_bcm.h (revision 80e33422a96c028b3a9c308fc4b9b874712dafb4)
1faa6c1f6SMatthias Ringwald /*
2faa6c1f6SMatthias Ringwald  * Copyright (C) 2009-2012 by Matthias Ringwald
3faa6c1f6SMatthias Ringwald  *
4faa6c1f6SMatthias Ringwald  * Redistribution and use in source and binary forms, with or without
5faa6c1f6SMatthias Ringwald  * modification, are permitted provided that the following conditions
6faa6c1f6SMatthias Ringwald  * are met:
7faa6c1f6SMatthias Ringwald  *
8faa6c1f6SMatthias Ringwald  * 1. Redistributions of source code must retain the above copyright
9faa6c1f6SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer.
10faa6c1f6SMatthias Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11faa6c1f6SMatthias Ringwald  *    notice, this list of conditions and the following disclaimer in the
12faa6c1f6SMatthias Ringwald  *    documentation and/or other materials provided with the distribution.
13faa6c1f6SMatthias Ringwald  * 3. Neither the name of the copyright holders nor the names of
14faa6c1f6SMatthias Ringwald  *    contributors may be used to endorse or promote products derived
15faa6c1f6SMatthias Ringwald  *    from this software without specific prior written permission.
16faa6c1f6SMatthias Ringwald  * 4. Any redistribution, use, or modification is done solely for
17faa6c1f6SMatthias Ringwald  *    personal benefit and not for any commercial purpose or for
18faa6c1f6SMatthias Ringwald  *    monetary gain.
19faa6c1f6SMatthias Ringwald  *
20faa6c1f6SMatthias Ringwald  * THIS SOFTWARE IS PROVIDED BY MATTHIAS RINGWALD AND CONTRIBUTORS
21faa6c1f6SMatthias Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22faa6c1f6SMatthias Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23faa6c1f6SMatthias Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
24faa6c1f6SMatthias Ringwald  * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25faa6c1f6SMatthias Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26faa6c1f6SMatthias Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27faa6c1f6SMatthias Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28faa6c1f6SMatthias Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29faa6c1f6SMatthias Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30faa6c1f6SMatthias Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31faa6c1f6SMatthias Ringwald  * SUCH DAMAGE.
32faa6c1f6SMatthias Ringwald  *
3351acb414SMatthias Ringwald  * Please inquire about commercial licensing options at [email protected]
34faa6c1f6SMatthias Ringwald  *
35faa6c1f6SMatthias Ringwald  */
36faa6c1f6SMatthias Ringwald 
37faa6c1f6SMatthias Ringwald /*
38fb55bd0aSMatthias Ringwald  *  btstack_control_bcm.h
39faa6c1f6SMatthias Ringwald  *
40faa6c1f6SMatthias Ringwald  *  Adapter to use Broadcom-based chipsets with BTstack
41faa6c1f6SMatthias Ringwald  */
42faa6c1f6SMatthias Ringwald 
43*80e33422SMatthias Ringwald #ifndef BTSTACK_CHIPSET_BCM_H
44*80e33422SMatthias Ringwald #define BTSTACK_CHIPSET_BCM_H
45faa6c1f6SMatthias Ringwald 
46faa6c1f6SMatthias Ringwald #if defined __cplusplus
47faa6c1f6SMatthias Ringwald extern "C" {
48faa6c1f6SMatthias Ringwald #endif
49faa6c1f6SMatthias Ringwald 
50faa6c1f6SMatthias Ringwald #include <stdint.h>
51faa6c1f6SMatthias Ringwald #include "btstack_chipset.h"
52faa6c1f6SMatthias Ringwald 
53faa6c1f6SMatthias Ringwald const btstack_chipset_t * btstack_chipset_bcm_instance(void);
54faa6c1f6SMatthias Ringwald 
5564eccac7SMatthias Ringwald 
5664eccac7SMatthias Ringwald // Support for loading .hcd init files on POSIX systems
5764eccac7SMatthias Ringwald 
5864eccac7SMatthias Ringwald /**
5964eccac7SMatthias Ringwald  * @brief Set path to .hcd init file
6064eccac7SMatthias Ringwald  * @param path
6164eccac7SMatthias Ringwald  */
6264eccac7SMatthias Ringwald void btstack_chipset_bcm_set_hcd_file_path(const char * path);
6364eccac7SMatthias Ringwald 
6464eccac7SMatthias Ringwald /**
6564eccac7SMatthias Ringwald  * @brief Set folder to look for .hcd init files
6664eccac7SMatthias Ringwald  * @param path
6764eccac7SMatthias Ringwald  */
6864eccac7SMatthias Ringwald void btstack_chipset_bcm_set_hcd_folder_path(const char * path);
6964eccac7SMatthias Ringwald 
7064eccac7SMatthias Ringwald /**
7164eccac7SMatthias Ringwald  * @brief Look for .hcd init file based on device name
7264eccac7SMatthias Ringwald  * @param device_name e.g. BCM43430A1
7364eccac7SMatthias Ringwald  */
7464eccac7SMatthias Ringwald void btstack_chipset_bcm_set_device_name(const char * path);
7564eccac7SMatthias Ringwald 
76646a1850SMatthias Ringwald /**
77646a1850SMatthias Ringwald  * @brief Enable init file - needed by btstack_chipset_bcm_download_firmware when using h5
78646a1850SMatthias Ringwald  * @param enabled
79646a1850SMatthias Ringwald  */
80646a1850SMatthias Ringwald void btstack_chipset_bcm_enable_init_script(int enabled);
81646a1850SMatthias Ringwald 
82faa6c1f6SMatthias Ringwald #if defined __cplusplus
83faa6c1f6SMatthias Ringwald }
84faa6c1f6SMatthias Ringwald #endif
85faa6c1f6SMatthias Ringwald 
86*80e33422SMatthias Ringwald #endif // BTSTACK_CHIPSET_BCM_H
87