/* * Copyright (C) 2010 Proformatique * Copyright (C) 2007,2008,2009 Intel Corporation. All rights reserved. * * 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; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /***************************************************************************** * Module name: * gpio * * Abstract: * This header file is to be included by the gpio.c file only. * * Revision: * TBD * *****************************************************************************/ #ifndef GPIO_H #define GPIO_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #define DRIVERNAME "gpio_ref" /****************************************************************************** Description: This structure contains data that is used for most driver operations. *****************************************************************************/ struct drvr_data { struct gpio_regs regs; void *mem_virt; unsigned int mem_base; unsigned int mem_resrvd; }; enum gpio_direction { GPIO_INPUT, GPIO_OUTPUT }; enum gpio_level { GPIO_LOW, GPIO_HIGH }; int gpio_set_to_gpio(int signal); int gpio_set_to_alternative(int signal); int gpio_set_direction(int signal, int direction); int gpio_set_level(int signal, int level); int gpio_get_level(int signal); int gpio_set_blink(int signal, int blink); int gpio_inverted_input(int signal, int inverted); const struct gpio_regs* gpio_regs(void); int gpio_init(void); void gpio_close(void); int gpio_getpininfo(int Signal, char *pBuff); void set_reg_addrs(unsigned int addr); #endif