The Linux driver supports the PALMAS series of PMICs. The Linux driver supports communication through the I2C bus and interfaces with various sub-systems.
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/palmas.c
- drivers/regulator/palmas-regulator.c
- drivers/extcon/extcon-palmas.c
- drivers/clk/clk-palmas.c
- drivers/gpio/gpio-palmas.c
- drivers/input/misc/palmas-pwrbutton.c
- drivers/pinctrl/pinctrl-palmas.c
- drivers/rtc/rtc-palmas.c
- Documentation/devicetree/bindings/mfd/palmas.txt
- Documentation/devicetree/bindings/regulator/palmas-pmic.txt
- Documentation/devicetree/bindings/extcon/extcon-palmas.txt
- Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt
- Documentation/devicetree/bindings/gpio/gpio-palmas.txt
- Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt
- Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt
- Documentation/devicetree/bindings/rtc/rtc-palmas.txt
- include/linux/mfd/palmas.h
Source Files
drivers/mfd/palmas.c
drivers/regulator/palmas-regulator.c
drivers/extcon/extcon-palmas.c
drivers/clk/clk-palmas.c
drivers/gpio/gpio-palmas.c
drivers/input/misc/palmas-pwrbutton.c
drivers/pinctrl/pinctrl-palmas.c
drivers/rtc/rtc-palmas.c
Linux Device Tree Documenation
Documentation/devicetree/bindings/mfd/palmas.txt
Documentation/devicetree/bindings/regulator/palmas-pmic.txt
Documentation/devicetree/bindings/extcon/extcon-palmas.txt
Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt
Documentation/devicetree/bindings/gpio/gpio-palmas.txt
Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt
Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt
Documentation/devicetree/bindings/rtc/rtc-palmas.txt
Other Files
include/linux/mfd/palmas.h
Enabling Driver Support
Configure kernel with "make menuconfig" (alternatively use "make xconfig" or"make nconfig")
Menuconfig Location
Symbol: MFD_PALMAS [=y]Type : booleanPrompt: TI Palmas series chips Location: -> Device Drivers -> Multifunction device drivers Defined at drivers/mfd/Kconfig:1049 Depends on: HAS_IOMEM [=y] && I2C [=y]=y Selects: MFD_CORE [=y] && REGMAP_I2C [=y] && REGMAP_IRQ [=y]Symbol: REGULATOR_PALMAS [=y]Type : tristatePrompt: TI Palmas PMIC Regulators Location: -> Device Drivers -> Voltage and Current Regulator Support (REGULATOR [=y]) Defined at drivers/regulator/Kconfig:464 Depends on: REGULATOR [=y] && MFD_PALMAS [=y]Symbol: EXTCON_PALMAS [=y]Type : tristatePrompt: Palmas USB EXTCON support Location: -> Device Drivers -> External Connector Class (extcon) support (EXTCON [=y]) Defined at drivers/extcon/Kconfig:83 Depends on: EXTCON [=y] && MFD_PALMAS [=y]Symbol: COMMON_CLK_PALMAS [=y]Type : tristatePrompt: Clock driver for TI Palmas devices Location: -> Device Drivers -> Common Clock Framework Defined at drivers/clk/Kconfig:143 Depends on: COMMON_CLK [=y] && MFD_PALMAS [=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]) && SOC_OMAP5 [=y] && MFD_PALMAS [=y]Symbol: GPIO_PALMAS [=y]Type : booleanPrompt: TI PALMAS series PMICs GPIO Location: -> Device Drivers -> GPIO Support (GPIOLIB [=y]) -> MFD GPIO expanders Defined at drivers/gpio/Kconfig:787 Depends on: GPIOLIB [=y] && MFD_PALMAS [=y]Symbol: INPUT_PALMAS_PWRBUTTON [=y]Type : tristatePrompt: Palmas Power button Driver 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:520 Depends on: !UML && INPUT [=y] && INPUT_MISC [=y] && MFD_PALMAS [=y]Symbol: PINCTRL_PALMAS [=y]Type : booleanPrompt: Pinctrl driver for the PALMAS Series MFD devices Location: -> Device Drivers -> Pin controllers Defined at drivers/pinctrl/Kconfig:219 Depends on: PINCTRL [=y] && OF [=y] && MFD_PALMAS [=y] Selects: PINMUX [=y] && GENERIC_PINCONF [=y]Symbol: RTC_DRV_PALMAS [=y]Type : tristatePrompt: TI Palmas RTC driver Location: -> Device Drivers -> Real Time Clock (RTC_CLASS [=y]) Defined at drivers/rtc/Kconfig:394 Depends on: RTC_CLASS [=y] && I2C [=y] && MFD_PALMAS [=y]
Fixes and Code Enhancements
If there are fixes and or code enhancements that need to be added to thisdriver please either1. Send the patches to the relevant Linux Kernel community as listed in the maintainers file located: Hereor2. Contact your TI representative.