Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: pinctrl: stm32: Add RSVD mux function

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>

authored by

Fabien Dessenne and committed by
Linus Walleij
4cdf874f a88ca6de

+9
+8
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
··· 160 160 * ... 161 161 * 16 : Alternate Function 15 162 162 * 17 : Analog 163 + * 18 : Reserved 163 164 To simplify the usage, macro is available to generate "pinmux" field. 164 165 This macro is available here: 165 166 - include/dt-bindings/pinctrl/stm32-pinfunc.h 167 + Setting the pinmux's function to the Reserved (RSVD) value is used to inform 168 + the driver that it shall not apply the mux setting. This can be used to 169 + reserve some pins, for example to a co-processor not running Linux. 166 170 Some examples of using macro: 167 171 /* GPIO A9 set as alternate function 2 */ 168 172 ... { ··· 179 175 /* GPIO A9 set as analog */ 180 176 ... { 181 177 pinmux = <STM32_PINMUX('A', 9, ANALOG)>; 178 + }; 179 + /* GPIO A9 reserved for co-processor */ 180 + ... { 181 + pinmux = <STM32_PINMUX('A', 9, RSVD)>; 182 182 }; 183 183 184 184 bias-disable:
+1
include/dt-bindings/pinctrl/stm32-pinfunc.h
··· 26 26 #define AF14 0xf 27 27 #define AF15 0x10 28 28 #define ANALOG 0x11 29 + #define RSVD 0x12 29 30 30 31 /* define Pins number*/ 31 32 #define PIN_NO(port, line) (((port) - 'A') * 0x10 + (line))