Skip to content
Snippets Groups Projects
  • Linus Torvalds's avatar
    532c2b92
    Merge tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 532c2b92
    Linus Torvalds authored
    Pull MFD updates from Lee Jones:
     "New Drivers:
       - Add Cirrus Logic Madera Codec (CS47L35, CS47L85 and CS47L90/91) driver
       - Add ChromeOS EC CEC driver
       - Add ROHM BD71837 PMIC driver
    
      New Device Support:
       - Add support for Dialog Semi DA9063L PMIC variant to DA9063
       - Add support for Intel Ice Lake to Intel-PLSS-PCI
       - Add support for X-Powers AXP806 to AXP20x
    
      New Functionality:
       - Add support for USB Charging to the ChromeOS Embedded Controller
       - Add support for HDMI CEC to the ChromeOS Embedded Controller
       - Add support for HDMI CEC to Intel HDMI
       - Add support for accessory detection to Madera devices
       - Allow individual pins to be configured via DT' wlf,csnaddr-pd
       - Provide legacy platform specific EEPROM/Watchdog commands; rave-sp
    
      Fix-upsL
       - Trivial renaming/spelling fixes; cros_ec, da9063-*
       - Convert to Managed Resources (devm_*); da9063-*, ti_am335x_tscadc
       - Transition to helper macros/functions; da9063-*
       - Constify; kempld-core
       - Improve error path/messages; wm8994-core
       - Disable IRQs locally instead of relying on USB subsystem; dln2
       - Remove unused code; rave-sp
       - New exports; sec-core
    
      Bug Fixes:
       - Fix possible false I2C transaction error; arizona-core
       - Fix declared memory area size; hi655x-pmic
       - Fix checksum type; rave-sp
       - Fix incorrect default serial port configuration: rave-sp
       - Fix incorrect coherent DMA mask for sub-devices; sm501"
    
    * tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (60 commits)
      mfd: madera: Add register definitions for accessory detect
      mfd: sm501: Set coherent_dma_mask when creating subdevices
      mfd: bd71837: Devicetree bindings for ROHM BD71837 PMIC
      mfd: bd71837: Core driver for ROHM BD71837 PMIC
      media: platform: cros-ec-cec: Fix dependency on MFD_CROS_EC
      mfd: sec-core: Export OF module alias table
      mfd: as3722: Disable auto-power-on when AC OK
      mfd: axp20x: Support AXP806 in I2C mode
      mfd: axp20x: Add self-working mode support for AXP806
      dt-bindings: mfd: axp20x: Add "self-working" mode for AXP806
      mfd: wm8994: Allow to configure CS/ADDR Pulldown from dts
      mfd: wm8994: Allow to configure Speaker Mode Pullup from dts
      mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it
      mfd: rave-sp: Add legacy watchdog ping command translation
      mfd: rave-sp: Add legacy EEPROM access command translation
      mfd: rave-sp: Initialize flow control and parity of the port
      mfd: rave-sp: Fix incorrectly specified checksum type
      mfd: rave-sp: Remove unused defines
      mfd: hi655x: Fix regmap area declared size for hi655x
      mfd: ti_am335x_tscadc: Fix struct clk memory leak
      ...
    532c2b92
    History
    Merge tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
    Linus Torvalds authored
    Pull MFD updates from Lee Jones:
     "New Drivers:
       - Add Cirrus Logic Madera Codec (CS47L35, CS47L85 and CS47L90/91) driver
       - Add ChromeOS EC CEC driver
       - Add ROHM BD71837 PMIC driver
    
      New Device Support:
       - Add support for Dialog Semi DA9063L PMIC variant to DA9063
       - Add support for Intel Ice Lake to Intel-PLSS-PCI
       - Add support for X-Powers AXP806 to AXP20x
    
      New Functionality:
       - Add support for USB Charging to the ChromeOS Embedded Controller
       - Add support for HDMI CEC to the ChromeOS Embedded Controller
       - Add support for HDMI CEC to Intel HDMI
       - Add support for accessory detection to Madera devices
       - Allow individual pins to be configured via DT' wlf,csnaddr-pd
       - Provide legacy platform specific EEPROM/Watchdog commands; rave-sp
    
      Fix-upsL
       - Trivial renaming/spelling fixes; cros_ec, da9063-*
       - Convert to Managed Resources (devm_*); da9063-*, ti_am335x_tscadc
       - Transition to helper macros/functions; da9063-*
       - Constify; kempld-core
       - Improve error path/messages; wm8994-core
       - Disable IRQs locally instead of relying on USB subsystem; dln2
       - Remove unused code; rave-sp
       - New exports; sec-core
    
      Bug Fixes:
       - Fix possible false I2C transaction error; arizona-core
       - Fix declared memory area size; hi655x-pmic
       - Fix checksum type; rave-sp
       - Fix incorrect default serial port configuration: rave-sp
       - Fix incorrect coherent DMA mask for sub-devices; sm501"
    
    * tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (60 commits)
      mfd: madera: Add register definitions for accessory detect
      mfd: sm501: Set coherent_dma_mask when creating subdevices
      mfd: bd71837: Devicetree bindings for ROHM BD71837 PMIC
      mfd: bd71837: Core driver for ROHM BD71837 PMIC
      media: platform: cros-ec-cec: Fix dependency on MFD_CROS_EC
      mfd: sec-core: Export OF module alias table
      mfd: as3722: Disable auto-power-on when AC OK
      mfd: axp20x: Support AXP806 in I2C mode
      mfd: axp20x: Add self-working mode support for AXP806
      dt-bindings: mfd: axp20x: Add "self-working" mode for AXP806
      mfd: wm8994: Allow to configure CS/ADDR Pulldown from dts
      mfd: wm8994: Allow to configure Speaker Mode Pullup from dts
      mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it
      mfd: rave-sp: Add legacy watchdog ping command translation
      mfd: rave-sp: Add legacy EEPROM access command translation
      mfd: rave-sp: Initialize flow control and parity of the port
      mfd: rave-sp: Fix incorrectly specified checksum type
      mfd: rave-sp: Remove unused defines
      mfd: hi655x: Fix regmap area declared size for hi655x
      mfd: ti_am335x_tscadc: Fix struct clk memory leak
      ...
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Kconfig 9.52 KiB
#
# PINCTRL infrastructure and drivers
#

menuconfig PINCTRL
	bool "Pin controllers"

if PINCTRL

config GENERIC_PINCTRL_GROUPS
	bool

config PINMUX
	bool "Support pin multiplexing controllers" if COMPILE_TEST

config GENERIC_PINMUX_FUNCTIONS
	bool
	select PINMUX

config PINCONF
	bool "Support pin configuration controllers" if COMPILE_TEST

config GENERIC_PINCONF
	bool
	select PINCONF

config DEBUG_PINCTRL
	bool "Debug PINCTRL calls"
	depends on DEBUG_KERNEL
	help
	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.

config PINCTRL_ARTPEC6
        bool "Axis ARTPEC-6 pin controller driver"
        depends on MACH_ARTPEC6
        select PINMUX
        select GENERIC_PINCONF
        help
          This is the driver for the Axis ARTPEC-6 pin controller. This driver
          supports pin function multiplexing as well as pin bias and drive
          strength configuration. Device tree integration instructions can be
          found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt

config PINCTRL_AS3722
	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
	depends on MFD_AS3722 && GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	help
	  AS3722 device supports the configuration of GPIO pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the GPIO pins of AS3722 devices. It also
	  supports the GPIO functionality through gpiolib.

config PINCTRL_AXP209
	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
	depends on MFD_AXP20X
	depends on OF
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	help
	  AXP PMICs provides multiple GPIOs that can be muxed for different
	  functions. This driver bundles a pinctrl driver to select the function
	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
	  selected.
	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC

config PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select PINCONF
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
	help
	  Say Y here to enable the at91 pinctrl driver

config PINCTRL_AT91PIO4
	bool "AT91 PIO4 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select OF_GPIO
	help
	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
	  controller available on sama5d2 SoC.

config PINCTRL_AMD
	tristate "AMD GPIO pin control"
	depends on HAS_IOMEM
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	help
	  driver for memory mapped GPIO functionality on AMD platforms
	  (x86 or arm).Most pins are usually muxed to some other
	  functionality by firmware,so only a small amount is available
	  for gpio use.

	  Requires ACPI/FDT device enumeration code to set up a platform
	  device.

config PINCTRL_DA850_PUPD
	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
	select PINCONF
	select GENERIC_PINCONF
	help
	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
	  pullup/pulldown pin groups.

config PINCTRL_DIGICOLOR
	bool
	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_LANTIQ
	bool
	depends on LANTIQ
	select PINMUX
	select PINCONF

config PINCTRL_LPC18XX
	bool "NXP LPC18XX/43XX SCU pinctrl driver"
	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
	default ARCH_LPC18XX
	select PINMUX
	select GENERIC_PINCONF
	help
	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
config PINCTRL_FALCON
	bool
	depends on SOC_FALCON
	depends on PINCTRL_LANTIQ

config PINCTRL_GEMINI
	bool
	depends on ARCH_GEMINI
	default ARCH_GEMINI
	select PINMUX
	select GENERIC_PINCONF
	select MFD_SYSCON

config PINCTRL_MCP23S08
	tristate "Microchip MCP23xxx I/O expander"
	depends on SPI_MASTER || I2C
	depends on I2C || I2C=n
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
	select GENERIC_PINCONF
	help
	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
	  This provides a GPIO interface supporting inputs and outputs and a
	  corresponding interrupt-controller.

config PINCTRL_OXNAS
	bool
	depends on OF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
	select MFD_SYSCON

config PINCTRL_ROCKCHIP
	bool
	select PINMUX
	select GENERIC_PINCONF
	select GENERIC_IRQ_CHIP
	select MFD_SYSCON

config PINCTRL_RZA1
	bool "Renesas RZ/A1 gpio and pinctrl driver"
	depends on OF
	depends on ARCH_R7S72100 || COMPILE_TEST
	select GPIOLIB
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	help
	  This selects pinctrl driver for Renesas RZ/A1 platforms.

config PINCTRL_SINGLE
	tristate "One-register-per-pin type device tree based pinctrl driver"
	depends on OF
	depends on HAS_IOMEM
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	help
	  This selects the device tree based generic pinctrl driver.

config PINCTRL_SIRF
	bool "CSR SiRFprimaII pin controller driver"
	depends on ARCH_SIRF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP

config PINCTRL_SX150X
	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
	depends on I2C=y
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select REGMAP
	help
	  Say yes here to provide support for Semtech SX150x-series I2C
	  GPIO expanders as pinctrl module.
	  Compatible models include:
	  - 8 bits:  sx1508q, sx1502q
	  - 16 bits: sx1509q, sx1506q

config PINCTRL_PISTACHIO
	def_bool y if MACH_PISTACHIO
	depends on GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP
	select OF_GPIO

config PINCTRL_ST
	bool
	depends on OF
	select PINMUX
	select PINCONF
	select GPIOLIB_IRQCHIP

config PINCTRL_U300
	bool "U300 pin controller driver"
	depends on ARCH_U300
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_COH901
	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
	select GPIOLIB_IRQCHIP
	help
	  Say yes here to support GPIO interface on ST-Ericsson U300.
	  The names of the two IP block variants supported are
	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
	  ports of 8 GPIO pins each.

config PINCTRL_MAX77620
	tristate "MAX77620/MAX20024 Pincontrol support"
	depends on MFD_MAX77620 && OF
	select PINMUX
	select GENERIC_PINCONF
	help
	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
	  This PMIC has 8 GPIO pins that work as GPIO as well as special
	  function in alternate mode. This driver also configure push-pull,
	  open drain, FPS slots etc.

config PINCTRL_PALMAS
	tristate "Pinctrl driver for the PALMAS Series MFD devices"
	depends on OF && MFD_PALMAS
	select PINMUX
	select GENERIC_PINCONF
	help
	  Palmas device supports the configuration of pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the Palmas series devices like
	  TPS65913, TPS80036 etc.

config PINCTRL_PIC32
	bool "Microchip PIC32 pin controller driver"
	depends on OF
	depends on MACH_PIC32
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP
	select OF_GPIO
	help
	  This is the pin controller and gpio driver for Microchip PIC32
	  microcontrollers. This option is selected automatically when specific
	  machine and arch are selected to build.

config PINCTRL_PIC32MZDA
	def_bool y if PIC32MZDA
	select PINCTRL_PIC32

config PINCTRL_ZYNQ
	bool "Pinctrl driver for Xilinx Zynq"
	depends on ARCH_ZYNQ
	select PINMUX
	select GENERIC_PINCONF
	help
	  This selects the pinctrl driver for Xilinx Zynq.

config PINCTRL_INGENIC
	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
	default y
	depends on OF
	depends on MACH_INGENIC || COMPILE_TEST
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select REGMAP_MMIO

config PINCTRL_RK805
	tristate "Pinctrl and GPIO driver for RK805 PMIC"
	depends on MFD_RK808
	select GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	help
	  This selects the pinctrl driver for RK805.

config PINCTRL_OCELOT
	bool "Pinctrl driver for the Microsemi Ocelot SoCs"
	default y
	depends on OF
	depends on MSCC_OCELOT || COMPILE_TEST
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select REGMAP_MMIO

source "drivers/pinctrl/actions/Kconfig"
source "drivers/pinctrl/aspeed/Kconfig"
source "drivers/pinctrl/bcm/Kconfig"
source "drivers/pinctrl/berlin/Kconfig"
source "drivers/pinctrl/freescale/Kconfig"
source "drivers/pinctrl/intel/Kconfig"
source "drivers/pinctrl/mvebu/Kconfig"
source "drivers/pinctrl/nomadik/Kconfig"
source "drivers/pinctrl/pxa/Kconfig"
source "drivers/pinctrl/qcom/Kconfig"
source "drivers/pinctrl/samsung/Kconfig"
source "drivers/pinctrl/sh-pfc/Kconfig"
source "drivers/pinctrl/spear/Kconfig"
source "drivers/pinctrl/sprd/Kconfig"
source "drivers/pinctrl/stm32/Kconfig"
source "drivers/pinctrl/sunxi/Kconfig"
source "drivers/pinctrl/tegra/Kconfig"
source "drivers/pinctrl/ti/Kconfig"
source "drivers/pinctrl/uniphier/Kconfig"
source "drivers/pinctrl/vt8500/Kconfig"
source "drivers/pinctrl/mediatek/Kconfig"
source "drivers/pinctrl/zte/Kconfig"
source "drivers/pinctrl/meson/Kconfig"
source "drivers/pinctrl/cirrus/Kconfig"

config PINCTRL_XWAY
	bool
	depends on SOC_TYPE_XWAY
	depends on PINCTRL_LANTIQ

config PINCTRL_TB10X
	bool
	depends on OF && ARC_PLAT_TB10X
	select GPIOLIB

endif