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