1/*
2 * mux.h
3 *
4 * Copyright (C) 2013 Texas Instruments Incorporated - https://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_AM43XX)
24#include <asm/arch/mux_am43xx.h>
25#endif
26
27struct module_pin_mux {
28	short reg_offset;
29	unsigned int val;
30};
31
32/* Pad control register offset */
33#define PAD_CTRL_BASE	0x800
34#define OFFSET(x)	(unsigned int) (&((struct pad_signals *)\
35				(PAD_CTRL_BASE))->x)
36
37/*
38 * Configure the pin mux for the module
39 */
40void configure_module_pin_mux(struct module_pin_mux *mod_pin_mux);
41
42#endif /* endif _MUX_H */
43