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