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