adi,max32-pinctrl

Vendor: Analog Devices, Inc.

Description

MAX32 Pin controller Node
Based on pincfg-node.yaml binding.

Note: `bias-disable`  are default pin configurations.

Properties

Top level properties

These property descriptions apply to “adi,max32-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

Integer array, represents gpio pin number and mux setting.
These defines are calculated as: (pin<<8 | port<<4 | function<<0)
With:
- port: The gpio port index (0, 1, ...)
- pin: The pin offset within the port (0, 1, 2, ...)
- function: The function number, can be:
* 0 : GPIO
* 1 : Alternate Function 1
* 2 : Alternate Function 2
* 3 : Alternate Function 3
* 4 : Alternate Function 4
In case selected pin function is GPIO, pin is statically configured as
a plain input/output GPIO. Default configuration is input. Output value
can be configured by adding 'ouptut-low' or 'output-high' properties
to the pin configuration.

To simplify the usage, macro is available to generate "pinmux" field.
This macro is available here:
  -include/zephyr/dt-bindings/pinctrl/max32-pinctrl.h
Some examples of macro usage:
P0.9 set as alernate function 1
{
  pinmux = <MAX32_PINMUX(0, 9, AF1)>;
};
P0.9 set as alernate function 2
{
  pinmux = <MAX32_PINMUX(0, 9, AF2)>;
};
P0.9 set as GPIO output high
{
  pinmux = <MAX32_PINMUX(0, 9, GPIO)>;
  output-high;
};

This property is required.

power-source

int

GPIO Supply Voltage Select, Selects the voltage rail used for the pin.
0 or MAX32_VSEL_VDDIO
1 or MAX32_VSEL_VDDIOH

Legal values: 0, 1

drive-strength

int

There are 4 drive strength mode.
Mode 0: 1mA
Mode 1: 2mA
Mode 2: 4mA
Mode 3: 8mA
Default GPIO output drive strength is mode 0 for MAX32 MCUs.
For more information please take a look device user guide, datasheet.

Legal values: 0, 1, 2, 3

bias-disable

boolean

disable any pin bias

bias-pull-up

boolean

enable pull-up resistor

bias-pull-down

boolean

enable pull-down resistor

input-enable

boolean

enable input on pin (e.g. enable an input buffer, no effect on output)

output-enable

boolean

enable output on a pin without actively driving it (e.g. enable an output
buffer)

output-low

boolean

set the pin to output mode with low level

output-high

boolean

set the pin to output mode with high level