1#ifndef _GPIO_API_H_
2#define _GPIO_API_H_
3/*
4 * Copyright 2005 Atheros Communications, Inc.,  All Rights Reserved.
5 *
6 *
7 *  This program is free software; you can redistribute it and/or modify
8 *  it under the terms of the GNU General Public License version 2 as
9 *  published by the Free Software Foundation;
10 *
11 *  Software distributed under the License is distributed on an "AS
12 *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
13 *  implied. See the License for the specific language governing
14 *  rights and limitations under the License.
15 *
16 *
17 *
18 */
19
20/*
21 * Host-side General Purpose I/O API.
22 *
23 * $Id: //depot/sw/releases/olca2.0-GPL/host/include/gpio_api.h#1 $
24 */
25
26/*
27 * Send a command to the Target in order to change output on GPIO pins.
28 */
29A_STATUS wmi_gpio_output_set(struct wmi_t *wmip,
30                             A_UINT32 set_mask,
31                             A_UINT32 clear_mask,
32                             A_UINT32 enable_mask,
33                             A_UINT32 disable_mask);
34
35/*
36 * Send a command to the Target requesting input state of GPIO pins.
37 */
38A_STATUS wmi_gpio_input_get(struct wmi_t *wmip);
39
40/*
41 * Send a command to the Target to change the value of a GPIO register.
42 */
43A_STATUS wmi_gpio_register_set(struct wmi_t *wmip,
44                               A_UINT32 gpioreg_id,
45                               A_UINT32 value);
46
47/*
48 * Send a command to the Target to fetch the value of a GPIO register.
49 */
50A_STATUS wmi_gpio_register_get(struct wmi_t *wmip, A_UINT32 gpioreg_id);
51
52/*
53 * Send a command to the Target, acknowledging some GPIO interrupts.
54 */
55A_STATUS wmi_gpio_intr_ack(struct wmi_t *wmip, A_UINT32 ack_mask);
56
57#endif /* _GPIO_API_H_ */
58