RTEMS 6.1-rc5
Loading...
Searching...
No Matches
ti_pinmux.h
1/*
2 * Copyright (c) 2010
3 * Ben Gray <ben.r.gray@gmail.com>.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. All advertising materials mentioning features or use of this software
15 * must display the following acknowledgement:
16 * This product includes software developed by Ben Gray.
17 * 4. The name of the company nor the name of the author may be used to
18 * endorse or promote products derived from this software without specific
19 * prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY BEN GRAY ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL BEN GRAY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
30 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 * $FreeBSD$
33 */
34
35
43#ifndef _TI_PINMUX_H_
44#define _TI_PINMUX_H_
45#ifdef __rtems__
46#include <ofw/ofw.h>
47#endif /* __rtems__ */
48
50 uint16_t reg_off;
51 uint16_t gpio_pin;
52 uint16_t gpio_mode;
53 const char *ballname;
54 const char *muxmodes[8];
55};
56
58 const char *state;
59 uint16_t reg;
60};
61
63 uint16_t padconf_muxmode_mask;
64 uint16_t padconf_sate_mask;
65 const struct ti_pinmux_padstate *padstate;
66 const struct ti_pinmux_padconf *padconf;
67};
68
69#ifndef __rtems__
71 device_t sc_dev;
72 struct resource * sc_res[4];
73 bus_space_tag_t sc_bst;
74 bus_space_handle_t sc_bsh;
75};
76#else /* __rtems__ */
77void beagle_pinmux_init(phandle_t node);
78#endif /* __rtems__ */
79
80int ti_pinmux_padconf_set(const char *padname, const char *muxmode,
81 unsigned int state);
82int ti_pinmux_padconf_get(const char *padname, const char **muxmode,
83 unsigned int *state);
84int ti_pinmux_padconf_set_gpiomode(uint32_t gpio, unsigned int state);
85int ti_pinmux_padconf_get_gpiomode(uint32_t gpio, unsigned int *state);
86
87#endif /* _TI_SCM_H_ */
uint32_t phandle_t
Definition: ofw.h:56
Object containing information on a GPIO pin.
Definition: gpio-support.c:119
Definition: ti_pinmux.h:62
Definition: ti_pinmux.h:49
Definition: ti_pinmux.h:57
Definition: ti_pinmux.h:70