cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig (15135B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2#
      3# PINCTRL infrastructure and drivers
      4#
      5
      6menuconfig PINCTRL
      7	bool "Pin controllers"
      8
      9if PINCTRL
     10
     11config GENERIC_PINCTRL_GROUPS
     12	bool
     13
     14config PINMUX
     15	bool "Support pin multiplexing controllers" if COMPILE_TEST
     16
     17config GENERIC_PINMUX_FUNCTIONS
     18	bool
     19	select PINMUX
     20
     21config PINCONF
     22	bool "Support pin configuration controllers" if COMPILE_TEST
     23
     24config GENERIC_PINCONF
     25	bool
     26	select PINCONF
     27
     28config DEBUG_PINCTRL
     29	bool "Debug PINCTRL calls"
     30	depends on DEBUG_KERNEL
     31	help
     32	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
     33
     34config PINCTRL_AMD
     35	tristate "AMD GPIO pin control"
     36	depends on HAS_IOMEM
     37	depends on ACPI || COMPILE_TEST
     38	select GPIOLIB
     39	select GPIOLIB_IRQCHIP
     40	select PINMUX
     41	select PINCONF
     42	select GENERIC_PINCONF
     43	help
     44	  The driver for memory mapped GPIO functionality on AMD platforms
     45	  (x86 or arm). Most of the pins are usually muxed to some other
     46	  functionality by firmware, so only a small amount is available
     47	  for GPIO use.
     48
     49	  Requires ACPI/FDT device enumeration code to set up a platform
     50	  device.
     51
     52config PINCTRL_APPLE_GPIO
     53	tristate "Apple SoC GPIO pin controller driver"
     54	depends on ARCH_APPLE
     55	select PINMUX
     56	select GPIOLIB
     57	select GPIOLIB_IRQCHIP
     58	select GENERIC_PINCTRL_GROUPS
     59	select GENERIC_PINMUX_FUNCTIONS
     60	select OF_GPIO
     61	help
     62	  This is the driver for the GPIO controller found on Apple ARM SoCs,
     63	  including M1.
     64
     65	  This driver can also be built as a module. If so, the module
     66	  will be called pinctrl-apple-gpio.
     67
     68config PINCTRL_ARTPEC6
     69	bool "Axis ARTPEC-6 pin controller driver"
     70	depends on MACH_ARTPEC6
     71	select PINMUX
     72	select GENERIC_PINCONF
     73	help
     74	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
     75	  supports pin function multiplexing as well as pin bias and drive
     76	  strength configuration. Device tree integration instructions can be
     77	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
     78
     79config PINCTRL_AS3722
     80	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
     81	depends on MFD_AS3722 && GPIOLIB
     82	select PINMUX
     83	select GENERIC_PINCONF
     84	help
     85	  AS3722 device supports the configuration of GPIO pins for different
     86	  functionality. This driver supports the pinmux, push-pull and
     87	  open drain configuration for the GPIO pins of AS3722 devices. It also
     88	  supports the GPIO functionality through gpiolib.
     89
     90config PINCTRL_AT91
     91	bool "AT91 pinctrl driver"
     92	depends on OF
     93	depends on ARCH_AT91
     94	select PINMUX
     95	select PINCONF
     96	select GPIOLIB
     97	select OF_GPIO
     98	select GPIOLIB_IRQCHIP
     99	help
    100	  Say Y here to enable the at91 pinctrl driver
    101
    102config PINCTRL_AT91PIO4
    103	bool "AT91 PIO4 pinctrl driver"
    104	depends on OF
    105	depends on HAS_IOMEM
    106	depends on ARCH_AT91 || COMPILE_TEST
    107	select PINMUX
    108	select GENERIC_PINCONF
    109	select GPIOLIB
    110	select GPIOLIB_IRQCHIP
    111	select OF_GPIO
    112	help
    113	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
    114	  controller available on sama5d2 SoC.
    115
    116config PINCTRL_AXP209
    117	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
    118	depends on MFD_AXP20X
    119	depends on OF
    120	select PINMUX
    121	select GENERIC_PINCONF
    122	select GPIOLIB
    123	help
    124	  AXP PMICs provides multiple GPIOs that can be muxed for different
    125	  functions. This driver bundles a pinctrl driver to select the function
    126	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
    127	  selected.
    128	  Say Y to enable pinctrl and GPIO support for the AXP209 PMIC.
    129
    130config PINCTRL_BM1880
    131	bool "Bitmain BM1880 Pinctrl driver"
    132	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
    133	default ARCH_BITMAIN
    134	select PINMUX
    135	help
    136	  Pinctrl driver for Bitmain BM1880 SoC.
    137
    138config PINCTRL_DA850_PUPD
    139	tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups"
    140	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
    141	select PINCONF
    142	select GENERIC_PINCONF
    143	help
    144	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
    145	  pull-up and pull-down pin groups.
    146
    147config PINCTRL_DA9062
    148	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
    149	depends on MFD_DA9062
    150	select GPIOLIB
    151	help
    152	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
    153	  different functions. This driver bundles a pinctrl driver to select the
    154	  function muxing and a GPIO driver to handle the GPIO when the GPIO
    155	  function is selected.
    156
    157	  Say Y to enable pinctrl and GPIO support for the DA9062 PMIC.
    158
    159config PINCTRL_DIGICOLOR
    160	bool
    161	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
    162	select PINMUX
    163	select GENERIC_PINCONF
    164
    165config PINCTRL_EQUILIBRIUM
    166	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
    167	depends on OF && HAS_IOMEM
    168	depends on X86 || COMPILE_TEST
    169	select PINMUX
    170	select PINCONF
    171	select GPIOLIB
    172	select GPIO_GENERIC
    173	select GPIOLIB_IRQCHIP
    174	select GENERIC_PINCONF
    175	select GENERIC_PINCTRL_GROUPS
    176	select GENERIC_PINMUX_FUNCTIONS
    177	help
    178	  Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
    179	  Mountain network processor SoC that supports both the GPIO and pin
    180	  control frameworks. It provides interfaces to setup pin muxing, assign
    181	  desired pin functions, configure GPIO attributes for LGM SoC pins.
    182	  Pin muxing and pin config settings are retrieved from device tree.
    183
    184config PINCTRL_GEMINI
    185	bool
    186	depends on ARCH_GEMINI
    187	default ARCH_GEMINI
    188	select PINMUX
    189	select GENERIC_PINCONF
    190	select MFD_SYSCON
    191
    192config PINCTRL_INGENIC
    193	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
    194	default MACH_INGENIC
    195	depends on OF
    196	depends on MIPS || COMPILE_TEST
    197	select GENERIC_PINCONF
    198	select GENERIC_PINCTRL_GROUPS
    199	select GENERIC_PINMUX_FUNCTIONS
    200	select GPIOLIB
    201	select GPIOLIB_IRQCHIP
    202	select REGMAP_MMIO
    203
    204config PINCTRL_K210
    205	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
    206	depends on RISCV && SOC_CANAAN && OF
    207	select GENERIC_PINMUX_FUNCTIONS
    208	select GENERIC_PINCONF
    209	select GPIOLIB
    210	select OF_GPIO
    211	select REGMAP_MMIO
    212	default SOC_CANAAN
    213	help
    214	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
    215	  Programmable IO Array (FPIOA) controller.
    216
    217config PINCTRL_KEEMBAY
    218	tristate "Pinctrl driver for Intel Keem Bay SoC"
    219	depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
    220	depends on HAS_IOMEM
    221	select PINMUX
    222	select PINCONF
    223	select GENERIC_PINCONF
    224	select GENERIC_PINCTRL_GROUPS
    225	select GENERIC_PINMUX_FUNCTIONS
    226	select GPIOLIB
    227	select GPIOLIB_IRQCHIP
    228	select GPIO_GENERIC
    229	help
    230	  This selects pin control driver for the Intel Keem Bay SoC.
    231	  It provides pin config functions such as pull-up, pull-down,
    232	  interrupt, drive strength, sec lock, Schmitt trigger, slew
    233	  rate control and direction control. This module will be
    234	  called as pinctrl-keembay.
    235
    236config PINCTRL_LANTIQ
    237	bool
    238	depends on LANTIQ
    239	select PINMUX
    240	select PINCONF
    241
    242config PINCTRL_FALCON
    243	bool
    244	depends on SOC_FALCON
    245	depends on PINCTRL_LANTIQ
    246
    247config PINCTRL_XWAY
    248	bool
    249	depends on SOC_TYPE_XWAY
    250	depends on PINCTRL_LANTIQ
    251
    252config PINCTRL_LPC18XX
    253	bool "NXP LPC18XX/43XX SCU pinctrl driver"
    254	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
    255	default ARCH_LPC18XX
    256	select PINMUX
    257	select GENERIC_PINCONF
    258	help
    259	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
    260
    261config PINCTRL_MAX77620
    262	tristate "MAX77620/MAX20024 Pincontrol support"
    263	depends on MFD_MAX77620 && OF
    264	select PINMUX
    265	select GENERIC_PINCONF
    266	help
    267	  Say Y here to enable Pin control support for Maxim MAX77620 PMIC.
    268	  This PMIC has 8 GPIO pins that work as GPIO as well as special
    269	  function in alternate mode. This driver also configure push-pull,
    270	  open drain, FPS slots etc.
    271
    272config PINCTRL_MCP23S08_I2C
    273	tristate
    274	select REGMAP_I2C
    275
    276config PINCTRL_MCP23S08_SPI
    277	tristate
    278	select REGMAP_SPI
    279
    280config PINCTRL_MCP23S08
    281	tristate "Microchip MCP23xxx I/O expander"
    282	depends on SPI_MASTER || I2C
    283	select GPIOLIB
    284	select GPIOLIB_IRQCHIP
    285	select GENERIC_PINCONF
    286	select PINCTRL_MCP23S08_I2C if I2C
    287	select PINCTRL_MCP23S08_SPI if SPI_MASTER
    288	help
    289	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
    290	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
    291	  This provides a GPIO interface supporting inputs and outputs and a
    292	  corresponding interrupt-controller.
    293
    294config PINCTRL_MICROCHIP_SGPIO
    295	bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
    296	depends on OF
    297	depends on HAS_IOMEM
    298	select GPIOLIB
    299	select GPIOLIB_IRQCHIP
    300	select GENERIC_PINCONF
    301	select GENERIC_PINCTRL_GROUPS
    302	select GENERIC_PINMUX_FUNCTIONS
    303	select OF_GPIO
    304	help
    305	  Support for the serial GPIO interface used on Microsemi and
    306	  Microchip SoCs. By using a serial interface, the SIO
    307	  controller significantly extends the number of available
    308	  GPIOs with a minimum number of additional pins on the
    309	  device. The primary purpose of the SIO controller is to
    310	  connect control signals from SFP modules and to act as an
    311	  LED controller.
    312
    313config PINCTRL_OCELOT
    314	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
    315	depends on OF
    316	depends on HAS_IOMEM
    317	select GPIOLIB
    318	select GPIOLIB_IRQCHIP
    319	select GENERIC_PINCONF
    320	select GENERIC_PINCTRL_GROUPS
    321	select GENERIC_PINMUX_FUNCTIONS
    322	select OF_GPIO
    323	select REGMAP_MMIO
    324
    325config PINCTRL_OXNAS
    326	bool
    327	depends on OF
    328	select PINMUX
    329	select PINCONF
    330	select GENERIC_PINCONF
    331	select GPIOLIB
    332	select OF_GPIO
    333	select GPIOLIB_IRQCHIP
    334	select MFD_SYSCON
    335
    336config PINCTRL_PALMAS
    337	tristate "Pinctrl driver for the PALMAS Series MFD devices"
    338	depends on OF && MFD_PALMAS
    339	select PINMUX
    340	select GENERIC_PINCONF
    341	help
    342	  Palmas device supports the configuration of pins for different
    343	  functionality. This driver supports the pinmux, push-pull and
    344	  open drain configuration for the Palmas series devices like
    345	  TPS65913, TPS80036 etc.
    346
    347config PINCTRL_PIC32
    348	bool "Microchip PIC32 pin controller driver"
    349	depends on OF
    350	depends on MACH_PIC32
    351	select PINMUX
    352	select GENERIC_PINCONF
    353	select GPIOLIB_IRQCHIP
    354	select OF_GPIO
    355	help
    356	  This is the pin controller and gpio driver for Microchip PIC32
    357	  microcontrollers. This option is selected automatically when specific
    358	  machine and arch are selected to build.
    359
    360config PINCTRL_PIC32MZDA
    361	def_bool y if PIC32MZDA
    362	select PINCTRL_PIC32
    363
    364config PINCTRL_PISTACHIO
    365	bool "IMG Pistachio SoC pinctrl driver"
    366	depends on OF && (MIPS || COMPILE_TEST)
    367	depends on GPIOLIB
    368	select PINMUX
    369	select GENERIC_PINCONF
    370	select GPIOLIB_IRQCHIP
    371	select OF_GPIO
    372	help
    373	  This support pinctrl and GPIO driver for IMG Pistachio SoC.
    374
    375config PINCTRL_RK805
    376	tristate "Pinctrl and GPIO driver for RK805 PMIC"
    377	depends on MFD_RK808
    378	select GPIOLIB
    379	select PINMUX
    380	select GENERIC_PINCONF
    381	help
    382	  This selects the pinctrl driver for RK805.
    383
    384config PINCTRL_ROCKCHIP
    385	tristate "Rockchip gpio and pinctrl driver"
    386	depends on ARCH_ROCKCHIP || COMPILE_TEST
    387	depends on OF
    388	select GPIOLIB
    389	select PINMUX
    390	select GENERIC_PINCONF
    391	select GENERIC_IRQ_CHIP
    392	select MFD_SYSCON
    393	select OF_GPIO
    394	default ARCH_ROCKCHIP
    395	help
    396          This support pinctrl and GPIO driver for Rockchip SoCs.
    397
    398config PINCTRL_SINGLE
    399	tristate "One-register-per-pin type device tree based pinctrl driver"
    400	depends on OF
    401	depends on HAS_IOMEM
    402	select GENERIC_PINCTRL_GROUPS
    403	select GENERIC_PINMUX_FUNCTIONS
    404	select GENERIC_PINCONF
    405	help
    406	  This selects the device tree based generic pinctrl driver.
    407
    408config PINCTRL_ST
    409	bool
    410	depends on OF
    411	select PINMUX
    412	select PINCONF
    413	select GPIOLIB_IRQCHIP
    414
    415config PINCTRL_STARFIVE
    416	tristate "Pinctrl and GPIO driver for the StarFive JH7100 SoC"
    417	depends on SOC_STARFIVE || COMPILE_TEST
    418	depends on OF
    419	default SOC_STARFIVE
    420	select GENERIC_PINCTRL_GROUPS
    421	select GENERIC_PINMUX_FUNCTIONS
    422	select GENERIC_PINCONF
    423	select GPIOLIB
    424	select GPIOLIB_IRQCHIP
    425	select OF_GPIO
    426	help
    427	  Say yes here to support pin control on the StarFive JH7100 SoC.
    428	  This also provides an interface to the GPIO pins not used by other
    429	  peripherals supporting inputs, outputs, configuring pull-up/pull-down
    430	  and interrupts on input changes.
    431
    432config PINCTRL_STMFX
    433	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
    434	depends on I2C
    435	depends on OF_GPIO
    436	select GENERIC_PINCONF
    437	select GPIOLIB_IRQCHIP
    438	select MFD_STMFX
    439	help
    440	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
    441	  GPIO expander.
    442	  This provides a GPIO interface supporting inputs and outputs,
    443	  and configuring push-pull, open-drain, and can also be used as
    444	  interrupt-controller.
    445
    446config PINCTRL_SX150X
    447	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
    448	depends on I2C=y
    449	select PINMUX
    450	select PINCONF
    451	select GENERIC_PINCONF
    452	select GPIOLIB
    453	select GPIOLIB_IRQCHIP
    454	select REGMAP
    455	help
    456	  Say Y here to provide support for Semtech SX150x-series I2C
    457	  GPIO expanders as pinctrl module.
    458	  Compatible models include:
    459	  - 8 bits:  sx1508q, sx1502q
    460	  - 16 bits: sx1509q, sx1506q
    461
    462config PINCTRL_TB10X
    463	bool
    464	depends on OF && ARC_PLAT_TB10X
    465	select GPIOLIB
    466
    467config PINCTRL_THUNDERBAY
    468	tristate "Generic pinctrl and GPIO driver for Intel Thunder Bay SoC"
    469	depends on ARCH_THUNDERBAY || (ARM64 && COMPILE_TEST)
    470	depends on HAS_IOMEM
    471	select PINMUX
    472	select PINCONF
    473	select GENERIC_PINCONF
    474	select GENERIC_PINCTRL_GROUPS
    475	select GENERIC_PINMUX_FUNCTIONS
    476	select GPIOLIB
    477	select GPIOLIB_IRQCHIP
    478	select GPIO_GENERIC
    479	help
    480	  This selects pin control driver for the Intel Thunder Bay SoC.
    481	  It provides pin config functions such as pull-up, pull-down,
    482	  interrupt, drive strength, sec lock, Schmitt trigger, slew
    483	  rate control and direction control. This module will be
    484	  called as pinctrl-thunderbay.
    485
    486config PINCTRL_ZYNQ
    487	bool "Pinctrl driver for Xilinx Zynq"
    488	depends on ARCH_ZYNQ
    489	select PINMUX
    490	select GENERIC_PINCONF
    491	help
    492	  This selects the pinctrl driver for Xilinx Zynq.
    493
    494config PINCTRL_ZYNQMP
    495	tristate "Pinctrl driver for Xilinx ZynqMP"
    496	depends on ZYNQMP_FIRMWARE
    497	select PINMUX
    498	select GENERIC_PINCONF
    499	default ZYNQMP_FIRMWARE
    500	help
    501	  This selects the pinctrl driver for Xilinx ZynqMP platform.
    502	  This driver will query the pin information from the firmware
    503	  and allow configuring the pins.
    504	  Configuration can include the mux function to select on those
    505	  pin(s)/group(s), and various pin configuration parameters
    506	  such as pull-up, slew rate, etc.
    507	  This driver can also be built as a module. If so, the module
    508	  will be called pinctrl-zynqmp.
    509
    510source "drivers/pinctrl/actions/Kconfig"
    511source "drivers/pinctrl/aspeed/Kconfig"
    512source "drivers/pinctrl/bcm/Kconfig"
    513source "drivers/pinctrl/berlin/Kconfig"
    514source "drivers/pinctrl/cirrus/Kconfig"
    515source "drivers/pinctrl/freescale/Kconfig"
    516source "drivers/pinctrl/intel/Kconfig"
    517source "drivers/pinctrl/mediatek/Kconfig"
    518source "drivers/pinctrl/meson/Kconfig"
    519source "drivers/pinctrl/mvebu/Kconfig"
    520source "drivers/pinctrl/nomadik/Kconfig"
    521source "drivers/pinctrl/nuvoton/Kconfig"
    522source "drivers/pinctrl/pxa/Kconfig"
    523source "drivers/pinctrl/qcom/Kconfig"
    524source "drivers/pinctrl/ralink/Kconfig"
    525source "drivers/pinctrl/renesas/Kconfig"
    526source "drivers/pinctrl/samsung/Kconfig"
    527source "drivers/pinctrl/spear/Kconfig"
    528source "drivers/pinctrl/sprd/Kconfig"
    529source "drivers/pinctrl/stm32/Kconfig"
    530source "drivers/pinctrl/sunplus/Kconfig"
    531source "drivers/pinctrl/sunxi/Kconfig"
    532source "drivers/pinctrl/tegra/Kconfig"
    533source "drivers/pinctrl/ti/Kconfig"
    534source "drivers/pinctrl/uniphier/Kconfig"
    535source "drivers/pinctrl/visconti/Kconfig"
    536source "drivers/pinctrl/vt8500/Kconfig"
    537
    538endif