raspberrypi,rp1-pinctrl

Description

Raspberry Pi RP1 Pin Controller

RP1 I/O controller pinmux and pad configuration. The RP1 is the
peripheral controller used on the Raspberry Pi 5. Each controller bank
manages a group of GPIO pins and exposes the function selection and pad
control registers for those pins.

Properties

Top level properties

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

Properties not inherited from the base binding file.

(None)

Grandchild node properties

Name

Type

Details

pinmux

array

Pin mux selections, encoded using RP1_PINMUX() or signal-specific
macros such as RP1_UART0_TX_P14 defined in
:zephyr_file:`include/zephyr/dt-bindings/pinctrl/rp1-pinctrl.h`.

This property is required.

drive-strength

int

Drive strength in mA. The value is encoded as an index in the
driver.

Default value: 4

Legal values: 2, 4, 8, 12

slew-rate

int

Slew rate of a pin. 0 selects slow, 1 selects fast.

Default value: 0

Legal values: 0, 1

raspberrypi,f-m

int

Value written to the RP1 GPIO control register F_M field.
Refer to the RP1 documentation for the meaning of each value.

Default value: 4

Legal values: 0, 1, 2, 3, 4, 5, 6, 7

raspberrypi,oe-override

int

Override output-enable for a pin.

- 0 - drive output enable from selected peripheral signal.
- 1 - drive output enable from inverse of selected peripheral
  signal.
- 2 - disable output.
- 3 - enable output.

The default value is 0, as this is the power on reset value.

Default value: 0

Legal values: 0, 1, 2, 3

raspberrypi,out-override

int

Override output for a pin.

- 0 - drive output from selected peripheral signal.
- 1 - drive output from inverse of selected peripheral signal.
- 2 - drive output low.
- 3 - drive output high.

The default value is 0, as this is the power on reset value.

Default value: 0

Legal values: 0, 1, 2, 3

raspberrypi,in-override

int

Override input for a pin.

- 0 - input comes from the selected pin.
- 1 - input comes from the inverse of the selected pin.
- 2 - force input low.
- 3 - force input high.

The default value is 0, as this is the power on reset value.

Default value: 0

Legal values: 0, 1, 2, 3

raspberrypi,irq-override

int

Override interrupt signal for a pin.

- 0 - interrupt signal from the selected pin.
- 1 - interrupt signal from the inverse of the selected pin.
- 2 - force interrupt low.
- 3 - force interrupt high.

The default value is 0, as this is the power on reset value.

Default value: 0

Legal values: 0, 1, 2, 3

raspberrypi,irqmask-edge-low

boolean

Enable interrupt on falling edge.

raspberrypi,irqmask-edge-high

boolean

Enable interrupt on rising edge.

raspberrypi,irqmask-level-low

boolean

Enable interrupt on low level.

raspberrypi,irqmask-level-high

boolean

Enable interrupt on high level.

raspberrypi,irqmask-f-edge-low

boolean

Enable filtered interrupt on falling edge.

raspberrypi,irqmask-f-edge-high

boolean

Enable filtered interrupt on rising edge.

raspberrypi,irqmask-db-level-low

boolean

Enable debounced interrupt on low level.

raspberrypi,irqmask-db-level-high

boolean

Enable debounced interrupt on high level.

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)

input-schmitt-enable

boolean

enable schmitt-trigger mode

output-disable

boolean

disable output on a pin (e.g. disable an output buffer)