uboot/arch/arm/include/asm/arch-armada100/gpio.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2011
   3 * eInfochips Ltd. <www.einfochips.com>
   4 * Written-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
   5 *
   6 * (C) Copyright 2010
   7 * Marvell Semiconductor <www.marvell.com>
   8 *
   9 * See file CREDITS for list of people who contributed to this
  10 * project.
  11 *
  12 * This program is free software; you can redistribute it and/or
  13 * modify it under the terms of the GNU General Public License as
  14 * published by the Free Software Foundation; either version 2 of
  15 * the License, or (at your option) any later version.
  16 *
  17 * This program is distributed in the hope that it will be useful,
  18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20 * GNU General Public License for more details.
  21 *
  22 * You should have received a copy of the GNU General Public License
  23 * along with this program; if not, write to the Free Software
  24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  25 * MA 02110-1301 USA
  26 */
  27
  28#ifndef _ASM_ARCH_GPIO_H
  29#define _ASM_ARCH_GPIO_H
  30
  31#include <asm/types.h>
  32#include <asm/arch/armada100.h>
  33
  34#define GPIO_HIGH               1
  35#define GPIO_LOW                0
  36
  37#define GPIO_TO_REG(gp)         (gp >> 5)
  38#define GPIO_TO_BIT(gp)         (1 << (gp & 0x1F))
  39#define GPIO_VAL(gp, val)       ((val >> (gp & 0x1F)) & 0x01)
  40
  41static inline void *get_gpio_base(int bank)
  42{
  43        const unsigned int offset[4] = {0, 4, 8, 0x100};
  44        /* gpio register bank offset - refer Appendix A.36 */
  45        return (struct gpio_reg *)(ARMD1_GPIO_BASE + offset[bank]);
  46}
  47
  48#endif /* _ASM_ARCH_GPIO_H */
  49