Zephyr Project API
4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
arm-mps4-pinctrl.h
Go to the documentation of this file.
1
/*
2
* Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ARM_MPS4_PINCTRL_H_
8
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ARM_MPS4_PINCTRL_H_
9
10
#define MPS4_ALT_FUNC_POS 0
11
#define MPS4_ALT_FUNC_MASK 0x7
12
13
#define MPS4_EXP_NUM_POS 3
14
#define MPS4_EXP_NUM_MASK 0x1F8
15
16
#define MPS4_PINCTRL_FUNC_UART 0
17
#define MPS4_PINCTRL_FUNC_GPIO 1
18
#define MPS4_PINCTRL_FUNC_I2C 2
19
#define MPS4_PINCTRL_FUNC_SPI 3
20
21
#define MPS4_PINMUX(alt_func, exp_num) (exp_num << MPS4_EXP_NUM_POS | \
22
alt_func << MPS4_ALT_FUNC_POS)
23
24
/* GPIO 0 */
25
#define UART3_RXD_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_UART, 0)
26
#define UART3_TXD_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_UART, 1)
27
#define SPI3_SS_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 10)
28
#define SPI3_MOSI_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 11)
29
#define SPI3_MISO_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 12)
30
#define SPI3_SCK_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 13)
31
#define SBCON2_SDA_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_I2C, 14)
32
#define SBCON2_SCL_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_I2C, 15)
33
34
35
/* GPIO 1 */
36
#define UART4_RXD_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_UART, 16)
37
#define UART4_TXD_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_UART, 17)
38
#define SPI4_SS_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 26)
39
#define SPI4_MOSI_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 27)
40
#define SPI4_MISO_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 28)
41
#define SPI4_SCK_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_SPI, 29)
42
#define SBCON3_SDA_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_I2C, 30)
43
#define SBCON3_SCL_EXP MPS4_PINMUX(MPS4_PINCTRL_FUNC_I2C, 31)
44
45
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ARM_MPS4_PINCTRL_H_ */
include
zephyr
dt-bindings
pinctrl
arm-mps4-pinctrl.h
Generated on
for Zephyr Project API by
1.16.1