]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dt-bindings: pinctrl: stm32: Add RSVD mux function
authorFabien Dessenne <fabien.dessenne@foss.st.com>
Tue, 10 Jun 2025 15:23:06 +0000 (17:23 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 18 Jun 2025 09:24:20 +0000 (11:24 +0200)
Document the RSVD (Reserved) mux function, used to reserve pins
for a coprocessor not running Linux.

Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/20250610152309.299438-3-antonio.borneo@foss.st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
include/dt-bindings/pinctrl/stm32-pinfunc.h

index a28d77748095acc454d7f4f91021e828990c152e..5d17d6487ae9c0fa92883ba150909c6ec8f22742 100644 (file)
@@ -160,9 +160,13 @@ patternProperties:
               * ...
               * 16 : Alternate Function 15
               * 17 : Analog
+              * 18 : Reserved
               To simplify the usage, macro is available to generate "pinmux" field.
               This macro is available here:
                 - include/dt-bindings/pinctrl/stm32-pinfunc.h
+              Setting the pinmux's function to the Reserved (RSVD) value is used to inform
+              the driver that it shall not apply the mux setting. This can be used to
+              reserve some pins, for example to a co-processor not running Linux.
               Some examples of using macro:
                /* GPIO A9 set as alternate function 2 */
                ... {
@@ -176,6 +180,10 @@ patternProperties:
                ... {
                           pinmux = <STM32_PINMUX('A', 9, ANALOG)>;
                };
+               /* GPIO A9 reserved for co-processor */
+               ... {
+                          pinmux = <STM32_PINMUX('A', 9, RSVD)>;
+               };
 
           bias-disable:
             type: boolean
index 28ad0235086a6b036c40245b3a796b46910a307f..af3fd388329a0a6da496fb2e3805a8356a45effb 100644 (file)
@@ -26,6 +26,7 @@
 #define AF14   0xf
 #define AF15   0x10
 #define ANALOG 0x11
+#define RSVD   0x12
 
 /* define Pins number*/
 #define PIN_NO(port, line)     (((port) - 'A') * 0x10 + (line))