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_TI816X) 24 #include <asm/arch/mux_ti816x.h> 25 #elif defined(CONFIG_AM43XX) 26 #include <asm/arch/mux_am43xx.h> 27 #endif 28 29 struct module_pin_mux { 30 short reg_offset; 31 unsigned int val; 32 }; 33 34 /* Pad control register offset */ 35 #define PAD_CTRL_BASE 0x800 36 #define OFFSET(x) (unsigned int) (&((struct pad_signals *)\ 37 (PAD_CTRL_BASE))->x) 38 39 /* 40 * Configure the pin mux for the module 41 */ 42 void configure_module_pin_mux(struct module_pin_mux *mod_pin_mux); 43 44 #endif /* endif _MUX_H */ 45