1 /* 2 * Copyright (c) 2021 Chipsea Technologies (Shenzhen) Corp., Ltd. All rights reserved. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef _BT_PATCH_TABLE_H_ 16 #define _BT_PATCH_TABLE_H_ 17 18 #include <stdint.h> 19 20 typedef struct { 21 uint32_t dimension; 22 uint32_t *ptr; 23 uint32_t size; 24 } bt_patch_tbl_t; 25 26 typedef void(*bt_patch_cb_t)(void); 27 28 extern uint32_t fw_patch_extra_addr; 29 extern uint32_t minisys_patch_extra_addr; 30 31 extern bt_patch_tbl_t *bt_patch_tbl_a1; 32 extern bt_patch_tbl_t *bt_patch_tbl_a2; 33 34 extern bt_patch_tbl_t *bt_patch_tbl_b1; 35 extern bt_patch_tbl_t *bt_patch_tbl_b2; 36 37 extern bt_patch_tbl_t *bt_patch_tbl_c1; 38 extern bt_patch_tbl_t *bt_patch_tbl_c2; 39 40 extern bt_patch_tbl_t *bt_patch_tbl_d1; 41 extern bt_patch_tbl_t *bt_patch_tbl_d2; 42 43 extern uint32_t bt_patch_tbl_a1_size; 44 extern uint32_t bt_patch_tbl_a2_size; 45 extern uint32_t bt_patch_tbl_b1_size; 46 extern uint32_t bt_patch_tbl_b2_size; 47 extern uint32_t bt_patch_tbl_c1_size; 48 extern uint32_t bt_patch_tbl_c2_size; 49 extern uint32_t bt_patch_tbl_d1_size; 50 extern uint32_t bt_patch_tbl_d2_size; 51 52 void bt_patch_prepare(void); 53 54 #endif 55