Developer World
Spresense SDK Library v3.3.0-375c679
cxd56_bcm20706.h
1/****************************************************************************
2 * boards/arm/cxd56xx/spresense/include/cxd56_bcm20706.h
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership. The
7 * ASF licenses this file to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance with the
9 * License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16 * License for the specific language governing permissions and limitations
17 * under the License.
18 *
19 ****************************************************************************/
20
21#ifndef __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BCM20706_H
22#define __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BCM20706_H
23
24/****************************************************************************
25 * Included Files
26 ****************************************************************************/
27
28/****************************************************************************
29 * Public Types
30 ****************************************************************************/
31
32#ifndef __ASSEMBLY__
33
34/****************************************************************************
35 * Public Data
36 ****************************************************************************/
37
38#undef EXTERN
39#if defined(__cplusplus)
40#define EXTERN extern "C"
41extern "C"
42{
43#else
44#define EXTERN extern
45#endif
46
47/****************************************************************************
48 * Public Function Prototypes
49 ****************************************************************************/
50
51#ifdef CONFIG_BCM20706
52
53/****************************************************************************
54 * Name: board_bluetooth_pin_cfg
55 *
56 * Description:
57 * Initialize bcm20707 control pins, it must be called before any operation
58 * to do power control, wake up and reset.
59 *
60 ****************************************************************************/
61
62int board_bluetooth_pin_cfg(void);
63
64/****************************************************************************
65 * Name: board_bluetooth_uart_pin_cfg
66 *
67 * Description:
68 * Setup UART pin configuration for bcm20706.
69 *
70 ****************************************************************************/
71
72int board_bluetooth_uart_pin_cfg(void);
73
74/****************************************************************************
75 * Name: board_bluetooth_reset
76 *
77 * Description:
78 * Reset bcm20707 chip
79 *
80 ****************************************************************************/
81
82void board_bluetooth_reset(void);
83
84/****************************************************************************
85 * Name: board_bluetooth_power_control
86 *
87 * Description:
88 * Power on/off bcm20707 chip
89 *
90 ****************************************************************************/
91
92int board_bluetooth_power_control(bool en);
93
94/****************************************************************************
95 * Name: board_bluetooth_enable_sleep
96 *
97 * Description:
98 * Enable/disable bcm20707 enters sleep mode
99 *
100 ****************************************************************************/
101
102void board_bluetooth_enable_sleep(bool en);
103#endif /* CONFIG_BCM20706 */
104
105#undef EXTERN
106#if defined(__cplusplus)
107}
108#endif
109
110#endif /* __ASSEMBLY__ */
111#endif /* __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BCM20706_H */