 |
Zephyr API 3.6.99
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
6#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_DBUS_H_
7#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_DBUS_H_
33#define SILABS_PINCTRL_GPIO_PORT_MASK 0x0000000FUL
34#define SILABS_PINCTRL_GPIO_PIN_MASK 0x000000F0UL
35#define SILABS_PINCTRL_PERIPH_BASE_MASK 0x0003FF00UL
36#define SILABS_PINCTRL_HAVE_EN_MASK 0x00040000UL
37#define SILABS_PINCTRL_EN_BIT_MASK 0x00F80000UL
38#define SILABS_PINCTRL_ROUTE_MASK 0x1F000000UL
39#define SILABS_PINCTRL_HAVE_ROUTE_MASK 0x20000000UL
41#define SILABS_PINCTRL_ANALOG_MASK 0x80000000UL
42#define SILABS_PINCTRL_ABUS_BUS_MASK 0x0000C000UL
43#define SILABS_PINCTRL_ABUS_PARITY_MASK 0x00003000UL
44#define SILABS_PINCTRL_ABUS_PERIPH_MASK 0x00000F00UL
46#define SILABS_PINCTRL_UNUSED 0xFF
47#define SILABS_PINCTRL_ANALOG 0xAA
49#define SILABS_DBUS(port, pin, periph_base, en_present, en_bit, route) \
50 (FIELD_PREP(SILABS_PINCTRL_GPIO_PORT_MASK, port) | \
51 FIELD_PREP(SILABS_PINCTRL_GPIO_PIN_MASK, pin) | \
52 FIELD_PREP(SILABS_PINCTRL_PERIPH_BASE_MASK, periph_base) | \
53 FIELD_PREP(SILABS_PINCTRL_HAVE_EN_MASK, en_present) | \
54 FIELD_PREP(SILABS_PINCTRL_EN_BIT_MASK, en_bit) | \
55 FIELD_PREP(SILABS_PINCTRL_ROUTE_MASK, route) | \
56 FIELD_PREP(SILABS_PINCTRL_HAVE_ROUTE_MASK, 1))
58#define SILABS_FIXED_ROUTE(port, pin, periph_base, en_bit) \
59 (FIELD_PREP(SILABS_PINCTRL_GPIO_PORT_MASK, port) | \
60 FIELD_PREP(SILABS_PINCTRL_GPIO_PIN_MASK, pin) | \
61 FIELD_PREP(SILABS_PINCTRL_PERIPH_BASE_MASK, periph_base) | \
62 FIELD_PREP(SILABS_PINCTRL_HAVE_EN_MASK, 1) | \
63 FIELD_PREP(SILABS_PINCTRL_EN_BIT_MASK, en_bit) | \
64 FIELD_PREP(SILABS_PINCTRL_HAVE_ROUTE_MASK, 0))
66#define SILABS_ABUS(bus, parity, peripheral) \
67 (FIELD_PREP(SILABS_PINCTRL_ANALOG_MASK, 1) | \
68 FIELD_PREP(SILABS_PINCTRL_ABUS_BUS_MASK, bus) | \
69 FIELD_PREP(SILABS_PINCTRL_ABUS_PARITY_MASK, parity) | \
70 FIELD_PREP(SILABS_PINCTRL_ABUS_PERIPH_MASK, peripheral))