This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

st,stm32f1-pinctrl

Vendor: STMicroelectronics

Description

STM32 Pin controller Node

Properties

Top level properties

These property descriptions apply to “st,stm32f1-pinctrl” nodes themselves. This page also describes child node properties in the following sections.

Properties not inherited from the base binding file.

(None)

Child node properties

Name

Type

Details

pinmux

int

Adapted from https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
Integer array, represents gpio pin number and mux setting.
These defines are calculated as: ((port * 16 + line) << 8) | (function << 6) | remap)
With:
- port: The gpio port index (PA = 0, PB = 1, ..., PK = 11)
- line: The line offset within the port (PA0 = 0, PA1 = 1, ..., PA15 = 15)
- function: The configuration mode, can be:
* 0 : Alternate function output
* 1 : Input
* 2 : Analog
- remap: The pin remapping configuration. It allows to assign the pin
function to a different peripheral. Remain configuration can be:
* 0 : No remap
* 1 : Partial remap 1
* 2 : Partial remap 2
* 3 : Partial remap 3
* 4 : Full remap
To simplify the usage, macro is available to generate "pinmux" field.
This macro is available here:
  -include/dt-bindings/pinctrl/stm32f1-pinctrl.h
Some examples of macro usage:
   GPIO A9 set as alernate with no remap
... {
         pinmux = <STM32F1_PINMUX('A', 9, ALTERNATE, REMAP_NO)>;
};
   GPIO A9 set as alernate with full remap
... {
         pinmux = <STM32F1_PINMUX('A', 9, ALTERNATE, REMAP_FULL)>;
};
   GPIO A9 set as input
... {
         pinmux = <STM32F1_PINMUX('A', 9, GPIO_IN, REMAP_NO)>;
};

This property is required.

bias-disable

boolean

Pin bias (push-pull) disabled. This is the default pin
configuration and will be applied if no bias- property is
specified. Only available in input mode ("floating" configuration).

bias-pull-down

boolean

Weak pull down resistor enabled. Not compatible with
output configuration modes (atlernate or general purpose output).

bias-pull-up

boolean

Weak pull up resistor enabled. Not compatible with
output configuration modes (atlernate or general purpose output).

drive-push-pull

boolean

Pin driven actively high and low. This is the default pin
configueration and will be applied if no drive- property is
specified. Only valid for output configuration modes.

drive-open-drain

boolean

Pin driven in open drain. Only valid for output
configuration modes.

slew-rate

string

Pin output mode, maximum achievable speed. Only applies to
output mode (alternate).

Default value: max-speed-10mhz

Legal values: 'max-speed-10mhz', 'max-speed-2mhz', 'max-speed-50mhz'