 |
Zephyr API 3.6.99
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
6#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_SIWX91X_H_
7#define INCLUDE_ZEPHYR_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_SIWX91X_H_
11#if !defined(FIELD_PREP)
13#define LSB_GET(value) ((value) & -(value))
14#define FIELD_GET(mask, value) (((value) & (mask)) / LSB_GET(mask))
15#define FIELD_PREP(mask, value) (((value) * LSB_GET(mask)) & (mask))
18#define SIWX91X_PINCTRL_PORT_MASK 0x0000000FUL
19#define SIWX91X_PINCTRL_PIN_MASK 0x000000F0UL
20#define SIWX91X_PINCTRL_ULPPIN_MASK 0x00000F00UL
21#define SIWX91X_PINCTRL_MODE_MASK 0x0003F000UL
22#define SIWX91X_PINCTRL_ULPMODE_MASK 0x00FC0000UL
23#define SIWX91X_PINCTRL_PAD_MASK 0xFF000000UL
33#define SIWX91X_GPIO(mode, ulpmode, pad, port, pin, ulppin) \
34 (FIELD_PREP(SIWX91X_PINCTRL_PORT_MASK, port) | FIELD_PREP(SIWX91X_PINCTRL_PIN_MASK, pin) | \
35 FIELD_PREP(SIWX91X_PINCTRL_ULPPIN_MASK, ulppin) | \
36 FIELD_PREP(SIWX91X_PINCTRL_MODE_MASK, mode) | \
37 FIELD_PREP(SIWX91X_PINCTRL_ULPMODE_MASK, ulpmode) | \
38 FIELD_PREP(SIWX91X_PINCTRL_PAD_MASK, pad))