Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
syna-sr100-pinctrl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Synaptics, Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
11
12#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_SYNA_SR100_PINCTRL_H_
13#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_SYNA_SR100_PINCTRL_H_
14
20#define SRXXX_CTRL_SHIFT 0U
22#define SRXXX_CTRL_MASK 0x07U
24#define SRXXX_BIT_SHIFT 3U
26#define SRXXX_BIT_MASK 0x1FU
28#define SRXXX_MODE_SHIFT 8U
30#define SRXXX_MODE_MASK 0x07U
32#define SRXXX_MASK_SHIFT 11U
34#define SRXXX_MASK_MASK 0x0FU
36#define SRXXX_REG_SHIFT 16U
38#define SRXXX_REG_MASK 0xFFU
40#define SRXXX_CFG_SHIFT 24U
42#define SRXXX_CFG_MASK 0xFFU
43
63#define SRXXX_PINMUX(ctrl, reg, bit, mode, mask, cfg) \
64 ((((ctrl) & SRXXX_CTRL_MASK) << SRXXX_CTRL_SHIFT) | \
65 (((reg) & SRXXX_REG_MASK) << SRXXX_REG_SHIFT) | \
66 (((bit) & SRXXX_BIT_MASK) << SRXXX_BIT_SHIFT) | \
67 (((mode) & SRXXX_MODE_MASK) << SRXXX_MODE_SHIFT) | \
68 (((mask) & SRXXX_MASK_MASK) << SRXXX_MASK_SHIFT) | \
69 (((cfg) & SRXXX_CFG_MASK) << SRXXX_CFG_SHIFT))
70
73#define SRXXX_GLOBAL_PINMUX(reg, bit, mode, cfg) SRXXX_PINMUX(0, reg, bit, mode, 7, cfg)
75#define SRXXX_AON_PINMUX(reg, bit, mode, cfg) SRXXX_PINMUX(1, reg, bit, mode, 7, cfg)
77#define SRXXX_LPS_PINMUX(reg, bit, mode, cfg) SRXXX_PINMUX(2, reg, bit, mode, 7, cfg)
79#define SRXXX_SWIRE_PINMUX(bit, mode) SRXXX_PINMUX(3, 0, bit, mode, 1, 0)
80
82#define SRXXX_PORT_PINMUX(reg, bit, mode, mask) SRXXX_PINMUX(4, reg, bit, mode, mask, 0)
84#define SRXXX_FIXED_PINMUX(cfg) SRXXX_PINMUX(0, 0, 0, 0, 0, cfg)
85
88#define SRXXX_PINMUX_CTRL(pinmux) (((pinmux) >> SRXXX_CTRL_SHIFT) & SRXXX_CTRL_MASK)
90#define SRXXX_PINMUX_REG(pinmux) (((pinmux) >> SRXXX_REG_SHIFT) & SRXXX_REG_MASK)
92#define SRXXX_PINMUX_BIT(pinmux) (((pinmux) >> SRXXX_BIT_SHIFT) & SRXXX_BIT_MASK)
94#define SRXXX_PINMUX_MODE(pinmux) (((pinmux) >> SRXXX_MODE_SHIFT) & SRXXX_MODE_MASK)
96#define SRXXX_PINMUX_MASK(pinmux) (((pinmux) >> SRXXX_MASK_SHIFT) & SRXXX_MASK_MASK)
98#define SRXXX_PINMUX_CFG(pinmux) (((pinmux) >> SRXXX_CFG_SHIFT) & SRXXX_CFG_MASK)
99
100#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_SYNA_SR100_PINCTRL_H_ */