| /* |
| * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| /* |
| * ZynqMP system level PM-API functions for pin control. |
| */ |
| |
| #ifndef _PM_API_PINCTRL_H_ |
| #define _PM_API_PINCTRL_H_ |
| |
| #include "pm_common.h" |
| |
| #define FUNCTION_NAME_LEN U(16) |
| #define GROUPS_PAYLOAD_LEN U(12) |
| #define NUM_GROUPS_PER_RESP U(6) |
| #define END_OF_FUNCTION "END_OF_FUNCTION" |
| #define END_OF_GROUPS -1 |
| #define PINCTRL_GRP_RESERVED -2 |
| |
| //pinctrl function ids |
| enum { |
| PINCTRL_FUNC_CAN0, |
| PINCTRL_FUNC_CAN1, |
| PINCTRL_FUNC_ETHERNET0, |
| PINCTRL_FUNC_ETHERNET1, |
| PINCTRL_FUNC_ETHERNET2, |
| PINCTRL_FUNC_ETHERNET3, |
| PINCTRL_FUNC_GEMTSU0, |
| PINCTRL_FUNC_GPIO0, |
| PINCTRL_FUNC_I2C0, |
| PINCTRL_FUNC_I2C1, |
| PINCTRL_FUNC_MDIO0, |
| PINCTRL_FUNC_MDIO1, |
| PINCTRL_FUNC_MDIO2, |
| PINCTRL_FUNC_MDIO3, |
| PINCTRL_FUNC_QSPI0, |
| PINCTRL_FUNC_QSPI_FBCLK, |
| PINCTRL_FUNC_QSPI_SS, |
| PINCTRL_FUNC_SPI0, |
| PINCTRL_FUNC_SPI1, |
| PINCTRL_FUNC_SPI0_SS, |
| PINCTRL_FUNC_SPI1_SS, |
| PINCTRL_FUNC_SDIO0, |
| PINCTRL_FUNC_SDIO0_PC, |
| PINCTRL_FUNC_SDIO0_CD, |
| PINCTRL_FUNC_SDIO0_WP, |
| PINCTRL_FUNC_SDIO1, |
| PINCTRL_FUNC_SDIO1_PC, |
| PINCTRL_FUNC_SDIO1_CD, |
| PINCTRL_FUNC_SDIO1_WP, |
| PINCTRL_FUNC_NAND0, |
| PINCTRL_FUNC_NAND0_CE, |
| PINCTRL_FUNC_NAND0_RB, |
| PINCTRL_FUNC_NAND0_DQS, |
| PINCTRL_FUNC_TTC0_CLK, |
| PINCTRL_FUNC_TTC0_WAV, |
| PINCTRL_FUNC_TTC1_CLK, |
| PINCTRL_FUNC_TTC1_WAV, |
| PINCTRL_FUNC_TTC2_CLK, |
| PINCTRL_FUNC_TTC2_WAV, |
| PINCTRL_FUNC_TTC3_CLK, |
| PINCTRL_FUNC_TTC3_WAV, |
| PINCTRL_FUNC_UART0, |
| PINCTRL_FUNC_UART1, |
| PINCTRL_FUNC_USB0, |
| PINCTRL_FUNC_USB1, |
| PINCTRL_FUNC_SWDT0_CLK, |
| PINCTRL_FUNC_SWDT0_RST, |
| PINCTRL_FUNC_SWDT1_CLK, |
| PINCTRL_FUNC_SWDT1_RST, |
| PINCTRL_FUNC_PMU0, |
| PINCTRL_FUNC_PCIE0, |
| PINCTRL_FUNC_CSU0, |
| PINCTRL_FUNC_DPAUX0, |
| PINCTRL_FUNC_PJTAG0, |
| PINCTRL_FUNC_TRACE0, |
| PINCTRL_FUNC_TRACE0_CLK, |
| PINCTRL_FUNC_TESTSCAN0, |
| END_FUNCTION, |
| }; |
| |
| #define MAX_FUNCTION (unsigned int)(END_FUNCTION) |
| |
| // pinctrl pin numbers |
| enum { |
| PINCTRL_PIN_0, |
| PINCTRL_PIN_1, |
| PINCTRL_PIN_2, |
| PINCTRL_PIN_3, |
| PINCTRL_PIN_4, |
| PINCTRL_PIN_5, |
| PINCTRL_PIN_6, |
| PINCTRL_PIN_7, |
| PINCTRL_PIN_8, |
| PINCTRL_PIN_9, |
| PINCTRL_PIN_10, |
| PINCTRL_PIN_11, |
| PINCTRL_PIN_12, |
| PINCTRL_PIN_13, |
| PINCTRL_PIN_14, |
| PINCTRL_PIN_15, |
| PINCTRL_PIN_16, |
| PINCTRL_PIN_17, |
| PINCTRL_PIN_18, |
| PINCTRL_PIN_19, |
| PINCTRL_PIN_20, |
| PINCTRL_PIN_21, |
| PINCTRL_PIN_22, |
| PINCTRL_PIN_23, |
| PINCTRL_PIN_24, |
| PINCTRL_PIN_25, |
| PINCTRL_PIN_26, |
| PINCTRL_PIN_27, |
| PINCTRL_PIN_28, |
| PINCTRL_PIN_29, |
| PINCTRL_PIN_30, |
| PINCTRL_PIN_31, |
| PINCTRL_PIN_32, |
| PINCTRL_PIN_33, |
| PINCTRL_PIN_34, |
| PINCTRL_PIN_35, |
| PINCTRL_PIN_36, |
| PINCTRL_PIN_37, |
| PINCTRL_PIN_38, |
| PINCTRL_PIN_39, |
| PINCTRL_PIN_40, |
| PINCTRL_PIN_41, |
| PINCTRL_PIN_42, |
| PINCTRL_PIN_43, |
| PINCTRL_PIN_44, |
| PINCTRL_PIN_45, |
| PINCTRL_PIN_46, |
| PINCTRL_PIN_47, |
| PINCTRL_PIN_48, |
| PINCTRL_PIN_49, |
| PINCTRL_PIN_50, |
| PINCTRL_PIN_51, |
| PINCTRL_PIN_52, |
| PINCTRL_PIN_53, |
| PINCTRL_PIN_54, |
| PINCTRL_PIN_55, |
| PINCTRL_PIN_56, |
| PINCTRL_PIN_57, |
| PINCTRL_PIN_58, |
| PINCTRL_PIN_59, |
| PINCTRL_PIN_60, |
| PINCTRL_PIN_61, |
| PINCTRL_PIN_62, |
| PINCTRL_PIN_63, |
| PINCTRL_PIN_64, |
| PINCTRL_PIN_65, |
| PINCTRL_PIN_66, |
| PINCTRL_PIN_67, |
| PINCTRL_PIN_68, |
| PINCTRL_PIN_69, |
| PINCTRL_PIN_70, |
| PINCTRL_PIN_71, |
| PINCTRL_PIN_72, |
| PINCTRL_PIN_73, |
| PINCTRL_PIN_74, |
| PINCTRL_PIN_75, |
| PINCTRL_PIN_76, |
| PINCTRL_PIN_77, |
| END_PINS, |
| }; |
| |
| #define MAX_PIN (unsigned int)(END_PINS) |
| |
| // pinctrl group ids |
| enum { |
| PINCTRL_GRP_ETHERNET0_0, |
| PINCTRL_GRP_ETHERNET1_0, |
| PINCTRL_GRP_ETHERNET2_0, |
| PINCTRL_GRP_ETHERNET3_0, |
| PINCTRL_GRP_GEMTSU0_0, |
| PINCTRL_GRP_GEMTSU0_1, |
| PINCTRL_GRP_GEMTSU0_2, |
| PINCTRL_GRP_MDIO0_0, |
| PINCTRL_GRP_MDIO1_0, |
| PINCTRL_GRP_MDIO1_1, |
| PINCTRL_GRP_MDIO2_0, |
| PINCTRL_GRP_MDIO3_0, |
| PINCTRL_GRP_QSPI0_0, |
| PINCTRL_GRP_QSPI_SS, |
| PINCTRL_GRP_QSPI_FBCLK, |
| PINCTRL_GRP_SPI0_0, |
| PINCTRL_GRP_SPI0_0_SS0, |
| PINCTRL_GRP_SPI0_0_SS1, |
| PINCTRL_GRP_SPI0_0_SS2, |
| PINCTRL_GRP_SPI0_1, |
| PINCTRL_GRP_SPI0_1_SS0, |
| PINCTRL_GRP_SPI0_1_SS1, |
| PINCTRL_GRP_SPI0_1_SS2, |
| PINCTRL_GRP_SPI0_2, |
| PINCTRL_GRP_SPI0_2_SS0, |
| PINCTRL_GRP_SPI0_2_SS1, |
| PINCTRL_GRP_SPI0_2_SS2, |
| PINCTRL_GRP_SPI0_3, |
| PINCTRL_GRP_SPI0_3_SS0, |
| PINCTRL_GRP_SPI0_3_SS1, |
| PINCTRL_GRP_SPI0_3_SS2, |
| PINCTRL_GRP_SPI0_4, |
| PINCTRL_GRP_SPI0_4_SS0, |
| PINCTRL_GRP_SPI0_4_SS1, |
| PINCTRL_GRP_SPI0_4_SS2, |
| PINCTRL_GRP_SPI0_5, |
| PINCTRL_GRP_SPI0_5_SS0, |
| PINCTRL_GRP_SPI0_5_SS1, |
| PINCTRL_GRP_SPI0_5_SS2, |
| PINCTRL_GRP_SPI1_0, |
| PINCTRL_GRP_SPI1_0_SS0, |
| PINCTRL_GRP_SPI1_0_SS1, |
| PINCTRL_GRP_SPI1_0_SS2, |
| PINCTRL_GRP_SPI1_1, |
| PINCTRL_GRP_SPI1_1_SS0, |
| PINCTRL_GRP_SPI1_1_SS1, |
| PINCTRL_GRP_SPI1_1_SS2, |
| PINCTRL_GRP_SPI1_2, |
| PINCTRL_GRP_SPI1_2_SS0, |
| PINCTRL_GRP_SPI1_2_SS1, |
| PINCTRL_GRP_SPI1_2_SS2, |
| PINCTRL_GRP_SPI1_3, |
| PINCTRL_GRP_SPI1_3_SS0, |
| PINCTRL_GRP_SPI1_3_SS1, |
| PINCTRL_GRP_SPI1_3_SS2, |
| PINCTRL_GRP_SPI1_4, |
| PINCTRL_GRP_SPI1_4_SS0, |
| PINCTRL_GRP_SPI1_4_SS1, |
| PINCTRL_GRP_SPI1_4_SS2, |
| PINCTRL_GRP_SPI1_5, |
| PINCTRL_GRP_SPI1_5_SS0, |
| PINCTRL_GRP_SPI1_5_SS1, |
| PINCTRL_GRP_SPI1_5_SS2, |
| PINCTRL_GRP_SDIO0_0, |
| PINCTRL_GRP_SDIO0_1, |
| PINCTRL_GRP_SDIO0_2, |
| PINCTRL_GRP_SDIO0_4BIT_0_0, |
| PINCTRL_GRP_SDIO0_4BIT_0_1, |
| PINCTRL_GRP_SDIO0_4BIT_1_0, |
| PINCTRL_GRP_SDIO0_4BIT_1_1, |
| PINCTRL_GRP_SDIO0_4BIT_2_0, |
| PINCTRL_GRP_SDIO0_4BIT_2_1, |
| PINCTRL_GRP_SDIO0_1BIT_0_0, |
| PINCTRL_GRP_SDIO0_1BIT_0_1, |
| PINCTRL_GRP_SDIO0_1BIT_0_2, |
| PINCTRL_GRP_SDIO0_1BIT_0_3, |
| PINCTRL_GRP_SDIO0_1BIT_0_4, |
| PINCTRL_GRP_SDIO0_1BIT_0_5, |
| PINCTRL_GRP_SDIO0_1BIT_0_6, |
| PINCTRL_GRP_SDIO0_1BIT_0_7, |
| PINCTRL_GRP_SDIO0_1BIT_1_0, |
| PINCTRL_GRP_SDIO0_1BIT_1_1, |
| PINCTRL_GRP_SDIO0_1BIT_1_2, |
| PINCTRL_GRP_SDIO0_1BIT_1_3, |
| PINCTRL_GRP_SDIO0_1BIT_1_4, |
| PINCTRL_GRP_SDIO0_1BIT_1_5, |
| PINCTRL_GRP_SDIO0_1BIT_1_6, |
| PINCTRL_GRP_SDIO0_1BIT_1_7, |
| PINCTRL_GRP_SDIO0_1BIT_2_0, |
| PINCTRL_GRP_SDIO0_1BIT_2_1, |
| PINCTRL_GRP_SDIO0_1BIT_2_2, |
| PINCTRL_GRP_SDIO0_1BIT_2_3, |
| PINCTRL_GRP_SDIO0_1BIT_2_4, |
| PINCTRL_GRP_SDIO0_1BIT_2_5, |
| PINCTRL_GRP_SDIO0_1BIT_2_6, |
| PINCTRL_GRP_SDIO0_1BIT_2_7, |
| PINCTRL_GRP_SDIO0_0_PC, |
| PINCTRL_GRP_SDIO0_0_CD, |
| PINCTRL_GRP_SDIO0_0_WP, |
| PINCTRL_GRP_SDIO0_1_PC, |
| PINCTRL_GRP_SDIO0_1_CD, |
| PINCTRL_GRP_SDIO0_1_WP, |
| PINCTRL_GRP_SDIO0_2_PC, |
| PINCTRL_GRP_SDIO0_2_CD, |
| PINCTRL_GRP_SDIO0_2_WP, |
| PINCTRL_GRP_SDIO1_0, |
| PINCTRL_GRP_SDIO1_4BIT_0_0, |
| PINCTRL_GRP_SDIO1_4BIT_0_1, |
| PINCTRL_GRP_SDIO1_4BIT_1_0, |
| PINCTRL_GRP_SDIO1_1BIT_0_0, |
| PINCTRL_GRP_SDIO1_1BIT_0_1, |
| PINCTRL_GRP_SDIO1_1BIT_0_2, |
| PINCTRL_GRP_SDIO1_1BIT_0_3, |
| PINCTRL_GRP_SDIO1_1BIT_0_4, |
| PINCTRL_GRP_SDIO1_1BIT_0_5, |
| PINCTRL_GRP_SDIO1_1BIT_0_6, |
| PINCTRL_GRP_SDIO1_1BIT_0_7, |
| PINCTRL_GRP_SDIO1_1BIT_1_0, |
| PINCTRL_GRP_SDIO1_1BIT_1_1, |
| PINCTRL_GRP_SDIO1_1BIT_1_2, |
| PINCTRL_GRP_SDIO1_1BIT_1_3, |
| PINCTRL_GRP_SDIO1_0_PC, |
| PINCTRL_GRP_SDIO1_0_CD, |
| PINCTRL_GRP_SDIO1_0_WP, |
| PINCTRL_GRP_SDIO1_1_PC, |
| PINCTRL_GRP_SDIO1_1_CD, |
| PINCTRL_GRP_SDIO1_1_WP, |
| PINCTRL_GRP_NAND0_0, |
| PINCTRL_GRP_NAND0_0_CE, |
| PINCTRL_GRP_NAND0_0_RB, |
| PINCTRL_GRP_NAND0_0_DQS, |
| PINCTRL_GRP_NAND0_1_CE, |
| PINCTRL_GRP_NAND0_1_RB, |
| PINCTRL_GRP_NAND0_1_DQS, |
| PINCTRL_GRP_CAN0_0, |
| PINCTRL_GRP_CAN0_1, |
| PINCTRL_GRP_CAN0_2, |
| PINCTRL_GRP_CAN0_3, |
| PINCTRL_GRP_CAN0_4, |
| PINCTRL_GRP_CAN0_5, |
| PINCTRL_GRP_CAN0_6, |
| PINCTRL_GRP_CAN0_7, |
| PINCTRL_GRP_CAN0_8, |
| PINCTRL_GRP_CAN0_9, |
| PINCTRL_GRP_CAN0_10, |
| PINCTRL_GRP_CAN0_11, |
| PINCTRL_GRP_CAN0_12, |
| PINCTRL_GRP_CAN0_13, |
| PINCTRL_GRP_CAN0_14, |
| PINCTRL_GRP_CAN0_15, |
| PINCTRL_GRP_CAN0_16, |
| PINCTRL_GRP_CAN0_17, |
| PINCTRL_GRP_CAN0_18, |
| PINCTRL_GRP_CAN1_0, |
| PINCTRL_GRP_CAN1_1, |
| PINCTRL_GRP_CAN1_2, |
| PINCTRL_GRP_CAN1_3, |
| PINCTRL_GRP_CAN1_4, |
| PINCTRL_GRP_CAN1_5, |
| PINCTRL_GRP_CAN1_6, |
| PINCTRL_GRP_CAN1_7, |
| PINCTRL_GRP_CAN1_8, |
| PINCTRL_GRP_CAN1_9, |
| PINCTRL_GRP_CAN1_10, |
| PINCTRL_GRP_CAN1_11, |
| PINCTRL_GRP_CAN1_12, |
| PINCTRL_GRP_CAN1_13, |
| PINCTRL_GRP_CAN1_14, |
| PINCTRL_GRP_CAN1_15, |
| PINCTRL_GRP_CAN1_16, |
| PINCTRL_GRP_CAN1_17, |
| PINCTRL_GRP_CAN1_18, |
| PINCTRL_GRP_CAN1_19, |
| PINCTRL_GRP_UART0_0, |
| PINCTRL_GRP_UART0_1, |
| PINCTRL_GRP_UART0_2, |
| PINCTRL_GRP_UART0_3, |
| PINCTRL_GRP_UART0_4, |
| PINCTRL_GRP_UART0_5, |
| PINCTRL_GRP_UART0_6, |
| PINCTRL_GRP_UART0_7, |
| PINCTRL_GRP_UART0_8, |
| PINCTRL_GRP_UART0_9, |
| PINCTRL_GRP_UART0_10, |
| PINCTRL_GRP_UART0_11, |
| PINCTRL_GRP_UART0_12, |
| PINCTRL_GRP_UART0_13, |
| PINCTRL_GRP_UART0_14, |
| PINCTRL_GRP_UART0_15, |
| PINCTRL_GRP_UART0_16, |
| PINCTRL_GRP_UART0_17, |
| PINCTRL_GRP_UART0_18, |
| PINCTRL_GRP_UART1_0, |
| PINCTRL_GRP_UART1_1, |
| PINCTRL_GRP_UART1_2, |
| PINCTRL_GRP_UART1_3, |
| PINCTRL_GRP_UART1_4, |
| PINCTRL_GRP_UART1_5, |
| PINCTRL_GRP_UART1_6, |
| PINCTRL_GRP_UART1_7, |
| PINCTRL_GRP_UART1_8, |
| PINCTRL_GRP_UART1_9, |
| PINCTRL_GRP_UART1_10, |
| PINCTRL_GRP_UART1_11, |
| PINCTRL_GRP_UART1_12, |
| PINCTRL_GRP_UART1_13, |
| PINCTRL_GRP_UART1_14, |
| PINCTRL_GRP_UART1_15, |
| PINCTRL_GRP_UART1_16, |
| PINCTRL_GRP_UART1_17, |
| PINCTRL_GRP_UART1_18, |
| PINCTRL_GRP_I2C0_0, |
| PINCTRL_GRP_I2C0_1, |
| PINCTRL_GRP_I2C0_2, |
| PINCTRL_GRP_I2C0_3, |
| PINCTRL_GRP_I2C0_4, |
| PINCTRL_GRP_I2C0_5, |
| PINCTRL_GRP_I2C0_6, |
| PINCTRL_GRP_I2C0_7, |
| PINCTRL_GRP_I2C0_8, |
| PINCTRL_GRP_I2C0_9, |
| PINCTRL_GRP_I2C0_10, |
| PINCTRL_GRP_I2C0_11, |
| PINCTRL_GRP_I2C0_12, |
| PINCTRL_GRP_I2C0_13, |
| PINCTRL_GRP_I2C0_14, |
| PINCTRL_GRP_I2C0_15, |
| PINCTRL_GRP_I2C0_16, |
| PINCTRL_GRP_I2C0_17, |
| PINCTRL_GRP_I2C0_18, |
| PINCTRL_GRP_I2C1_0, |
| PINCTRL_GRP_I2C1_1, |
| PINCTRL_GRP_I2C1_2, |
| PINCTRL_GRP_I2C1_3, |
| PINCTRL_GRP_I2C1_4, |
| PINCTRL_GRP_I2C1_5, |
| PINCTRL_GRP_I2C1_6, |
| PINCTRL_GRP_I2C1_7, |
| PINCTRL_GRP_I2C1_8, |
| PINCTRL_GRP_I2C1_9, |
| PINCTRL_GRP_I2C1_10, |
| PINCTRL_GRP_I2C1_11, |
| PINCTRL_GRP_I2C1_12, |
| PINCTRL_GRP_I2C1_13, |
| PINCTRL_GRP_I2C1_14, |
| PINCTRL_GRP_I2C1_15, |
| PINCTRL_GRP_I2C1_16, |
| PINCTRL_GRP_I2C1_17, |
| PINCTRL_GRP_I2C1_18, |
| PINCTRL_GRP_I2C1_19, |
| PINCTRL_GRP_TTC0_0_CLK, |
| PINCTRL_GRP_TTC0_0_WAV, |
| PINCTRL_GRP_TTC0_1_CLK, |
| PINCTRL_GRP_TTC0_1_WAV, |
| PINCTRL_GRP_TTC0_2_CLK, |
| PINCTRL_GRP_TTC0_2_WAV, |
| PINCTRL_GRP_TTC0_3_CLK, |
| PINCTRL_GRP_TTC0_3_WAV, |
| PINCTRL_GRP_TTC0_4_CLK, |
| PINCTRL_GRP_TTC0_4_WAV, |
| PINCTRL_GRP_TTC0_5_CLK, |
| PINCTRL_GRP_TTC0_5_WAV, |
| PINCTRL_GRP_TTC0_6_CLK, |
| PINCTRL_GRP_TTC0_6_WAV, |
| PINCTRL_GRP_TTC0_7_CLK, |
| PINCTRL_GRP_TTC0_7_WAV, |
| PINCTRL_GRP_TTC0_8_CLK, |
| PINCTRL_GRP_TTC0_8_WAV, |
| PINCTRL_GRP_TTC1_0_CLK, |
| PINCTRL_GRP_TTC1_0_WAV, |
| PINCTRL_GRP_TTC1_1_CLK, |
| PINCTRL_GRP_TTC1_1_WAV, |
| PINCTRL_GRP_TTC1_2_CLK, |
| PINCTRL_GRP_TTC1_2_WAV, |
| PINCTRL_GRP_TTC1_3_CLK, |
| PINCTRL_GRP_TTC1_3_WAV, |
| PINCTRL_GRP_TTC1_4_CLK, |
| PINCTRL_GRP_TTC1_4_WAV, |
| PINCTRL_GRP_TTC1_5_CLK, |
| PINCTRL_GRP_TTC1_5_WAV, |
| PINCTRL_GRP_TTC1_6_CLK, |
| PINCTRL_GRP_TTC1_6_WAV, |
| PINCTRL_GRP_TTC1_7_CLK, |
| PINCTRL_GRP_TTC1_7_WAV, |
| PINCTRL_GRP_TTC1_8_CLK, |
| PINCTRL_GRP_TTC1_8_WAV, |
| PINCTRL_GRP_TTC2_0_CLK, |
| PINCTRL_GRP_TTC2_0_WAV, |
| PINCTRL_GRP_TTC2_1_CLK, |
| PINCTRL_GRP_TTC2_1_WAV, |
| PINCTRL_GRP_TTC2_2_CLK, |
| PINCTRL_GRP_TTC2_2_WAV, |
| PINCTRL_GRP_TTC2_3_CLK, |
| PINCTRL_GRP_TTC2_3_WAV, |
| PINCTRL_GRP_TTC2_4_CLK, |
| PINCTRL_GRP_TTC2_4_WAV, |
| PINCTRL_GRP_TTC2_5_CLK, |
| PINCTRL_GRP_TTC2_5_WAV, |
| PINCTRL_GRP_TTC2_6_CLK, |
| PINCTRL_GRP_TTC2_6_WAV, |
| PINCTRL_GRP_TTC2_7_CLK, |
| PINCTRL_GRP_TTC2_7_WAV, |
| PINCTRL_GRP_TTC2_8_CLK, |
| PINCTRL_GRP_TTC2_8_WAV, |
| PINCTRL_GRP_TTC3_0_CLK, |
| PINCTRL_GRP_TTC3_0_WAV, |
| PINCTRL_GRP_TTC3_1_CLK, |
| PINCTRL_GRP_TTC3_1_WAV, |
| PINCTRL_GRP_TTC3_2_CLK, |
| PINCTRL_GRP_TTC3_2_WAV, |
| PINCTRL_GRP_TTC3_3_CLK, |
| PINCTRL_GRP_TTC3_3_WAV, |
| PINCTRL_GRP_TTC3_4_CLK, |
| PINCTRL_GRP_TTC3_4_WAV, |
| PINCTRL_GRP_TTC3_5_CLK, |
| PINCTRL_GRP_TTC3_5_WAV, |
| PINCTRL_GRP_TTC3_6_CLK, |
| PINCTRL_GRP_TTC3_6_WAV, |
| PINCTRL_GRP_TTC3_7_CLK, |
| PINCTRL_GRP_TTC3_7_WAV, |
| PINCTRL_GRP_TTC3_8_CLK, |
| PINCTRL_GRP_TTC3_8_WAV, |
| PINCTRL_GRP_SWDT0_0_CLK, |
| PINCTRL_GRP_SWDT0_0_RST, |
| PINCTRL_GRP_SWDT0_1_CLK, |
| PINCTRL_GRP_SWDT0_1_RST, |
| PINCTRL_GRP_SWDT0_2_CLK, |
| PINCTRL_GRP_SWDT0_2_RST, |
| PINCTRL_GRP_SWDT0_3_CLK, |
| PINCTRL_GRP_SWDT0_3_RST, |
| PINCTRL_GRP_SWDT0_4_CLK, |
| PINCTRL_GRP_SWDT0_4_RST, |
| PINCTRL_GRP_SWDT0_5_CLK, |
| PINCTRL_GRP_SWDT0_5_RST, |
| PINCTRL_GRP_SWDT0_6_CLK, |
| PINCTRL_GRP_SWDT0_6_RST, |
| PINCTRL_GRP_SWDT0_7_CLK, |
| PINCTRL_GRP_SWDT0_7_RST, |
| PINCTRL_GRP_SWDT0_8_CLK, |
| PINCTRL_GRP_SWDT0_8_RST, |
| PINCTRL_GRP_SWDT0_9_CLK, |
| PINCTRL_GRP_SWDT0_9_RST, |
| PINCTRL_GRP_SWDT0_10_CLK, |
| PINCTRL_GRP_SWDT0_10_RST, |
| PINCTRL_GRP_SWDT0_11_CLK, |
| PINCTRL_GRP_SWDT0_11_RST, |
| PINCTRL_GRP_SWDT0_12_CLK, |
| PINCTRL_GRP_SWDT0_12_RST, |
| PINCTRL_GRP_SWDT1_0_CLK, |
| PINCTRL_GRP_SWDT1_0_RST, |
| PINCTRL_GRP_SWDT1_1_CLK, |
| PINCTRL_GRP_SWDT1_1_RST, |
| PINCTRL_GRP_SWDT1_2_CLK, |
| PINCTRL_GRP_SWDT1_2_RST, |
| PINCTRL_GRP_SWDT1_3_CLK, |
| PINCTRL_GRP_SWDT1_3_RST, |
| PINCTRL_GRP_SWDT1_4_CLK, |
| PINCTRL_GRP_SWDT1_4_RST, |
| PINCTRL_GRP_SWDT1_5_CLK, |
| PINCTRL_GRP_SWDT1_5_RST, |
| PINCTRL_GRP_SWDT1_6_CLK, |
| PINCTRL_GRP_SWDT1_6_RST, |
| PINCTRL_GRP_SWDT1_7_CLK, |
| PINCTRL_GRP_SWDT1_7_RST, |
| PINCTRL_GRP_SWDT1_8_CLK, |
| PINCTRL_GRP_SWDT1_8_RST, |
| PINCTRL_GRP_SWDT1_9_CLK, |
| PINCTRL_GRP_SWDT1_9_RST, |
| PINCTRL_GRP_SWDT1_10_CLK, |
| PINCTRL_GRP_SWDT1_10_RST, |
| PINCTRL_GRP_SWDT1_11_CLK, |
| PINCTRL_GRP_SWDT1_11_RST, |
| PINCTRL_GRP_SWDT1_12_CLK, |
| PINCTRL_GRP_SWDT1_12_RST, |
| PINCTRL_GRP_GPIO0_0, |
| PINCTRL_GRP_GPIO0_1, |
| PINCTRL_GRP_GPIO0_2, |
| PINCTRL_GRP_GPIO0_3, |
| PINCTRL_GRP_GPIO0_4, |
| PINCTRL_GRP_GPIO0_5, |
| PINCTRL_GRP_GPIO0_6, |
| PINCTRL_GRP_GPIO0_7, |
| PINCTRL_GRP_GPIO0_8, |
| PINCTRL_GRP_GPIO0_9, |
| PINCTRL_GRP_GPIO0_10, |
| PINCTRL_GRP_GPIO0_11, |
| PINCTRL_GRP_GPIO0_12, |
| PINCTRL_GRP_GPIO0_13, |
| PINCTRL_GRP_GPIO0_14, |
| PINCTRL_GRP_GPIO0_15, |
| PINCTRL_GRP_GPIO0_16, |
| PINCTRL_GRP_GPIO0_17, |
| PINCTRL_GRP_GPIO0_18, |
| PINCTRL_GRP_GPIO0_19, |
| PINCTRL_GRP_GPIO0_20, |
| PINCTRL_GRP_GPIO0_21, |
| PINCTRL_GRP_GPIO0_22, |
| PINCTRL_GRP_GPIO0_23, |
| PINCTRL_GRP_GPIO0_24, |
| PINCTRL_GRP_GPIO0_25, |
| PINCTRL_GRP_GPIO0_26, |
| PINCTRL_GRP_GPIO0_27, |
| PINCTRL_GRP_GPIO0_28, |
| PINCTRL_GRP_GPIO0_29, |
| PINCTRL_GRP_GPIO0_30, |
| PINCTRL_GRP_GPIO0_31, |
| PINCTRL_GRP_GPIO0_32, |
| PINCTRL_GRP_GPIO0_33, |
| PINCTRL_GRP_GPIO0_34, |
| PINCTRL_GRP_GPIO0_35, |
| PINCTRL_GRP_GPIO0_36, |
| PINCTRL_GRP_GPIO0_37, |
| PINCTRL_GRP_GPIO0_38, |
| PINCTRL_GRP_GPIO0_39, |
| PINCTRL_GRP_GPIO0_40, |
| PINCTRL_GRP_GPIO0_41, |
| PINCTRL_GRP_GPIO0_42, |
| PINCTRL_GRP_GPIO0_43, |
| PINCTRL_GRP_GPIO0_44, |
| PINCTRL_GRP_GPIO0_45, |
| PINCTRL_GRP_GPIO0_46, |
| PINCTRL_GRP_GPIO0_47, |
| PINCTRL_GRP_GPIO0_48, |
| PINCTRL_GRP_GPIO0_49, |
| PINCTRL_GRP_GPIO0_50, |
| PINCTRL_GRP_GPIO0_51, |
| PINCTRL_GRP_GPIO0_52, |
| PINCTRL_GRP_GPIO0_53, |
| PINCTRL_GRP_GPIO0_54, |
| PINCTRL_GRP_GPIO0_55, |
| PINCTRL_GRP_GPIO0_56, |
| PINCTRL_GRP_GPIO0_57, |
| PINCTRL_GRP_GPIO0_58, |
| PINCTRL_GRP_GPIO0_59, |
| PINCTRL_GRP_GPIO0_60, |
| PINCTRL_GRP_GPIO0_61, |
| PINCTRL_GRP_GPIO0_62, |
| PINCTRL_GRP_GPIO0_63, |
| PINCTRL_GRP_GPIO0_64, |
| PINCTRL_GRP_GPIO0_65, |
| PINCTRL_GRP_GPIO0_66, |
| PINCTRL_GRP_GPIO0_67, |
| PINCTRL_GRP_GPIO0_68, |
| PINCTRL_GRP_GPIO0_69, |
| PINCTRL_GRP_GPIO0_70, |
| PINCTRL_GRP_GPIO0_71, |
| PINCTRL_GRP_GPIO0_72, |
| PINCTRL_GRP_GPIO0_73, |
| PINCTRL_GRP_GPIO0_74, |
| PINCTRL_GRP_GPIO0_75, |
| PINCTRL_GRP_GPIO0_76, |
| PINCTRL_GRP_GPIO0_77, |
| PINCTRL_GRP_USB0_0, |
| PINCTRL_GRP_USB1_0, |
| PINCTRL_GRP_PMU0_0, |
| PINCTRL_GRP_PMU0_1, |
| PINCTRL_GRP_PMU0_2, |
| PINCTRL_GRP_PMU0_3, |
| PINCTRL_GRP_PMU0_4, |
| PINCTRL_GRP_PMU0_5, |
| PINCTRL_GRP_PMU0_6, |
| PINCTRL_GRP_PMU0_7, |
| PINCTRL_GRP_PMU0_8, |
| PINCTRL_GRP_PMU0_9, |
| PINCTRL_GRP_PMU0_10, |
| PINCTRL_GRP_PMU0_11, |
| PINCTRL_GRP_PCIE0_0, |
| PINCTRL_GRP_PCIE0_1, |
| PINCTRL_GRP_PCIE0_2, |
| PINCTRL_GRP_PCIE0_3, |
| PINCTRL_GRP_PCIE0_4, |
| PINCTRL_GRP_PCIE0_5, |
| PINCTRL_GRP_PCIE0_6, |
| PINCTRL_GRP_PCIE0_7, |
| PINCTRL_GRP_CSU0_0, |
| PINCTRL_GRP_CSU0_1, |
| PINCTRL_GRP_CSU0_2, |
| PINCTRL_GRP_CSU0_3, |
| PINCTRL_GRP_CSU0_4, |
| PINCTRL_GRP_CSU0_5, |
| PINCTRL_GRP_CSU0_6, |
| PINCTRL_GRP_CSU0_7, |
| PINCTRL_GRP_CSU0_8, |
| PINCTRL_GRP_CSU0_9, |
| PINCTRL_GRP_CSU0_10, |
| PINCTRL_GRP_CSU0_11, |
| PINCTRL_GRP_DPAUX0_0, |
| PINCTRL_GRP_DPAUX0_1, |
| PINCTRL_GRP_DPAUX0_2, |
| PINCTRL_GRP_DPAUX0_3, |
| PINCTRL_GRP_PJTAG0_0, |
| PINCTRL_GRP_PJTAG0_1, |
| PINCTRL_GRP_PJTAG0_2, |
| PINCTRL_GRP_PJTAG0_3, |
| PINCTRL_GRP_PJTAG0_4, |
| PINCTRL_GRP_PJTAG0_5, |
| PINCTRL_GRP_TRACE0_0, |
| PINCTRL_GRP_TRACE0_0_CLK, |
| PINCTRL_GRP_TRACE0_1, |
| PINCTRL_GRP_TRACE0_1_CLK, |
| PINCTRL_GRP_TRACE0_2, |
| PINCTRL_GRP_TRACE0_2_CLK, |
| PINCTRL_GRP_TESTSCAN0_0, |
| }; |
| |
| // pinctrl config parameters |
| enum { |
| PINCTRL_CONFIG_SLEW_RATE, |
| PINCTRL_CONFIG_BIAS_STATUS, |
| PINCTRL_CONFIG_PULL_CTRL, |
| PINCTRL_CONFIG_SCHMITT_CMOS, |
| PINCTRL_CONFIG_DRIVE_STRENGTH, |
| PINCTRL_CONFIG_VOLTAGE_STATUS, |
| PINCTRL_CONFIG_MAX, |
| }; |
| |
| // pinctrl slew rate |
| #define PINCTRL_SLEW_RATE_FAST 0U |
| #define PINCTRL_SLEW_RATE_SLOW 1U |
| |
| // pinctrl bias status |
| #define PINCTRL_BIAS_DISABLE 0U |
| #define PINCTRL_BIAS_ENABLE 1U |
| |
| // pinctrl pull control |
| #define PINCTRL_BIAS_PULL_DOWN 0U |
| #define PINCTRL_BIAS_PULL_UP 1U |
| |
| // pinctrl schmitt cmos type |
| #define PINCTRL_INPUT_TYPE_CMOS 0U |
| #define PINCTRL_INPUT_TYPE_SCHMITT 1U |
| |
| //pinctrl drive strength values |
| #define PINCTRL_DRIVE_STRENGTH_2MA 0U |
| #define PINCTRL_DRIVE_STRENGTH_4MA 1U |
| #define PINCTRL_DRIVE_STRENGTH_8MA 2U |
| #define PINCTRL_DRIVE_STRENGTH_12MA 3U |
| |
| enum pm_ret_status pm_api_pinctrl_set_function(unsigned int pin, |
| unsigned int fid); |
| enum pm_ret_status pm_api_pinctrl_get_function(unsigned int pin, |
| unsigned int *id); |
| enum pm_ret_status pm_api_pinctrl_set_config(unsigned int pin, |
| unsigned int param, |
| unsigned int value); |
| enum pm_ret_status pm_api_pinctrl_get_config(unsigned int pin, |
| unsigned int param, |
| unsigned int *value); |
| enum pm_ret_status pm_api_pinctrl_get_function_name(unsigned int fid, |
| char *name); |
| enum pm_ret_status pm_api_pinctrl_get_function_groups(unsigned int fid, |
| unsigned int index, |
| uint16_t *groups); |
| enum pm_ret_status pm_api_pinctrl_get_pin_groups(unsigned int pin, |
| unsigned int index, |
| uint16_t *groups); |
| enum pm_ret_status pm_api_pinctrl_get_num_pins(unsigned int *npins); |
| enum pm_ret_status pm_api_pinctrl_get_num_functions(unsigned int *nfuncs); |
| enum pm_ret_status pm_api_pinctrl_get_num_func_groups(unsigned int fid, |
| unsigned int *ngroups); |
| #endif /* _PM_API_PINCTRL_H_ */ |