Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
io_interface_mux.h
Go to the documentation of this file.
1 /* IO interface mux allocator for ETRAX100LX.
2  * Copyright 2004, Axis Communications AB
3  * $Id: io_interface_mux.h,v 1.1 2004/12/13 12:21:53 starvik Exp $
4  */
5 
6 
7 #ifndef _IO_INTERFACE_MUX_H
8 #define _IO_INTERFACE_MUX_H
9 
10 
11 /* C.f. ETRAX100LX Designer's Reference 20.9 */
12 
13 /* The order in enum must match the order of interfaces[] in
14  * io_interface_mux.c */
16  /* Begin Non-multiplexed interfaces */
17  if_eth = 0,
19  /* End Non-multiplexed interfaces */
38  /* GPIO pins */
47 };
48 
49 int cris_request_io_interface(enum cris_io_interface ioif, const char *device_id);
50 
52 
53 /* port can be 'a', 'b' or 'g' */
55  const char port,
56  const unsigned start_bit,
57  const unsigned stop_bit);
58 
59 /* port can be 'a', 'b' or 'g' */
61  const char port,
62  const unsigned start_bit,
63  const unsigned stop_bit);
64 
65 int cris_io_interface_register_watcher(void (*notify)(const unsigned int gpio_in_available,
66  const unsigned int gpio_out_available,
67  const unsigned char pa_available,
68  const unsigned char pb_available));
69 
70 void cris_io_interface_delete_watcher(void (*notify)(const unsigned int gpio_in_available,
71  const unsigned int gpio_out_available,
72  const unsigned char pa_available,
73  const unsigned char pb_available));
74 
75 #endif /* _IO_INTERFACE_MUX_H */