sensry,sy1xx-pinctrl

Vendor: sensry.io

Note

An implementation of a driver matching this compatible is available in drivers/pinctrl/pinctrl_sy1xx.c.

Description

The sensry SY1xx pin controller is a single node responsible for controlling
pin configuration, such as pull-up, pull-down, tri-state, ...

The node has the 'pinctrl0' node label set in your SoC's devicetree,
so you can modify it like this:

  &pinctrl0 {
          /* your modifications go here */
  };

For example:
  &pinctrl0 {

    /* UART0 */
    uart0_tx: uart0_tx {
      pinmux = <SY1XX_UART0_PAD_CFG0 SY1XX_PAD(0)>;
    };

    uart0_rx: uart0_rx {
      pinmux = <SY1XX_UART0_PAD_CFG0 SY1XX_PAD(1)>;
      input-enable;
    };
  }

Then define the uart:
  &uart0 {
    pinctrl-0 = <&uart0_tx &uart0_rx>;
    pinctrl-names = "default";
  };

Every pin configuration will be configured in a 32bit register. The configuration
itself is 8bit wide. So we have a number of 4 pin configurations per 32bit register.

The pinmux describes the registers address and the offset [0, 8, 16, 24] for
the individual configuration.

Allowed modifiers for each pin are:
- bias-high-impedance
- bias-pull-down
- bias-pull-up
- input-enable
- input-schmitt-enable

Properties

Top level properties

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

Pin mux selection. See the SOC level pinctrl header
for a defined list of these options.

This property is required.

bias-high-impedance

boolean

high impedance mode ("third-state", "floating")

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