09 Dec, 2009

1 commit

  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
    arm: omap: Add omap3_defconfig
    AM35xx: Defconfig for AM3517 EVM board
    AM35xx: Add support for AM3517 EVM board
    omap: 3630sdp: defconfig creation
    omap: 3630sdp: introduce 3630 sdp board support
    omap3: Add defconfig for IGEP v2 board
    omap3: Add minimal IGEP v2 support
    omap3: Add CompuLab CM-T35 defconfig
    omap3: Add CompuLab CM-T35 board support
    omap3: rx51: Add wl1251 wlan driver support
    omap3: rx51: Add SDRAM init
    omap1: Add default kernel configuration for Herald
    omap1: Add board support and LCD for HTC Herald
    omap: zoom2: update defconfig for LL_DEBUG_NONE
    omap: zoom3: defconfig creation
    omap3: zoom: Introduce zoom3 board support
    omap3: zoom: Drop i2c-1 speed to 2400
    omap3: zoom: rename zoom2 name to generic zoom
    omap3: zoom: split board file for software reuse
    omap3evm: MIgrate to smsc911x ethernet driver
    ...

    Fix trivial conflict (two unrelated config options added next to each
    other) in arch/arm/mach-omap2/Makefile

    Linus Torvalds
     

25 Nov, 2009

2 commits


23 Nov, 2009

1 commit

  • New MFD child to twl4030 MFD device.

    Reason for the twl4030_codec MFD: the vibra control is actually in the codec
    part of the twl4030. If both the vibra and the audio functionality is needed
    from the twl4030 at the same time, than they need to control the codec power
    and APLL at the same time without breaking the other driver.
    Also these two has to be able to work without the need for the other driver.

    This MFD device will be used by the drivers, which needs resources
    from the twl4030 codec like audio and vibra.

    The platform specific configuration data is passed along to the
    child drivers (audio, vibra).

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

    Peter Ujfalusi
     

11 Nov, 2009

1 commit


06 Nov, 2009

1 commit


27 Oct, 2009

1 commit


26 Oct, 2009

1 commit

  • New MFD child to twl4030 MFD device.

    Reason for the twl4030_codec MFD: the vibra control is actually in the codec
    part of the twl4030. If both the vibra and the audio functionality is needed
    from the twl4030 at the same time, than they need to control the codec power
    and APLL at the same time without breaking the other driver.
    Also these two has to be able to work without the need for the other driver.

    This MFD device will be used by the drivers, which needs resources
    from the twl4030 codec like audio and vibra.

    The platform specific configuration data is passed along to the
    child drivers (audio, vibra).

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

    Peter Ujfalusi
     

21 Oct, 2009

1 commit

  • Move the remaining headers under plat-omap/include/mach
    to plat-omap/include/plat. Also search and replace the
    files using these headers to include using the right path.

    This was done with:

    #!/bin/bash
    mach_dir_old="arch/arm/plat-omap/include/mach"
    plat_dir_new="arch/arm/plat-omap/include/plat"
    headers=$(cd $mach_dir_old && ls *.h)
    omap_dirs="arch/arm/*omap*/ \
    drivers/video/omap \
    sound/soc/omap"
    other_files="drivers/leds/leds-ams-delta.c \
    drivers/mfd/menelaus.c \
    drivers/mfd/twl4030-core.c \
    drivers/mtd/nand/ams-delta.c"

    for header in $headers; do
    old="#include

    Tony Lindgren
     

12 Oct, 2009

1 commit

  • The usb regulator supplies (usb1v5, usb1v8 & usb3v1) must be available
    before adding the twl4030_usb child, else twl4030_usb_ldo_init() will
    always fail thus causing boot lock-up.

    This patch fixes boot on OMAP systems using the twl4030 usb transceiver.
    CONFIG_TWL4030_USB=y

    Signed-off-by: Roger Quadros
    Signed-off-by: Samuel Ortiz

    Roger Quadros
     

17 Sep, 2009

2 commits


21 Jun, 2009

1 commit


18 Jun, 2009

1 commit

  • Impact: Fix section mismatch.

    clocks_init() has been called from twl4030_probe() which is a non-init
    function. Since probing can be done anytime so clocks_init will be
    called anytime too. So we mark clock_init() as non-init.

    LD drivers/mfd/built-in.o
    WARNING: drivers/mfd/built-in.o(.text+0x8dd9): Section mismatch in
    reference from the function twl4030_probe() to the function
    .init.text:clocks_init()
    The function twl4030_probe() references
    the function __init clocks_init().
    This is often because twl4030_probe lacks a __init
    annotation or the annotation of clocks_init is wrong.

    Signed-off-by: Rakib Mullick
    Signed-off-by: Samuel Ortiz

    Rakib Mullick
     

31 Mar, 2009

1 commit

  • Add VPLL2 to the set of twl4030-family regulators exposed for
    use by various drivers. It's commonly used to power the digital
    video outputs (e.g. LCD or DVI displays) on OMAP3 systems.

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

    David Brownell
     

17 Feb, 2009

1 commit

  • Many ARM platforms do not provide a mach/cpu.h so rather than guarding
    the use of that header with CONFIG_ARM guard it with the guards used
    when testing for the OMAP variants in the body of the code.

    Signed-off-by: Mark Brown
    Acked-by: David Brownell
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

14 Jan, 2009

2 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    TWL4030: fix clk API usage
    [ARM] 5364/1: allow flush_ioremap_region() to be used from modules
    [ARM] w90x900: fix build errors and warnings
    [ARM] i.MX add missing include
    [ARM] i.MX: fix breakage from commit 278892736e99330195c8ae5861bcd9d791bbf19e
    [ARM] i.MX: remove LCDC controller register definitions from imx-regs.h

    Linus Torvalds
     
  • Always pass a struct device if one is available; and there's really
    no reason for the processor specific stuff in this file if only
    people would follow the API usage properly by using the struct device.

    Signed-off-by: Russell King

    Russell King
     

11 Jan, 2009

1 commit

  • Fixes:
    drivers/mfd/twl4030-core.c:657: error: implicit declaration of function
    'cpu_is_omap2430'

    Not the nicest fix, but this should be improved by a better OMAP clock API
    implementation.

    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     

04 Jan, 2009

5 commits

  • This is a fix for:

    twl4030-core.c:(.text+0x16a797): undefined reference to `clk_get_rate'
    twl4030-core.c:(.text+0x16a797): undefined reference to `clk_put'

    on x86 and x86_64, as the clock API is not defined on those platforms.

    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     
  • This contains two bugfixes to the initial twl4030 regulator
    support patch related to USB:

    (a) always overwrite the old list of consumers ... else
    the regulator handles all use the same "usb1v5" name;
    (b) don't set up the "usbcp" regulator, which turns out
    to be managed through separate controls, usually ULPI
    directly from the OTG controller.

    Signed-off-by: David Brownell
    Signed-off-by: Samuel Ortiz

    David Brownell
     
  • Initial code to create twl4030 voltage regulator devices, using
    the new regulator framework. Note that this now starts to care
    what name is used to declare the TWL chip:

    - TWL4030 is the "old" chip; newer ones have a bigger variety
    of VAUX2 voltages.

    - TWL5030 is the core "new" chip; TPS65950 is its catalog version.

    - The TPS65930 and TPS65920 are cost-reduced catalog versions of
    TWL5030 parts ... fewer regulators, no battery charger, etc.

    Board-specific regulator configuration should be provided, listing
    which regulators are used and their constraints (e.g. 1.8V only).

    Code that could ("should"?) leverage the regulator stuff includes
    TWL4030 USB transceiver support and MMC glue, LCD support for the
    3430SDP and Labrador boards, and S-Video output.

    Signed-off-by: David Brownell
    Signed-off-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    David Brownell
     
  • Minor cleanup to twl4030-core: define a helper function to populate
    a single child node, and use it to replace six inconsistent versions
    of the same logic. Both object and source code shrink.

    As part of this, some devices now have more IRQ resources: battery
    charger, keypad, ADC, and USB transceiver. That helps to remove some
    irq #defines that block the children's drivers code from compiling on
    non-OMAP platforms.

    Signed-off-by: David Brownell
    Signed-off-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    David Brownell
     
  • Minor change to the TWL4030 utility interface: support reads
    of all 256 bytes in each register bank (vs just 255). This
    can help when debugging, but is otherwise a NOP.

    Signed-off-by: David Brownell
    Signed-off-by: Samuel Ortiz

    David Brownell
     

22 Oct, 2008

1 commit

  • - Move it into a separate file; clean and streamline it
    - Restructure the init code for reuse during secondary dispatch
    - Support both levels (primary, secondary) of IRQ dispatch
    - Use a workqueue for irq mask/unmask and trigger configuration

    Code for two subchips currently share that secondary handler code.
    One is the power subchip; its IRQs are now handled by this core,
    courtesy of this patch. The other is the GPIO module, which will
    be supported through a later patch.

    There are also minor changes to the header file, mostly related
    to GPIO support; nothing yet in mainline cares about those. A
    few references to OMAP-specific symbols are disabled; when they
    can all be removed, the TWL4030 support ceases being OMAP-specific.

    Signed-off-by: David Brownell
    Signed-off-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    David Brownell
     

20 Oct, 2008

2 commits

  • Simplify twl4030 IRQ handling by removing a needless custom flow
    handler. The top level IRQs, from the PIH, are well suited for
    handle_simple_irq() ... they can't be acked or masked.

    Switching resolves some issues with how IRQs were dispatched.
    Notably, abuse of desc->status, IRQ accounting, and handling
    of various faults.

    In short, use standard genirq code.

    Drivers that request_irq() to the PIH will need to pay more
    attention to things like setting IRQF_DISABLED (since it's
    no longer ignored), and making I2C calls from handlers (you'll
    need a lockdep workaround).

    Signed-off-by: David Brownell
    Signed-off-by: Tony Lindgren
    Signed-off-by: Samuel Ortiz

    David Brownell
     
  • This patch adds the core of the TWL4030 driver, which supports
    chips including the TPS65950. These chips are multi-function; see

    http://focus.ti.com/docs/prod/folders/print/tps65950.html

    Public specs are in the works. For now, the block diagram on
    the second page of the datasheet is fairly informative.

    There are some known issues with this core code. Most notably,
    the IRQ dispatching needs simplification (to use more of genirq),
    generalization (integrating support for secondary IRQ dispatch
    as well as primary, and removing the build dependency on OMAP),
    and then probably updating to leverage threaded IRQ support
    (expected to arrive in mainline "soon").

    Once the core is in mainline, drivers for other parts of this
    chip can follow its lead and start swimming upstream too.

    Signed-off-by: David Brownell
    Signed-off-by: Samuel Ortiz

    David Brownell