91 lines
3.4 KiB
C
91 lines
3.4 KiB
C
|
/*****************************************************************************
|
||
|
Copyright 2016 Broadcom Limited. All rights reserved.
|
||
|
|
||
|
This program is the proprietary software of Broadcom Limited and/or its
|
||
|
licensors, and may only be used, duplicated, modified or distributed pursuant
|
||
|
to the terms and conditions of a separate, written license agreement executed
|
||
|
between you and Broadcom (an "Authorized License").
|
||
|
|
||
|
Except as set forth in an Authorized License, Broadcom grants no license
|
||
|
(express or implied), right to use, or waiver of any kind with respect to the
|
||
|
Software, and Broadcom expressly reserves all rights in and to the Software
|
||
|
and all intellectual property rights therein. IF YOU HAVE NO AUTHORIZED
|
||
|
LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD
|
||
|
IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
|
||
|
|
||
|
Except as expressly set forth in the Authorized License,
|
||
|
1. This program, including its structure, sequence and organization,
|
||
|
constitutes the valuable trade secrets of Broadcom, and you shall use all
|
||
|
reasonable efforts to protect the confidentiality thereof, and to use this
|
||
|
information only in connection with your use of Broadcom integrated
|
||
|
circuit products.
|
||
|
|
||
|
2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
|
||
|
AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
|
||
|
WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT
|
||
|
TO THE SOFTWARE. BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED
|
||
|
WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A
|
||
|
PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS,
|
||
|
QUIET ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE TO DESCRIPTION.
|
||
|
YOU ASSUME THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE
|
||
|
SOFTWARE.
|
||
|
|
||
|
3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
|
||
|
LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT,
|
||
|
OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO
|
||
|
YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN
|
||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS
|
||
|
OF THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER
|
||
|
IS GREATER. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF
|
||
|
ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
|
||
|
******************************************************************************/
|
||
|
#ifndef GPIO_H
|
||
|
#define GPIO_H
|
||
|
|
||
|
#define GPIO_ENABLE 0x1
|
||
|
#define GPIO_DISABLE 0x0
|
||
|
|
||
|
#define GPIO_DRV_EN 0x1
|
||
|
#define GPIO_DRV_DIS 0x0
|
||
|
|
||
|
#define GPIO_SET_1 0x1
|
||
|
#define GPIO_SET_0 0x0
|
||
|
|
||
|
typedef enum {
|
||
|
GIO_GROUP_0,
|
||
|
GIO_GROUP_1,
|
||
|
GIO_GROUP_2,
|
||
|
} gio_group;
|
||
|
|
||
|
typedef enum {
|
||
|
FLASH_CS_FUNC_CS,
|
||
|
FLASH_CS_FUNC_GPIO,
|
||
|
} flash_cs_mux;
|
||
|
|
||
|
typedef enum {
|
||
|
GPIO_PIN_0 = 0x1 << 0,
|
||
|
GPIO_PIN_1 = 0x1 << 1,
|
||
|
GPIO_PIN_2 = 0x1 << 2,
|
||
|
GPIO_PIN_3 = 0x1 << 3,
|
||
|
} gpio_pin;
|
||
|
|
||
|
#define GPIO_PIN_ALL (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3)
|
||
|
|
||
|
typedef enum {
|
||
|
STRAP_PIN_QSPI,
|
||
|
} strap_pin;
|
||
|
|
||
|
|
||
|
/* prototypes */
|
||
|
extern void gpio_config_output(gio_group grp, int pin);
|
||
|
extern void gpio_config_input(gio_group grp, int pin);
|
||
|
extern void gpio_set(gio_group grp, int pin, int val);
|
||
|
extern int gpio_get(gio_group grp, int pin);
|
||
|
|
||
|
extern void gpio_flash_cs_din_en(int enable);
|
||
|
extern void gpio_flash_cs_dout_en(int enable);
|
||
|
extern void gpio_flash_cs_oe_en(int enable);
|
||
|
extern void gpio_flash_mux_sel(flash_cs_mux mux);
|
||
|
|
||
|
#endif /* GPIO_H */
|