1 #ifndef _ASM_CRIS_ARCH_PINMUX_H
2 #define _ASM_CRIS_ARCH_PINMUX_H
3 
4 #define PORT_A 0
5 #define PORT_B 1
6 #define PORT_C 2
7 
8 enum pin_mode {
9 	pinmux_none = 0,
10 	pinmux_fixed,
11 	pinmux_gpio,
12 	pinmux_iop
13 };
14 
15 enum fixed_function {
16 	pinmux_eth,
17 	pinmux_geth,
18 	pinmux_tg_ccd,
19 	pinmux_tg_cmos,
20 	pinmux_vout,
21 	pinmux_ser1,
22 	pinmux_ser2,
23 	pinmux_ser3,
24 	pinmux_ser4,
25 	pinmux_sser,
26 	pinmux_pio,
27 	pinmux_pwm0,
28 	pinmux_pwm1,
29 	pinmux_pwm2,
30 	pinmux_i2c0,
31 	pinmux_i2c1,
32 	pinmux_i2c1_3wire,
33 	pinmux_i2c1_sda1,
34 	pinmux_i2c1_sda2,
35 	pinmux_i2c1_sda3,
36 };
37 
38 int crisv32_pinmux_init(void);
39 int crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode);
40 int crisv32_pinmux_alloc_fixed(enum fixed_function function);
41 int crisv32_pinmux_dealloc(int port, int first_pin, int last_pin);
42 int crisv32_pinmux_dealloc_fixed(enum fixed_function function);
43 void crisv32_pinmux_dump(void);
44 
45 #endif
46