1 /* 2 * mux.h 3 * 4 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation version 2. 9 * 10 * This program is distributed "as is" WITHOUT ANY WARRANTY of any 11 * kind, whether express or implied; without even the implied warranty 12 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 #ifndef _MUX_H_ 17 #define _MUX_H_ 18 19 #include <asm/io.h> 20 21 #ifdef CONFIG_AM33XX 22 #include <asm/arch/mux_am33xx.h> 23 #elif defined(CONFIG_TI814X) 24 #include <asm/arch/mux_ti814x.h> 25 #elif defined(CONFIG_TI816X) 26 #include <asm/arch/mux_ti816x.h> 27 #elif defined(CONFIG_AM43XX) 28 #include <asm/arch/mux_am43xx.h> 29 #endif 30 31 struct module_pin_mux { 32 short reg_offset; 33 unsigned int val; 34 }; 35 36 /* Pad control register offset */ 37 #define PAD_CTRL_BASE 0x800 38 #define OFFSET(x) (unsigned int) (&((struct pad_signals *)\ 39 (PAD_CTRL_BASE))->x) 40 41 /* 42 * Configure the pin mux for the module 43 */ 44 void configure_module_pin_mux(struct module_pin_mux *mod_pin_mux); 45 46 #endif /* endif _MUX_H */ 47