735 lines
17 KiB
C
735 lines
17 KiB
C
/*
|
|
* 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 */
|