Merge tag 'u-boot-atmel-fixes-2020.07-a' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / arch / arm / include / asm / arch-am33xx / mux.h
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 */