diff options
author | Sean Anderson <seanga2@gmail.com> | 2020-09-14 11:01:57 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-10-08 11:42:36 -0400 |
commit | 7f0f1806e3a474dc15b6bad806b4afa967447774 (patch) | |
tree | 67ae12ff6c548fe4c3f13177a8a4ef9b3ea781b8 /include | |
parent | 5eee93e5b1ae9b2b31db99f774e0f635ad276068 (diff) | |
download | u-boot-7f0f1806e3a474dc15b6bad806b4afa967447774.zip u-boot-7f0f1806e3a474dc15b6bad806b4afa967447774.tar.gz u-boot-7f0f1806e3a474dc15b6bad806b4afa967447774.tar.bz2 |
test: pinmux: Add test for pin muxing
This extends the pinctrl-sandbox driver to support pin muxing, and adds a
test for that behaviour. The test is done in C and not python (like the
existing tests for the pinctrl uclass) because it needs to call
pinctrl_select_state. Another option could be to add a command that
invokes pinctrl_select_state and then test everything in
test/py/tests/test_pinmux.py.
The pinctrl-sandbox driver now mimics the way that many pinmux devices
work. There are two groups of pins which are muxed together, as well as
four pins which are muxed individually. I have tried to test all normal
paths. However, very few error cases are explicitly checked for.
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/dt-bindings/pinctrl/sandbox-pinmux.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/dt-bindings/pinctrl/sandbox-pinmux.h b/include/dt-bindings/pinctrl/sandbox-pinmux.h new file mode 100644 index 0000000..891af07 --- /dev/null +++ b/include/dt-bindings/pinctrl/sandbox-pinmux.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020 Sean Anderson <seanga2@gmail.com> + */ + +#ifndef SANDBOX_PINMUX_H +#define SANDBOX_PINMUX_H + +#define SANDBOX_PINMUX_UART 0 +#define SANDBOX_PINMUX_I2C 1 +#define SANDBOX_PINMUX_SPI 2 +#define SANDBOX_PINMUX_I2S 3 +#define SANDBOX_PINMUX_GPIO 4 +#define SANDBOX_PINMUX_CS 5 +#define SANDBOX_PINMUX_PWM 6 + +#define SANDBOX_PINMUX(pin, func) ((func) << 16 | (pin)) + +#endif /* SANDBOX_PINMUX_H */ |