Linux Mainline Status
Available in Linux Main line: Yes
Available through git.ti.com: N/A
Supported Devices:
Linux Source Files
The files associated with this device are:
- drivers/mfd/twl6040.c
- drivers/clk/clk-twl6040.c
- drivers/gpio/gpio-twl6040.c
- drivers/input/misc/twl6040-vibra.c
- sound/soc/codecs/twl6040.c
- sound/soc/omap/omap-abe-twl6040.c
- Documentation/devicetree/bindings/mfd/twl6040.txt
- Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt
- include/linux/i2c/twl.h
- include/linux/mfd/twl6040.h
- sound/soc/codecs/twl6040.h
Source Files
drivers/mfd/twl6040.c
drivers/clk/clk-twl6040.c
drivers/gpio/gpio-twl6040.c
drivers/input/misc/twl6040-vibra.c
sound/soc/codecs/twl6040.c
sound/soc/omap/omap-abe-twl6040.c
Linux Device Tree Documenation
Documentation/devicetree/bindings/mfd/twl6040.txt
Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt
Other Files
include/linux/i2c/twl.h
include/linux/mfd/twl6040.h
sound/soc/codecs/twl6040.h
Enabling Driver Support
Configure kernel with "make menuconfig" (alternatively use "make xconfig" or"make nconfig")
Menuconfig Location
Symbol: TWL6040_CORE [=y]Type : booleanPrompt: TI TWL6040 audio codec Location: -> Device Drivers -> Multifunction device drivers Defined at drivers/mfd/Kconfig:1204 Depends on: HAS_IOMEM [=y] && I2C [=y]=y Selects: MFD_CORE [=y] && REGMAP_I2C [=y] && REGMAP_IRQ [=y] Symbol: CLK_TWL6040 [=y]Type : tristatePrompt: External McPDM functional clock from twl6040 Location: -> Device Drivers -> Common Clock Framework Defined at drivers/clk/Kconfig:106 Depends on: COMMON_CLK [=y] && TWL6040_CORE [=y] Symbol: GPIO_TWL6040 [=y]Type : tristatePrompt: TWL6040 GPO Location: -> Device Drivers -> GPIO Support (GPIOLIB [=y]) -> MFD GPIO expanders Defined at drivers/gpio/Kconfig:854 Depends on: GPIOLIB [=y] && TWL6040_CORE [=y] Symbol: INPUT_TWL6040_VIBRA [=y]Type : tristatePrompt: Support for TWL6040 Vibrator Location: -> Device Drivers -> Input device support -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y]) -> Miscellaneous devices (INPUT_MISC [=y]) Defined at drivers/input/misc/Kconfig:495 Depends on: !UML && INPUT [=y] && INPUT_MISC [=y] && TWL6040_CORE [=y] Selects: INPUT_FF_MEMLESS [=y] Symbol: SND_SOC_TWL6040 [=y]Type : tristate Defined at sound/soc/codecs/Kconfig:669 Depends on: SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] Selected by: SND_OMAP_SOC_OMAP_ABE_TWL6040 [=y] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && TWL6040_CORE [=y] && SND_OMAP_SOC [=y] && (ARCH_OMAP4 [=y] || SOC_OMAP5 [=y] && MFD_PALMAS [=y] || COMPILE_TEST [=y]) || SND_SOC_ALL_CODECS [=y] && SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && COMPILE_TEST [=y] && TWL6040_CORE [=y] Symbol: SND_OMAP_SOC_OMAP_ABE_TWL6040 [=y]Type : tristatePrompt: SoC Audio support for OMAP boards using ABE and twl6040 codec Location: -> Device Drivers -> Sound card support (SOUND [=y]) -> Advanced Linux Sound Architecture (SND [=y]) -> ALSA for SoC audio support (SND_SOC [=y]) Defined at sound/soc/omap/Kconfig:101 Depends on: SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && TWL6040_CORE [=y] && SND_OMAP_SOC [=y] && (ARCH_OMAP4 [=y] || SOC_OMAP5 [=y] && MFD_PALMAS [=y] || COMPILE_TEST [=y]) Selects: SND_OMAP_SOC_DMIC [=y] && SND_OMAP_SOC_MCPDM [=y] && SND_SOC_TWL6040 [=y] && SND_SOC_DMIC [=y] && COMMON_CLK_PALMAS [=y]
Fixes and Code Enhancements
If there are fixes and or code enhancements that need to be added to thisdriver please either 1. Send the patches to the relevant Linux Kernel community as listed in the maintainers file located: Here or 2. Contact your TI representative.