Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Defines macros and constants for Renesas RZ/N1 pin controller pin
0004  * muxing functions.
0005  */
0006 #ifndef __DT_BINDINGS_RZN1_PINCTRL_H
0007 #define __DT_BINDINGS_RZN1_PINCTRL_H
0008 
0009 #define RZN1_PINMUX(_gpio, _func) \
0010     (((_func) << 8) | (_gpio))
0011 
0012 /*
0013  * Given the different levels of muxing on the SoC, it was decided to
0014  * 'linearize' them into one numerical space. So mux level 1, 2 and the MDIO
0015  * muxes are all represented by one single value.
0016  *
0017  * You can derive the hardware value pretty easily too, as
0018  * 0...9   are Level 1
0019  * 10...71 are Level 2. The Level 2 mux will be set to this
0020  *         value - RZN1_FUNC_L2_OFFSET, and the Level 1 mux will be
0021  *         set accordingly.
0022  * 72...103 are for the 2 MDIO muxes.
0023  */
0024 #define RZN1_FUNC_HIGHZ             0
0025 #define RZN1_FUNC_0L                1
0026 #define RZN1_FUNC_CLK_ETH_MII_RGMII_RMII    2
0027 #define RZN1_FUNC_CLK_ETH_NAND          3
0028 #define RZN1_FUNC_QSPI              4
0029 #define RZN1_FUNC_SDIO              5
0030 #define RZN1_FUNC_LCD               6
0031 #define RZN1_FUNC_LCD_E             7
0032 #define RZN1_FUNC_MSEBIM            8
0033 #define RZN1_FUNC_MSEBIS            9
0034 #define RZN1_FUNC_L2_OFFSET         10  /* I'm Special */
0035 
0036 #define RZN1_FUNC_HIGHZ1            (RZN1_FUNC_L2_OFFSET + 0)
0037 #define RZN1_FUNC_ETHERCAT          (RZN1_FUNC_L2_OFFSET + 1)
0038 #define RZN1_FUNC_SERCOS3           (RZN1_FUNC_L2_OFFSET + 2)
0039 #define RZN1_FUNC_SDIO_E            (RZN1_FUNC_L2_OFFSET + 3)
0040 #define RZN1_FUNC_ETH_MDIO          (RZN1_FUNC_L2_OFFSET + 4)
0041 #define RZN1_FUNC_ETH_MDIO_E1           (RZN1_FUNC_L2_OFFSET + 5)
0042 #define RZN1_FUNC_USB               (RZN1_FUNC_L2_OFFSET + 6)
0043 #define RZN1_FUNC_MSEBIM_E          (RZN1_FUNC_L2_OFFSET + 7)
0044 #define RZN1_FUNC_MSEBIS_E          (RZN1_FUNC_L2_OFFSET + 8)
0045 #define RZN1_FUNC_RSV               (RZN1_FUNC_L2_OFFSET + 9)
0046 #define RZN1_FUNC_RSV_E             (RZN1_FUNC_L2_OFFSET + 10)
0047 #define RZN1_FUNC_RSV_E1            (RZN1_FUNC_L2_OFFSET + 11)
0048 #define RZN1_FUNC_UART0_I           (RZN1_FUNC_L2_OFFSET + 12)
0049 #define RZN1_FUNC_UART0_I_E         (RZN1_FUNC_L2_OFFSET + 13)
0050 #define RZN1_FUNC_UART1_I           (RZN1_FUNC_L2_OFFSET + 14)
0051 #define RZN1_FUNC_UART1_I_E         (RZN1_FUNC_L2_OFFSET + 15)
0052 #define RZN1_FUNC_UART2_I           (RZN1_FUNC_L2_OFFSET + 16)
0053 #define RZN1_FUNC_UART2_I_E         (RZN1_FUNC_L2_OFFSET + 17)
0054 #define RZN1_FUNC_UART0             (RZN1_FUNC_L2_OFFSET + 18)
0055 #define RZN1_FUNC_UART0_E           (RZN1_FUNC_L2_OFFSET + 19)
0056 #define RZN1_FUNC_UART1             (RZN1_FUNC_L2_OFFSET + 20)
0057 #define RZN1_FUNC_UART1_E           (RZN1_FUNC_L2_OFFSET + 21)
0058 #define RZN1_FUNC_UART2             (RZN1_FUNC_L2_OFFSET + 22)
0059 #define RZN1_FUNC_UART2_E           (RZN1_FUNC_L2_OFFSET + 23)
0060 #define RZN1_FUNC_UART3             (RZN1_FUNC_L2_OFFSET + 24)
0061 #define RZN1_FUNC_UART3_E           (RZN1_FUNC_L2_OFFSET + 25)
0062 #define RZN1_FUNC_UART4             (RZN1_FUNC_L2_OFFSET + 26)
0063 #define RZN1_FUNC_UART4_E           (RZN1_FUNC_L2_OFFSET + 27)
0064 #define RZN1_FUNC_UART5             (RZN1_FUNC_L2_OFFSET + 28)
0065 #define RZN1_FUNC_UART5_E           (RZN1_FUNC_L2_OFFSET + 29)
0066 #define RZN1_FUNC_UART6             (RZN1_FUNC_L2_OFFSET + 30)
0067 #define RZN1_FUNC_UART6_E           (RZN1_FUNC_L2_OFFSET + 31)
0068 #define RZN1_FUNC_UART7             (RZN1_FUNC_L2_OFFSET + 32)
0069 #define RZN1_FUNC_UART7_E           (RZN1_FUNC_L2_OFFSET + 33)
0070 #define RZN1_FUNC_SPI0_M            (RZN1_FUNC_L2_OFFSET + 34)
0071 #define RZN1_FUNC_SPI0_M_E          (RZN1_FUNC_L2_OFFSET + 35)
0072 #define RZN1_FUNC_SPI1_M            (RZN1_FUNC_L2_OFFSET + 36)
0073 #define RZN1_FUNC_SPI1_M_E          (RZN1_FUNC_L2_OFFSET + 37)
0074 #define RZN1_FUNC_SPI2_M            (RZN1_FUNC_L2_OFFSET + 38)
0075 #define RZN1_FUNC_SPI2_M_E          (RZN1_FUNC_L2_OFFSET + 39)
0076 #define RZN1_FUNC_SPI3_M            (RZN1_FUNC_L2_OFFSET + 40)
0077 #define RZN1_FUNC_SPI3_M_E          (RZN1_FUNC_L2_OFFSET + 41)
0078 #define RZN1_FUNC_SPI4_S            (RZN1_FUNC_L2_OFFSET + 42)
0079 #define RZN1_FUNC_SPI4_S_E          (RZN1_FUNC_L2_OFFSET + 43)
0080 #define RZN1_FUNC_SPI5_S            (RZN1_FUNC_L2_OFFSET + 44)
0081 #define RZN1_FUNC_SPI5_S_E          (RZN1_FUNC_L2_OFFSET + 45)
0082 #define RZN1_FUNC_SGPIO0_M          (RZN1_FUNC_L2_OFFSET + 46)
0083 #define RZN1_FUNC_SGPIO1_M          (RZN1_FUNC_L2_OFFSET + 47)
0084 #define RZN1_FUNC_GPIO              (RZN1_FUNC_L2_OFFSET + 48)
0085 #define RZN1_FUNC_CAN               (RZN1_FUNC_L2_OFFSET + 49)
0086 #define RZN1_FUNC_I2C               (RZN1_FUNC_L2_OFFSET + 50)
0087 #define RZN1_FUNC_SAFE              (RZN1_FUNC_L2_OFFSET + 51)
0088 #define RZN1_FUNC_PTO_PWM           (RZN1_FUNC_L2_OFFSET + 52)
0089 #define RZN1_FUNC_PTO_PWM1          (RZN1_FUNC_L2_OFFSET + 53)
0090 #define RZN1_FUNC_PTO_PWM2          (RZN1_FUNC_L2_OFFSET + 54)
0091 #define RZN1_FUNC_PTO_PWM3          (RZN1_FUNC_L2_OFFSET + 55)
0092 #define RZN1_FUNC_PTO_PWM4          (RZN1_FUNC_L2_OFFSET + 56)
0093 #define RZN1_FUNC_DELTA_SIGMA           (RZN1_FUNC_L2_OFFSET + 57)
0094 #define RZN1_FUNC_SGPIO2_M          (RZN1_FUNC_L2_OFFSET + 58)
0095 #define RZN1_FUNC_SGPIO3_M          (RZN1_FUNC_L2_OFFSET + 59)
0096 #define RZN1_FUNC_SGPIO4_S          (RZN1_FUNC_L2_OFFSET + 60)
0097 #define RZN1_FUNC_MAC_MTIP_SWITCH       (RZN1_FUNC_L2_OFFSET + 61)
0098 
0099 #define RZN1_FUNC_MDIO_OFFSET           (RZN1_FUNC_L2_OFFSET + 62)
0100 
0101 /* These are MDIO0 peripherals for the RZN1_FUNC_ETH_MDIO function */
0102 #define RZN1_FUNC_MDIO0_HIGHZ           (RZN1_FUNC_MDIO_OFFSET + 0)
0103 #define RZN1_FUNC_MDIO0_GMAC0           (RZN1_FUNC_MDIO_OFFSET + 1)
0104 #define RZN1_FUNC_MDIO0_GMAC1           (RZN1_FUNC_MDIO_OFFSET + 2)
0105 #define RZN1_FUNC_MDIO0_ECAT            (RZN1_FUNC_MDIO_OFFSET + 3)
0106 #define RZN1_FUNC_MDIO0_S3_MDIO0        (RZN1_FUNC_MDIO_OFFSET + 4)
0107 #define RZN1_FUNC_MDIO0_S3_MDIO1        (RZN1_FUNC_MDIO_OFFSET + 5)
0108 #define RZN1_FUNC_MDIO0_HWRTOS          (RZN1_FUNC_MDIO_OFFSET + 6)
0109 #define RZN1_FUNC_MDIO0_SWITCH          (RZN1_FUNC_MDIO_OFFSET + 7)
0110 /* These are MDIO0 peripherals for the RZN1_FUNC_ETH_MDIO_E1 function */
0111 #define RZN1_FUNC_MDIO0_E1_HIGHZ        (RZN1_FUNC_MDIO_OFFSET + 8)
0112 #define RZN1_FUNC_MDIO0_E1_GMAC0        (RZN1_FUNC_MDIO_OFFSET + 9)
0113 #define RZN1_FUNC_MDIO0_E1_GMAC1        (RZN1_FUNC_MDIO_OFFSET + 10)
0114 #define RZN1_FUNC_MDIO0_E1_ECAT         (RZN1_FUNC_MDIO_OFFSET + 11)
0115 #define RZN1_FUNC_MDIO0_E1_S3_MDIO0     (RZN1_FUNC_MDIO_OFFSET + 12)
0116 #define RZN1_FUNC_MDIO0_E1_S3_MDIO1     (RZN1_FUNC_MDIO_OFFSET + 13)
0117 #define RZN1_FUNC_MDIO0_E1_HWRTOS       (RZN1_FUNC_MDIO_OFFSET + 14)
0118 #define RZN1_FUNC_MDIO0_E1_SWITCH       (RZN1_FUNC_MDIO_OFFSET + 15)
0119 
0120 /* These are MDIO1 peripherals for the RZN1_FUNC_ETH_MDIO function */
0121 #define RZN1_FUNC_MDIO1_HIGHZ           (RZN1_FUNC_MDIO_OFFSET + 16)
0122 #define RZN1_FUNC_MDIO1_GMAC0           (RZN1_FUNC_MDIO_OFFSET + 17)
0123 #define RZN1_FUNC_MDIO1_GMAC1           (RZN1_FUNC_MDIO_OFFSET + 18)
0124 #define RZN1_FUNC_MDIO1_ECAT            (RZN1_FUNC_MDIO_OFFSET + 19)
0125 #define RZN1_FUNC_MDIO1_S3_MDIO0        (RZN1_FUNC_MDIO_OFFSET + 20)
0126 #define RZN1_FUNC_MDIO1_S3_MDIO1        (RZN1_FUNC_MDIO_OFFSET + 21)
0127 #define RZN1_FUNC_MDIO1_HWRTOS          (RZN1_FUNC_MDIO_OFFSET + 22)
0128 #define RZN1_FUNC_MDIO1_SWITCH          (RZN1_FUNC_MDIO_OFFSET + 23)
0129 /* These are MDIO1 peripherals for the RZN1_FUNC_ETH_MDIO_E1 function */
0130 #define RZN1_FUNC_MDIO1_E1_HIGHZ        (RZN1_FUNC_MDIO_OFFSET + 24)
0131 #define RZN1_FUNC_MDIO1_E1_GMAC0        (RZN1_FUNC_MDIO_OFFSET + 25)
0132 #define RZN1_FUNC_MDIO1_E1_GMAC1        (RZN1_FUNC_MDIO_OFFSET + 26)
0133 #define RZN1_FUNC_MDIO1_E1_ECAT         (RZN1_FUNC_MDIO_OFFSET + 27)
0134 #define RZN1_FUNC_MDIO1_E1_S3_MDIO0     (RZN1_FUNC_MDIO_OFFSET + 28)
0135 #define RZN1_FUNC_MDIO1_E1_S3_MDIO1     (RZN1_FUNC_MDIO_OFFSET + 29)
0136 #define RZN1_FUNC_MDIO1_E1_HWRTOS       (RZN1_FUNC_MDIO_OFFSET + 30)
0137 #define RZN1_FUNC_MDIO1_E1_SWITCH       (RZN1_FUNC_MDIO_OFFSET + 31)
0138 
0139 #define RZN1_FUNC_MAX               (RZN1_FUNC_MDIO_OFFSET + 32)
0140 
0141 #endif /* __DT_BINDINGS_RZN1_PINCTRL_H */