18bb555aaSBjoern Hartmann /* 28bb555aaSBjoern Hartmann * Copyright (C) 2014 BlueKitchen GmbH 38bb555aaSBjoern Hartmann * 48bb555aaSBjoern Hartmann * Redistribution and use in source and binary forms, with or without 58bb555aaSBjoern Hartmann * modification, are permitted provided that the following conditions 68bb555aaSBjoern Hartmann * are met: 78bb555aaSBjoern Hartmann * 88bb555aaSBjoern Hartmann * 1. Redistributions of source code must retain the above copyright 98bb555aaSBjoern Hartmann * notice, this list of conditions and the following disclaimer. 108bb555aaSBjoern Hartmann * 2. Redistributions in binary form must reproduce the above copyright 118bb555aaSBjoern Hartmann * notice, this list of conditions and the following disclaimer in the 128bb555aaSBjoern Hartmann * documentation and/or other materials provided with the distribution. 138bb555aaSBjoern Hartmann * 3. Neither the name of the copyright holders nor the names of 148bb555aaSBjoern Hartmann * contributors may be used to endorse or promote products derived 158bb555aaSBjoern Hartmann * from this software without specific prior written permission. 168bb555aaSBjoern Hartmann * 4. Any redistribution, use, or modification is done solely for 178bb555aaSBjoern Hartmann * personal benefit and not for any commercial purpose or for 188bb555aaSBjoern Hartmann * monetary gain. 198bb555aaSBjoern Hartmann * 208bb555aaSBjoern Hartmann * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 218bb555aaSBjoern Hartmann * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 228bb555aaSBjoern Hartmann * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 238bb555aaSBjoern Hartmann * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN 248bb555aaSBjoern Hartmann * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 258bb555aaSBjoern Hartmann * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 268bb555aaSBjoern Hartmann * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 278bb555aaSBjoern Hartmann * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 288bb555aaSBjoern Hartmann * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 298bb555aaSBjoern Hartmann * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 308bb555aaSBjoern Hartmann * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 318bb555aaSBjoern Hartmann * SUCH DAMAGE. 328bb555aaSBjoern Hartmann * 338bb555aaSBjoern Hartmann * Please inquire about commercial licensing options at 348bb555aaSBjoern Hartmann * [email protected] 358bb555aaSBjoern Hartmann * 368bb555aaSBjoern Hartmann */ 378bb555aaSBjoern Hartmann 388bb555aaSBjoern Hartmann /* 398bb555aaSBjoern Hartmann * btstack_chipset_realtek 408bb555aaSBjoern Hartmann * 418bb555aaSBjoern Hartmann * Adapter to use Realtek-based chipsets with BTstack 428bb555aaSBjoern Hartmann */ 438bb555aaSBjoern Hartmann 448bb555aaSBjoern Hartmann #ifndef BTSTACK_CHIPSET_REALTEK_H 458bb555aaSBjoern Hartmann #define BTSTACK_CHIPSET_REALTEK_H 468bb555aaSBjoern Hartmann 478bb555aaSBjoern Hartmann #if defined __cplusplus 488bb555aaSBjoern Hartmann extern "C" { 498bb555aaSBjoern Hartmann #endif 508bb555aaSBjoern Hartmann 518bb555aaSBjoern Hartmann #include "bluetooth.h" 528bb555aaSBjoern Hartmann #include "btstack_chipset.h" 538bb555aaSBjoern Hartmann #include <stdint.h> 548bb555aaSBjoern Hartmann 558bb555aaSBjoern Hartmann /** 568bb555aaSBjoern Hartmann * @brief Set path to firmware file 578bb555aaSBjoern Hartmann * @param path 588bb555aaSBjoern Hartmann */ 598bb555aaSBjoern Hartmann void btstack_chipset_realtek_set_firmware_file_path(const char *path); 608bb555aaSBjoern Hartmann 618bb555aaSBjoern Hartmann /** 628bb555aaSBjoern Hartmann * @brief Set path to firmware folder 638bb555aaSBjoern Hartmann * @param path 648bb555aaSBjoern Hartmann */ 658bb555aaSBjoern Hartmann void btstack_chipset_realtek_set_firmware_folder_path(const char *path); 668bb555aaSBjoern Hartmann 678bb555aaSBjoern Hartmann /** 688bb555aaSBjoern Hartmann * @brief Set path to config file 698bb555aaSBjoern Hartmann * @param path 708bb555aaSBjoern Hartmann */ 718bb555aaSBjoern Hartmann void btstack_chipset_realtek_set_config_file_path(const char *path); 728bb555aaSBjoern Hartmann 738bb555aaSBjoern Hartmann /** 748bb555aaSBjoern Hartmann * @brief Set path to config folder 758bb555aaSBjoern Hartmann * @param path 768bb555aaSBjoern Hartmann */ 778bb555aaSBjoern Hartmann void btstack_chipset_realtek_set_config_folder_path(const char *path); 788bb555aaSBjoern Hartmann 798bb555aaSBjoern Hartmann /** 808bb555aaSBjoern Hartmann * @brief Set product id 818bb555aaSBjoern Hartmann * @param id 828bb555aaSBjoern Hartmann */ 838bb555aaSBjoern Hartmann void btstack_chipset_realtek_set_product_id(uint16_t id); 848bb555aaSBjoern Hartmann 858bb555aaSBjoern Hartmann /** 86*5a4c0fdaSMatthias Ringwald * @brief Get num USB Controllers 87*5a4c0fdaSMatthias Ringwald * @return num controllers 88*5a4c0fdaSMatthias Ringwald */ 89*5a4c0fdaSMatthias Ringwald uint16_t btstack_chipset_realtek_get_num_usb_controllers(void); 90*5a4c0fdaSMatthias Ringwald 91*5a4c0fdaSMatthias Ringwald /** 92*5a4c0fdaSMatthias Ringwald * @brief Get Vendor/Product ID for Controller with index 93*5a4c0fdaSMatthias Ringwald * @param index 94*5a4c0fdaSMatthias Ringwald * @param out_vendor_id 95*5a4c0fdaSMatthias Ringwald * @param out_product_id 96*5a4c0fdaSMatthias Ringwald */ 97*5a4c0fdaSMatthias Ringwald void btstack_chipset_realtek_get_vendor_product_id(uint16_t index, uint16_t * out_vendor_id, uint16_t * out_product_id); 98*5a4c0fdaSMatthias Ringwald 99*5a4c0fdaSMatthias Ringwald /** 1008bb555aaSBjoern Hartmann * Get chipset instance for REALTEK chipsets 1018bb555aaSBjoern Hartmann */ 1028bb555aaSBjoern Hartmann const btstack_chipset_t *btstack_chipset_realtek_instance(void); 1038bb555aaSBjoern Hartmann 1048bb555aaSBjoern Hartmann #if defined __cplusplus 1058bb555aaSBjoern Hartmann } 1068bb555aaSBjoern Hartmann #endif 1078bb555aaSBjoern Hartmann 1088bb555aaSBjoern Hartmann #endif // BTSTACK_CHIPSET_REALTEK_H 109