PALMASSW-LINUX

Linux Driver for PALMAS

PALMASSW-LINUX

Overview

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:

  • twl6035
  • twl6037
  • tps65913

 

Linux Source Files

The files associated with this device are:

  1. drivers/mfd/palmas.c
  2. drivers/regulator/palmas-regulator.c
  3. drivers/extcon/extcon-palmas.c
  4. drivers/clk/clk-palmas.c
  5. drivers/gpio/gpio-palmas.c
  6. drivers/input/misc/palmas-pwrbutton.c
  7. drivers/pinctrl/pinctrl-palmas.c
  8. drivers/rtc/rtc-palmas.c
  9. Documentation/devicetree/bindings/mfd/palmas.txt
  10. Documentation/devicetree/bindings/regulator/palmas-pmic.txt
  11. Documentation/devicetree/bindings/extcon/extcon-palmas.txt
  12. Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt
  13. Documentation/devicetree/bindings/gpio/gpio-palmas.txt
  14. Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt
  15. Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt
  16. Documentation/devicetree/bindings/rtc/rtc-palmas.txt
  17. 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.

 

Download View video with transcript Video

Support & training

TI E2E™ forums with technical support from TI engineers

View all forum topics

Content is provided "as is" by TI and community contributors and does not constitute TI specifications. See terms of use.

If you have questions about quality, packaging or ordering TI products, see TI support.

Videos