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.

sifive,pinctrl

Vendor: SiFive, Inc.

Description

SiFive FE310 IO Function (iof) binding covers the IOF_EN/IOF_SEL registers
that are a subset of the GPIO controller. You can use this node to set the
value of IOF_EN/IOF_SEL registers to control pin settings.

Device pin configuration should be placed in the child nodes of this node.
Populate the 'pinmux' field with a pair consisting of a pin number and its IO
function. The available IO functions are:
  - SIFIVE_PINMUX_IOF0
  - SIFIVE_PINMUX_IOF1

For example, setting pins 16 and 17 both to IOF0 would look like this:

  #include <dt-bindings/pinctrl/sifive-pinctrl.h>

  &pinctrl {
    uart0_rx_default: uart0_rx_default {
      pinmux = <16 SIFIVE_PINMUX_IOF0>;
    };
    uart0_tx_default: uart0_tx_default {
      pinmux = <17 SIFIVE_PINMUX_IOF0>;
    };
  };

Properties

Top level properties

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

array

SiFive FE310 pin's configuration (pin, IO function).

This property is required.