aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSean Anderson2020-09-14 11:01:57 -0400
committerTom Rini2020-10-08 11:42:36 -0400
commit7f0f1806e3a474dc15b6bad806b4afa967447774 (patch)
tree67ae12ff6c548fe4c3f13177a8a4ef9b3ea781b8 /include
parent5eee93e5b1ae9b2b31db99f774e0f635ad276068 (diff)
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.h19
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 00000000000..891af072e52
--- /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 */