]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
sandbox: Fix pinmux warnings with non-test devicetrees
authorSean Anderson <seanga2@gmail.com>
Fri, 16 Aug 2024 02:38:22 +0000 (22:38 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 27 Aug 2024 17:17:39 +0000 (11:17 -0600)
The sandbox pinmux driver is used in the non-test devicetree as well as
the test one. I didn't realize this when I modified the driver for
tests, and so broke the regular use case (which only resulted in
warnings). First, making the pinmux and the UART group available
pre-relocation to avoid ENODEV errors. Then, convert the pin groups and
functions to the new style, adding onewire group as well.

Fixes: 7f0f1806e3a ("test: pinmux: Add test for pin muxing")
Closes: https://source.denx.de/u-boot/u-boot/-/issues/2
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/sandbox/dts/sandbox.dtsi
drivers/pinctrl/pinctrl-sandbox.c
include/dt-bindings/pinctrl/sandbox-pinmux.h

index c93ce7128942bc50342a82d6cafd27ef0ff04825..8a115c503dc51ddae9731cb95d5c935f5fa9d26b 100644 (file)
        };
 
        pinctrl {
+               bootph-some-ram;
                compatible = "sandbox,pinctrl";
                status = "okay";
 
                pinctrl_i2c0: i2c0 {
-                       groups = "i2c";
-                       function = "i2c";
+                       groups = "I2C_UART";
+                       function = "I2C";
                        bias-pull-up;
                };
 
                pinctrl_serial0: uart0 {
-                       groups = "serial_a";
-                       function = "serial";
+                       bootph-some-ram;
+                       groups = "I2C_UART";
+                       function = "UART";
                };
 
                pinctrl_onewire0: onewire0 {
-                       groups = "w1";
-                       function = "w1";
+                       pins = "P8";
+                       function = "ONEWIRE";
                        bias-pull-up;
                };
        };
index a5d056643a0fcfba178c217ceb434c38ad2a6478..f6921b56cebfff276a8e3054dcf539b98ac1ce3a 100644 (file)
@@ -42,7 +42,7 @@ static const char * const sandbox_pins_muxing[][2] = {
        { "GPIO0", "SPI CS0" },
        { "GPIO1", "SPI CS1" },
        { "GPIO2", "PWM0" },
-       { "GPIO3", "PWM1" },
+       { "GPIO3", "ONEWIRE" },
 };
 
 #define SANDBOX_GROUP_I2C_UART 0
@@ -63,6 +63,7 @@ static const char * const sandbox_functions[] = {
        FUNC(GPIO),
        FUNC(CS),
        FUNC(PWM),
+       FUNC(ONEWIRE),
 #undef FUNC
 };
 
@@ -166,6 +167,7 @@ static int sandbox_pinmux_set(struct udevice *dev, unsigned pin_selector,
                break;
        case SANDBOX_PINMUX_CS:
        case SANDBOX_PINMUX_PWM:
+       case SANDBOX_PINMUX_ONEWIRE:
                mux = BIT(pin_selector);
                break;
        default:
index 891af072e52b5e9b85a7fa83d7f53ac44b26dc4b..21c5a1762abef27317c8ce14f91c663c77fc8227 100644 (file)
@@ -13,6 +13,7 @@
 #define SANDBOX_PINMUX_GPIO 4
 #define SANDBOX_PINMUX_CS   5
 #define SANDBOX_PINMUX_PWM  6
+#define SANDBOX_PINMUX_ONEWIRE 7
 
 #define SANDBOX_PINMUX(pin, func) ((func) << 16 | (pin))