1 /* Copyright (c) 2010, Code Aurora Forum. All rights reserved. 2 * 3 * This program is free software; you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License version 2 and 5 * only version 2 as published by the Free Software Foundation. 6 * 7 * This program is distributed in the hope that it will be useful, 8 * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 * GNU General Public License for more details. 11 * 12 * You should have received a copy of the GNU General Public License 13 * along with this program; if not, write to the Free Software 14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 15 * 02110-1301, USA. 16 */ 17 #ifndef __ARCH_ARM_MACH_MSM_GPIOMUX_V1_H 18 #define __ARCH_ARM_MACH_MSM_GPIOMUX_V1_H 19 20 #if defined(CONFIG_ARCH_MSM7X30) 21 #define GPIOMUX_NGPIOS 182 22 #elif defined(CONFIG_ARCH_QSD8X50) 23 #define GPIOMUX_NGPIOS 165 24 #else 25 #define GPIOMUX_NGPIOS 133 26 #endif 27 28 typedef u32 gpiomux_config_t; 29 30 enum { 31 GPIOMUX_DRV_2MA = 0UL << 17, 32 GPIOMUX_DRV_4MA = 1UL << 17, 33 GPIOMUX_DRV_6MA = 2UL << 17, 34 GPIOMUX_DRV_8MA = 3UL << 17, 35 GPIOMUX_DRV_10MA = 4UL << 17, 36 GPIOMUX_DRV_12MA = 5UL << 17, 37 GPIOMUX_DRV_14MA = 6UL << 17, 38 GPIOMUX_DRV_16MA = 7UL << 17, 39 }; 40 41 enum { 42 GPIOMUX_FUNC_GPIO = 0UL, 43 GPIOMUX_FUNC_1 = 1UL, 44 GPIOMUX_FUNC_2 = 2UL, 45 GPIOMUX_FUNC_3 = 3UL, 46 GPIOMUX_FUNC_4 = 4UL, 47 GPIOMUX_FUNC_5 = 5UL, 48 GPIOMUX_FUNC_6 = 6UL, 49 GPIOMUX_FUNC_7 = 7UL, 50 GPIOMUX_FUNC_8 = 8UL, 51 GPIOMUX_FUNC_9 = 9UL, 52 GPIOMUX_FUNC_A = 10UL, 53 GPIOMUX_FUNC_B = 11UL, 54 GPIOMUX_FUNC_C = 12UL, 55 GPIOMUX_FUNC_D = 13UL, 56 GPIOMUX_FUNC_E = 14UL, 57 GPIOMUX_FUNC_F = 15UL, 58 }; 59 60 enum { 61 GPIOMUX_PULL_NONE = 0UL << 15, 62 GPIOMUX_PULL_DOWN = 1UL << 15, 63 GPIOMUX_PULL_KEEPER = 2UL << 15, 64 GPIOMUX_PULL_UP = 3UL << 15, 65 }; 66 67 #endif 68