1e71c39deStrem /* 2e71c39deStrem * Copyright (C) 2012 3e71c39deStrem * Philippe Reynes <tremyfr@yahoo.fr> 4e71c39deStrem * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6e71c39deStrem */ 7e71c39deStrem 8e71c39deStrem 9e71c39deStrem #ifndef __ASM_ARCH_MX27_GPIO_H 10e71c39deStrem #define __ASM_ARCH_MX27_GPIO_H 11e71c39deStrem 12e71c39deStrem /* GPIO registers */ 13e71c39deStrem struct gpio_regs { 14e71c39deStrem u32 gpio_dir; /* DDIR */ 15e71c39deStrem u32 ocr1; 16e71c39deStrem u32 ocr2; 17e71c39deStrem u32 iconfa1; 18e71c39deStrem u32 iconfa2; 19e71c39deStrem u32 iconfb1; 20e71c39deStrem u32 iconfb2; 21e71c39deStrem u32 gpio_dr; /* DR */ 22e71c39deStrem u32 gius; 23e71c39deStrem u32 gpio_psr; /* SSR */ 24e71c39deStrem u32 icr1; 25e71c39deStrem u32 icr2; 26e71c39deStrem u32 imr; 27e71c39deStrem u32 isr; 28e71c39deStrem u32 gpr; 29e71c39deStrem u32 swr; 30e71c39deStrem u32 puen; 31e71c39deStrem u32 res[0x2f]; 32e71c39deStrem }; 33e71c39deStrem 34e71c39deStrem /* This structure is used by the function imx_gpio_mode */ 35e71c39deStrem struct gpio_port_regs { 36e71c39deStrem struct gpio_regs port[6]; 37e71c39deStrem }; 38e71c39deStrem 39*e6469f39SPeng Fan /* 40*e6469f39SPeng Fan * GPIO Module and I/O Multiplexer 41*e6469f39SPeng Fan */ 42*e6469f39SPeng Fan #define PORTA 0 43*e6469f39SPeng Fan #define PORTB 1 44*e6469f39SPeng Fan #define PORTC 2 45*e6469f39SPeng Fan #define PORTD 3 46*e6469f39SPeng Fan #define PORTE 4 47*e6469f39SPeng Fan #define PORTF 5 48*e6469f39SPeng Fan 49*e6469f39SPeng Fan #define GPIO_PIN_MASK 0x1f 50*e6469f39SPeng Fan #define GPIO_PORT_SHIFT 5 51*e6469f39SPeng Fan #define GPIO_PORT_MASK (0x7 << GPIO_PORT_SHIFT) 52*e6469f39SPeng Fan #define GPIO_PORTA (PORTA << GPIO_PORT_SHIFT) 53*e6469f39SPeng Fan #define GPIO_PORTB (PORTB << GPIO_PORT_SHIFT) 54*e6469f39SPeng Fan #define GPIO_PORTC (PORTC << GPIO_PORT_SHIFT) 55*e6469f39SPeng Fan #define GPIO_PORTD (PORTD << GPIO_PORT_SHIFT) 56*e6469f39SPeng Fan #define GPIO_PORTE (PORTE << GPIO_PORT_SHIFT) 57*e6469f39SPeng Fan #define GPIO_PORTF (PORTF << GPIO_PORT_SHIFT) 58*e6469f39SPeng Fan 59e71c39deStrem #endif 60