09 Jan, 2012

1 commit

  • Add initial device-tree support for twl familly chips.
    The current version is missing the regulator entries due
    to the lack of DT regulator bindings for the moment.
    Only the simple sub-modules that do not depend on
    platform_data information can be initialized properly.

    Add irqdomain support.

    Add documentation for the Texas Instruments TWL Integrated Chip.

    Signed-off-by: Benoit Cousson
    Cc: Balaji T K
    Cc: Graeme Gregory
    Signed-off-by: Samuel Ortiz
    Acked-by: Rob Herring
    [grant.likely@secretlab.ca: Fix IRQ_DOMAIN dependency in kconfig]
    Cc: Grant Likely

    Benoit Cousson
     

21 Dec, 2011

1 commit


07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

01 Nov, 2011

1 commit


24 Oct, 2011

1 commit

  • The codec for Devkit8000 (TWL4030) was not detected except
    when build with CONFIG_SND_SOC_ALL_CODECS.

    twl-core.c still uses the CONFIG_TWL4030_CODEC for
    twl_has_codec().

    In commit 57fe7251f5bfc4332f24479376de48a1e8ca6211
    the CONFIG_TWL4030_CODEC was renamed
    into CONFIG_MFD_TWL4030_AUDIO, thatswhy the codec
    was not detected.

    This patch renames the CONFIG_ TWL4030_CODEC into
    CONFIG_MFD_TWL4030_AUDIO in twl-core.c.

    Signed-off-by: Thomas Weber
    Acked-by: Peter Ujfalusi
    Signed-off-by: Samuel Ortiz

    Thomas Weber
     

01 Aug, 2011

1 commit


05 Jul, 2011

1 commit

  • TWL6040 IC provides analog high-end audio codec functions for
    handset applications. It contains several audio analog inputs
    and outputs as well as vibrator support. It's connected to the
    host processor via PDM interface for audio data communication.
    The audio modules are controlled by internal registers that
    can be accessed by I2C and PDM interface.

    TWL6040 MFD will be registered as a child of TWL-CORE, and will
    have two children of its own: twl6040-codec and twl6040-vibra.

    This driver is based on TWL4030 and WM8350 MFD drivers.

    Signed-off-by: Misael Lopez Cruz
    Signed-off-by: Peter Ujfalusi
    Acked-by: Samuel Ortiz

    Misael Lopez Cruz
     

04 Jul, 2011

1 commit

  • Allign the platform data names for twl4030 audio submodule:
    twl4030_audio_data: for the core MFD driver
    twl4030_codec_data: for ASoC codec driver
    twl4030_vibra_data: for the input/ForceFeedback driver

    To avoid breakage, change all depending drivers, files
    to use the new types.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Samuel Ortiz

    Peter Ujfalusi
     

27 May, 2011

2 commits

  • Phoenix Lite is based on the twl6030 family of PMICs. It has mostly the
    same feature set of twl6030 but with small changes. The codec block has
    also been removed. It also has a new charger block and new features in
    its ADC block. VUSB handling also differs.

    Signed-off-by: Graeme Gregory
    Reviewed-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Graeme Gregory
     
  • Added API to get the TWL5030 Si version from the IDCODE register.
    It is used for enabling the workaround for TWL erratum 27.

    Signed-off-by: Lesly A M
    Cc: Nishanth Menon
    Cc: David Derrick
    Signed-off-by: Samuel Ortiz

    Lesly A M
     

23 Mar, 2011

2 commits

  • Enabling twl4030_wdt and twl4030_pwrbutton only for Triton i.e for
    TWL4030 and TWL5030. This is to be excluded for Phoenix TWL6030.
    Tested OMAP4 blaze, OMAP2430, OMAP3630 boot up.

    Signed-off-by: Keerthy
    Reviewed-by: Balaji T K
    Signed-off-by: Samuel Ortiz

    Keerthy
     
  • In OMAP4 Blaze and Panda, 32KHz clock to WLAN is supplied from Phoenix
    TWL6030. The 32KHz clock state (ON/OFF) is configured in
    CLK32KG_CFG_[GRP, TRANS, STATE] register. This follows the same register
    programming model as other regulators in TWL6030. So add CLK32KG as pseudo
    regulator.

    Signed-off-by: Balaji T K
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Balaji T K
     

14 Jan, 2011

1 commit


10 Dec, 2010

1 commit

  • Registering the twl6030-usb transceiver device as a child to twl6030 core.
    Removed the NOP transceiver init call from board file.

    Populated twl4030_usb_data platform data structure with the function
    pointers for OMAP4430 internal PHY operation to be used by twl630-usb driver.

    Signed-off-by: Hema HK
    Cc: Samuel Ortiz
    Cc: Tony Lindgren
    Signed-off-by: Felipe Balbi

    Hema HK
     

29 Oct, 2010

3 commits


12 Aug, 2010

1 commit

  • This patch extends the ASoC API to allow sound cards to have more than one
    CODEC and more than one platform DMA controller. This is achieved by dividing
    some current ASoC structures that contain both driver data and device data into
    structures that only either contain device data or driver data. i.e.

    struct snd_soc_codec ---> struct snd_soc_codec (device data)
    +-> struct snd_soc_codec_driver (driver data)

    struct snd_soc_platform ---> struct snd_soc_platform (device data)
    +-> struct snd_soc_platform_driver (driver data)

    struct snd_soc_dai ---> struct snd_soc_dai (device data)
    +-> struct snd_soc_dai_driver (driver data)

    struct snd_soc_device ---> deleted

    This now allows ASoC to be more tightly aligned with the Linux driver model and
    also means that every ASoC codec, platform and (platform) DAI is a kernel
    device. ASoC component private data is now stored as device private data.

    The ASoC sound card struct snd_soc_card has also been updated to store lists
    of it's components rather than a pointer to a codec and platform. The PCM
    runtime struct soc_pcm_runtime now has pointers to all its components.

    This patch adds DAPM support for ASoC multi-component and removes struct
    snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
    or runtime PCM level basis rather than using snd_soc_socdev.

    Other notable multi-component changes:-

    * Stream operations now de-reference less structures.
    * close_delayed work() now runs on a DAI basis rather than looping all DAIs
    in a card.
    * PM suspend()/resume() operations can now handle N CODECs and Platforms
    per sound card.
    * Added soc_bind_dai_link() to bind the component devices to the sound card.
    * Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
    DAI link components.
    * sysfs entries can now be registered per component per card.
    * snd_soc_new_pcms() functionailty rolled into dai_link_probe().
    * snd_soc_register_codec() now does all the codec list and mutex init.

    This patch changes the probe() and remove() of the CODEC drivers as follows:-

    o Make CODEC driver a platform driver
    o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
    o Removed all static codec pointers (drivers now support > 1 codec dev)
    o snd_soc_register_pcms() now done by core.
    o snd_soc_register_dai() folded into snd_soc_register_codec().

    CS4270 portions:
    Acked-by: Timur Tabi

    Some TLV320aic23 and Cirrus platform fixes.
    Signed-off-by: Ryan Mallon

    TI CODEC and OMAP fixes
    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Janusz Krzysztofik
    Signed-off-by: Jarkko Nikula

    Samsung platform and misc fixes :-
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Reviewed-by: Jassi Brar
    Signed-off-by: Seungwhan Youn

    MPC8610 and PPC fixes.
    Signed-off-by: Timur Tabi

    i.MX fixes and some core fixes.
    Signed-off-by: Sascha Hauer

    J4740 platform fixes:-
    Signed-off-by: Lars-Peter Clausen

    CC: Tony Lindgren
    CC: Nicolas Ferre
    CC: Kevin Hilman
    CC: Sascha Hauer
    CC: Atsushi Nemoto
    CC: Kuninori Morimoto
    CC: Daniel Gloeckner
    CC: Manuel Lauss
    CC: Mike Frysinger
    CC: Arnaud Patard
    CC: Wan ZongShun

    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Liam Girdwood
     

19 Mar, 2010

1 commit


08 Mar, 2010

4 commits

  • Add base address for generic slave ID0, ID1, ID2
    and introduced one more entry to align RTC module number between
    twl4030 and twl6030

    Signed-off-by: Balaji T K
    Signed-off-by: Samuel Ortiz

    Balaji T K
     
  • This patch disables TWL4030/5030 I2C1 adn I2C4(SR) internal pull-up, to
    use only the external HW resistor >=470 Ohm for the assured
    functionality in HS mode.

    While testing the I2C in High Speed mode, it was discovered that
    without a proper pull-up resistor, there is data corruption during
    multi-byte transfer. RTC(time_set) test case was used for testing.

    From the analysis done, it was concluded that ideally we need a
    pull-up of 1.6k Ohm(recomended) or atleast 470 Ohm or greater for
    assured performance in HS mode.

    Signed-off-by: Moiz Sonasath
    Signed-off-by: Allen Pais
    Signed-off-by: Samuel Ortiz

    Moiz Sonasath
     
  • Change the typo CONFIG_INPUT_TWL4030_PWBUTTON_MODULE in the
    twl_has_pwrbutton definition to CONFIG_INPUT_TWL4030_PWRBUTTON_MODULE.

    Signed-off-by: Eduardo Valentin
    Signed-off-by: Christoph Egger
    Signed-off-by: Samuel Ortiz

    Eduardo Valentin
     
  • The TWL4030_BCI_BATTERY config option originates from a patch to the
    omap git tree. However inclusion in linux was seemingly rejected and
    the functionality nears inclusion under a different name so this
    removes the bits of the old version that made it into the mainline
    kernel again.

    Signed-off-by: Christoph Egger
    Signed-off-by: Samuel Ortiz

    Christoph Egger
     

24 Feb, 2010

1 commit

  • In order to have TWL6030 CODEC driver as a platform driver, codec data
    should be passed through twl_platform_data structure.

    For twl6030 audio codec, the following data may be passed:
    - audpwron_gpio: gpio line used to power-up/down the codec. A low-to-high
    transition powers codec up. Setting audpwron_gpio to a negative value
    means that codec will use manual power sequence instead of automatic
    sequence
    - naudint_irq: irq line for audio interrupt. twl6030 drives NAUDINT line
    to low when an interrupt (codec ready, plug insertion/removal, etc) is
    detected

    However, codec driver can operate if any or none of them are passed.

    Signed-off-by: Misael Lopez Cruz
    Signed-off-by: Margarita Olaya Cabrera
    Signed-off-by: Jorge Eduardo Candelaria
    Acked-by: Samuel Ortiz
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Misael Lopez Cruz
     

14 Dec, 2009

6 commits

  • This patch adds initial support for creating twl6030 PMIC
    specific voltage regulators in the twl mfd driver.

    Board specific regulator configurations will have to be passed from
    respective board files.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Acked-by: Mark Brown
    Reviewed-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    Rajendra Nayak
     
  • This patch adds support for phoenix interrupt framework. New iInterrupt
    status register A, B, C are introduced in Phoenix and are cleared on write.
    Due to the differences in interrupt handling with respect to TWL4030,
    twl6030-irq.c is created for TWL6030 PMIC

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Signed-off-by: Santosh Shilimkar
    Reviewed-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    Balaji T K
     
  • This patch renames all twl4030_ functions to twl so that regulator driver
    can be reused by Triton - TWL4030 and Phoenix - TWL6030.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Signed-off-by: Santosh Shilimkar
    Acked-by: Kevin Hilman
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Rajendra Nayak
     
  • This patch renames all twl4030_ functions to twl_ so that RTC driver can be
    shared between Triton and Phoenix.

    Signed-off-by: Balaji T K
    Signed-off-by: Nayak Rajendra
    Signed-off-by: Santosh Shilimkar
    Acked-by: Kevin Hilman
    Signed-off-by: Samuel Ortiz

    Balaji T K
     
  • This patch renames function names like twl4030_i2c_write_u8,
    twl4030_i2c_read_u8 to twl_i2c_write_u8, twl_i2c_read_u8
    and also common variable in twl-core.c

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Signed-off-by: Santosh Shilimkar
    Acked-by: Kevin Hilman
    Signed-off-by: Samuel Ortiz

    Balaji T K
     
  • The upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030
    for OMAP3. The common modules like RTC, Regulator creates opportunity
    to re-use the most of the code from twl4030.

    This patch renames few common drivers twl4030* files to twl* to enable
    the code re-use.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Signed-off-by: Santosh Shilimkar
    Acked-by: Kevin Hilman
    Signed-off-by: Samuel Ortiz

    Santosh Shilimkar