summaryrefslogtreecommitdiff
path: root/src/soc/broadcom/cygnus/include/soc/gpio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/broadcom/cygnus/include/soc/gpio.h')
-rw-r--r--src/soc/broadcom/cygnus/include/soc/gpio.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/soc/broadcom/cygnus/include/soc/gpio.h b/src/soc/broadcom/cygnus/include/soc/gpio.h
index 2d9d8f4911..69f06ce0fb 100644
--- a/src/soc/broadcom/cygnus/include/soc/gpio.h
+++ b/src/soc/broadcom/cygnus/include/soc/gpio.h
@@ -1,8 +1,37 @@
+/*
+* Copyright (C) 2015 Broadcom Corporation
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation version 2.
+*
+* This program is distributed "as is" WITHOUT ANY WARRANTY of any
+* kind, whether express or implied; without even the implied warranty
+* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*/
+
#ifndef __SOC_BROADCOM_CYGNUS_GPIO_H__
#define __SOC_BROADCOM_CYGNUS_GPIO_H__
#include <types.h>
+#define ENOTSUPP 524 /* Operation is not supported */
+
+/* Supported GPIO types. Not all of these types are supported on all boards. */
+enum iproc_gpio_types {
+ IPROC_GPIO_CCA_ID,
+ IPROC_GPIO_CMICM_ID,
+ IPROC_GPIO_ASIU_ID
+};
+
typedef u32 gpio_t;
+
+void *cygnus_pinmux_init(void);
+int cygnus_gpio_request_enable(void *priv, unsigned pin);
+void cygnus_gpio_disable_free(void *priv, unsigned pin);
+void gpio_init(void);
+void gpio_free(gpio_t gpio);
+
#endif /* __SOC_BROADCOM_CYGNUS_GPIO_H__ */