Lines Matching +full:drive +full:- +full:push +full:- +full:pull

1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 ---
5 $id: http://devicetree.org/schemas/pinctrl/st,stm32-pinctrl.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - Alexandre TORGUE <alexandre.torgue@foss.st.com>
17 on-chip controllers onto these pads.
22 - st,stm32f429-pinctrl
23 - st,stm32f469-pinctrl
24 - st,stm32f746-pinctrl
25 - st,stm32f769-pinctrl
26 - st,stm32h743-pinctrl
27 - st,stm32mp135-pinctrl
28 - st,stm32mp157-pinctrl
29 - st,stm32mp157-z-pinctrl
30 - st,stm32mp257-pinctrl
31 - st,stm32mp257-z-pinctrl
33 '#address-cells':
36 '#size-cells':
41 pins-are-numbered:
52 $ref: /schemas/types.yaml#/definitions/phandle-array
54 - minItems: 2
56 - description: syscon node which includes IRQ mux selection
57 - description: The offset of the IRQ mux selection register
58 - description: The field mask of IRQ mux, needed if different of 0xf
63 More details in include/dt-bindings/pinctrl/stm32-pinfunc.h
68 '^gpio@[0-9a-f]*$':
72 gpio-controller: true
74 '#gpio-cells':
77 interrupt-controller: true
78 '#interrupt-cells':
90 gpio-line-names: true
92 gpio-ranges:
102 st,bank-name:
107 - GPIOA
108 - GPIOB
109 - GPIOC
110 - GPIOD
111 - GPIOE
112 - GPIOF
113 - GPIOG
114 - GPIOH
115 - GPIOI
116 - GPIOJ
117 - GPIOK
118 - GPIOZ
120 st,bank-ioport:
129 "^(.+-hog(-[0-9]+)?)$":
132 - gpio-hog
135 - gpio-controller
136 - '#gpio-cells'
137 - reg
138 - clocks
139 - st,bank-name
141 '-[0-9]*$':
153 configuration, pullups, drive, output high/low and output speed.
156 $ref: /schemas/types.yaml#/definitions/uint32-array
160 defined in dt-bindings/pinctrl/<soc>-pinfunc.h directly.
163 - port: The gpio port index (PA = 0, PB = 1, ..., PK = 11)
164 - line: The line offset within the port (PA0 = 0, PA1 = 1, ..., PA15 = 15)
165 - function: The function number, can be:
176 - include/dt-bindings/pinctrl/stm32-pinfunc.h
179 reserve some pins, for example to a co-processor not running Linux.
193 /* GPIO A9 reserved for co-processor */
198 bias-disable:
201 bias-pull-down:
204 bias-pull-up:
207 drive-push-pull:
210 drive-open-drain:
213 output-low:
216 output-high:
219 slew-rate:
229 - pinmux
232 - $ref: pinctrl.yaml#
235 - compatible
236 - '#address-cells'
237 - '#size-cells'
238 - ranges
243 - |
244 #include <dt-bindings/pinctrl/stm32-pinfunc.h>
245 #include <dt-bindings/mfd/stm32f4-rcc.h>
248 #address-cells = <1>;
249 #size-cells = <1>;
250 compatible = "st,stm32f429-pinctrl";
254 gpio-controller;
255 #gpio-cells = <2>;
259 st,bank-name = "GPIOA";
263 //Example 2 (using gpio-ranges)
265 #address-cells = <1>;
266 #size-cells = <1>;
267 compatible = "st,stm32f429-pinctrl";
271 gpio-controller;
272 #gpio-cells = <2>;
276 st,bank-name = "GPIOB";
277 gpio-ranges = <&pinctrl 0 0 16>;
281 gpio-controller;
282 #gpio-cells = <2>;
286 st,bank-name = "GPIOC";
288 gpio-ranges = <&pinctrl 0 16 3>,
295 usart1_pins_a: usart1-0 {
298 bias-disable;
299 drive-push-pull;
300 slew-rate = <0>;
304 bias-disable;
310 pinctrl-0 = <&usart1_pins_a>;
311 pinctrl-names = "default";