Line data Source code
1 0 : /*
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 0 : #define V2M_BEETLE_ALT_FUNC_POS 0
8 0 : #define V2M_BEETLE_ALT_FUNC_MASK 0x7
9 :
10 0 : #define V2M_BEETLE_EXP_NUM_POS 3
11 0 : #define V2M_BEETLE_EXP_NUM_MASK 0x1F8
12 :
13 0 : #define V2M_BEETLE_PINCTRL_FUNC_UART 0
14 0 : #define V2M_BEETLE_PINCTRL_FUNC_GPIO 1
15 0 : #define V2M_BEETLE_PINCTRL_FUNC_I2C 2
16 0 : #define V2M_BEETLE_PINCTRL_FUNC_SPI 3
17 0 : #define V2M_BEETLE_PINCTRL_FUNC_QSPI 4
18 :
19 0 : #define V2M_BEETLE_PINMUX(alt_func, exp_num) (exp_num << V2M_BEETLE_EXP_NUM_POS | \
20 : alt_func << V2M_BEETLE_ALT_FUNC_POS)
21 :
22 :
23 :
24 : /* GPIO 0 */
25 0 : #define UART0_RXD_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_UART, 0)
26 0 : #define UART0_TXD_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_UART, 1)
27 0 : #define SPI0_SS_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 10)
28 0 : #define SPI0_MOSI_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 11)
29 0 : #define SPI0_MISO_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 12)
30 0 : #define SPI0_SCK_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 13)
31 0 : #define SBCON0_SDA_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_I2C, 14)
32 0 : #define SBCON0_SCL_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_I2C, 15)
33 :
34 : /* GPIO 1 */
35 0 : #define UART1_RXD_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_UART, 16)
36 0 : #define UART1_TXD_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_UART, 17)
37 0 : #define SPI1_SS_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 18)
38 0 : #define SPI1_MOSI_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 19)
39 0 : #define SPI1_MISO_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 20)
40 0 : #define SPI1_SCK_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_SPI, 21)
41 0 : #define SBCON1_SDA_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_I2C, 22)
42 0 : #define SBCON1_SCL_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_I2C, 23)
43 0 : #define QSPI_CS2_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 24)
44 0 : #define QSPI_CS1_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 25)
45 0 : #define QSPI_IOF0_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 26)
46 0 : #define QSPI_IOF1_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 27)
47 0 : #define QSPI_IOF2_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 28)
48 0 : #define QSPI_IOF3_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 29)
49 0 : #define QSPI_SCK_EXP V2M_BEETLE_PINMUX(V2M_BEETLE_PINCTRL_FUNC_QSPI, 30)
|