]>
Commit | Line | Data |
---|---|---|
8d30fcd9 SG |
1 | /* |
2 | * This is the interface to the sandbox GPIO driver for test code which | |
3 | * wants to change the GPIO values reported to U-Boot. | |
4 | * | |
5 | * Copyright (c) 2011 The Chromium OS Authors. | |
1a459660 | 6 | * SPDX-License-Identifier: GPL-2.0+ |
8d30fcd9 SG |
7 | */ |
8 | ||
9 | #ifndef __ASM_SANDBOX_GPIO_H | |
10 | #define __ASM_SANDBOX_GPIO_H | |
11 | ||
12 | /* | |
13 | * We use the generic interface, and add a back-channel. | |
14 | * | |
15 | * The back-channel functions are declared in this file. They should not be used | |
16 | * except in test code. | |
17 | * | |
18 | * Test code can, for example, call sandbox_gpio_set_value() to set the value of | |
19 | * a simulated GPIO. From then on, normal code in U-Boot will see this new | |
20 | * value when it calls gpio_get_value(). | |
21 | * | |
22 | * NOTE: DO NOT use the functions in this file except in test code! | |
23 | */ | |
24 | #include <asm-generic/gpio.h> | |
25 | ||
26 | /** | |
27 | * Return the simulated value of a GPIO (used only in sandbox test code) | |
28 | * | |
29 | * @param gp GPIO number | |
30 | * @return -1 on error, 0 if GPIO is low, >0 if high | |
31 | */ | |
54c5d08a | 32 | int sandbox_gpio_get_value(struct udevice *dev, unsigned int offset); |
8d30fcd9 SG |
33 | |
34 | /** | |
35 | * Set the simulated value of a GPIO (used only in sandbox test code) | |
36 | * | |
37 | * @param gp GPIO number | |
38 | * @param value value to set (0 for low, non-zero for high) | |
39 | * @return -1 on error, 0 if ok | |
40 | */ | |
54c5d08a | 41 | int sandbox_gpio_set_value(struct udevice *dev, unsigned int offset, int value); |
8d30fcd9 SG |
42 | |
43 | /** | |
44 | * Return the simulated direction of a GPIO (used only in sandbox test code) | |
45 | * | |
46 | * @param gp GPIO number | |
47 | * @return -1 on error, 0 if GPIO is input, >0 if output | |
48 | */ | |
54c5d08a | 49 | int sandbox_gpio_get_direction(struct udevice *dev, unsigned int offset); |
8d30fcd9 SG |
50 | |
51 | /** | |
52 | * Set the simulated direction of a GPIO (used only in sandbox test code) | |
53 | * | |
54 | * @param gp GPIO number | |
55 | * @param output 0 to set as input, 1 to set as output | |
56 | * @return -1 on error, 0 if ok | |
57 | */ | |
54c5d08a | 58 | int sandbox_gpio_set_direction(struct udevice *dev, unsigned int offset, |
e2d8a714 | 59 | int output); |
8d30fcd9 SG |
60 | |
61 | #endif |