diff options
Diffstat (limited to 'arch/powerpc/include/asm/mpc8xxx_gpio.h')
-rw-r--r-- | arch/powerpc/include/asm/mpc8xxx_gpio.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/arch/powerpc/include/asm/mpc8xxx_gpio.h b/arch/powerpc/include/asm/mpc8xxx_gpio.h deleted file mode 100644 index 1069638..0000000 --- a/arch/powerpc/include/asm/mpc8xxx_gpio.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2016 Scalys B.V. <u-boot@scalys.com> - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _POWERPC_ASM_MPC8XXX_GPIO_H -#define _POWERPC_ASM_MPC8XXX_GPIO_H - -#include <asm-generic/errno.h> - -#define MPC8XXX_GPIO_NR(port, pin) ((((port)-1)*32)+((pin)&31)) -#define MPC8XXX_GPIO_TO_PORT(gpio) (gpio/32) -#define MPC8XXX_GPIO_TO_PIN(gpio) (gpio&31) - -static inline void mpc8xxx_gpio_set(uint32_t gpio, int value) -{ - int port, pin; - ccsr_gpio_t *gpio_regs; - uint32_t regval; - - port = MPC8XXX_GPIO_TO_PORT(gpio); - pin = MPC8XXX_GPIO_TO_PIN(gpio); - - switch (port) { -#ifdef CONFIG_SYS_MPC8XXX_GPIO1_ADDR - case 0: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO1_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO2_ADDR - case 1: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO2_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO3_ADDR - case 2: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO3_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO4_ADDR - case 3: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO4_ADDR; - break; -#endif - default: - return; - } - - /* Set output */ - regval = in_be32(&(gpio_regs->gpdat)); - regval |= (0x80000000 >> pin); - out_be32(&(gpio_regs->gpdat), regval); - - /* Set direction to acivate gpio pin */ - regval = in_be32(&(gpio_regs->gpdir)); - regval |= (0x80000000 >> pin); - out_be32(&(gpio_regs->gpdir), regval); -} - -static inline int mpc8xxx_gpio_get(uint32_t gpio, int value) -{ - int port, pin; - ccsr_gpio_t *gpio_regs; - uint32_t regval; - - port = MPC8XXX_GPIO_TO_PORT(gpio); - pin = MPC8XXX_GPIO_TO_PIN(gpio); - - switch (port) { -#ifdef CONFIG_SYS_MPC8XXX_GPIO1_ADDR - case 0: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO1_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO2_ADDR - case 1: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO2_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO3_ADDR - case 2: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO3_ADDR; - break; -#endif -#ifdef CONFIG_SYS_MPC8XXX_GPIO4_ADDR - case 3: - gpio_regs = (ccsr_gpio_t *) CONFIG_SYS_MPC8XXX_GPIO4_ADDR; - break; -#endif - default: - return -ENODEV; - } - - /* Get inputs */ - regval = in_be32(&(gpio_regs->gpdat)); - regval <<= pin; - regval &= 1; - - return regval; -} - -#endif /* _POWERPC_ASM_MPC8XXX_GPIO_H */ |