emmc: do NOT alloc boot partition now
[firefly-linux-kernel-4.4.55.git] / arch / arm / plat-rk / config.c
1 #include <mach/gpio.h>
2 #include <mach/board.h>
3
4 int port_output_init(unsigned int value, int on, char *name)
5 {
6         int ret = 0;
7         struct port_config port;
8
9         port = get_port_config(value);
10         ret = gpio_request(port.gpio, name);
11         if(ret < 0)
12                 return ret;
13         if(port.io.pull_mode == PULL_MODE_DISABLE)
14                 gpio_pull_updown(port.gpio, 0);
15         if(port.io.pull_mode == PULL_MODE_ENABLE)
16                 gpio_pull_updown(port.gpio, 1);
17         gpio_direction_output(port.gpio, (on)? !port.io.active_low: !!port.io.active_low);
18
19         return 0;
20 }
21 EXPORT_SYMBOL(port_output_init);
22 void port_output_on(unsigned int value)
23 {
24         struct port_config port;
25
26         port = get_port_config(value);
27         gpio_set_value(port.gpio, !port.io.active_low);
28 }
29 EXPORT_SYMBOL(port_output_on);
30 void port_output_off(unsigned int value)
31 {
32         struct port_config port;
33
34         port = get_port_config(value);
35         gpio_set_value(port.gpio, !!port.io.active_low);
36 }
37 EXPORT_SYMBOL(port_output_off);
38 void port_deinit(unsigned int value)
39 {
40         struct port_config port;
41
42         port = get_port_config(value);
43         gpio_free(port.gpio);
44 }
45 EXPORT_SYMBOL(port_deinit);
46 int port_input_init(unsigned int value, char *name)
47 {
48         int ret = 0;
49         struct port_config port;
50
51         port = get_port_config(value);
52         ret = gpio_request(port.gpio, name);
53         if(ret < 0)
54                 return ret;
55         if(port.io.pull_mode == PULL_MODE_DISABLE)
56                 gpio_pull_updown(port.gpio, 0);
57         if(port.io.pull_mode == PULL_MODE_ENABLE)
58                 gpio_pull_updown(port.gpio, 1);
59         gpio_direction_input(port.gpio);
60
61         return 0;
62 }
63 EXPORT_SYMBOL(port_input_init);
64 int port_get_value(unsigned int value)
65 {
66         struct port_config port;
67
68         port = get_port_config(value);
69         return gpio_get_value(port.gpio);
70 }
71 EXPORT_SYMBOL(port_get_value);
72
73