09 Nov, 2012

1 commit


25 Oct, 2012

2 commits

  • Conflicts:
    arch/arm/mach-omap1/clock.c
    arch/arm/mach-omap2/board-2430sdp.c
    arch/arm/mach-omap2/board-4430sdp.c
    arch/arm/mach-omap2/board-cm-t35.c
    arch/arm/mach-omap2/board-igep0020.c
    arch/arm/mach-omap2/board-ldp.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-omap2/board-omap3logic.c
    arch/arm/mach-omap2/board-omap4panda.c
    arch/arm/mach-omap2/board-overo.c
    arch/arm/mach-omap2/board-rm680.c
    arch/arm/mach-omap2/board-rx51.c
    arch/arm/mach-omap2/twl-common.c
    arch/arm/mach-omap2/usb-host.c
    arch/arm/mach-omap2/usb-musb.c

    Tony Lindgren
     
  • Let's move what we can from plat/usb.h to the local usb.h
    for ARM common zImage support.

    This is needed so we can remove plat/usb.h for ARM common
    zImage support.

    Cc: Samuel Ortiz
    Cc: Alan Stern
    Cc: Greg Kroah-Hartman
    Cc: Partha Basak
    Cc: Keshava Munegowda
    Cc: linux-usb@vger.kernel.org
    Acked-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

18 Oct, 2012

2 commits


15 Oct, 2012

1 commit


21 Sep, 2012

1 commit


13 Sep, 2012

2 commits

  • As the plat and mach includes need to disappear for single zImage work,
    we need to remove plat/hardware.h.

    Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.

    The old plat/hardware.h already has omap1 only defines, so it gets moved
    to mach/hardware.h for omap1. For omap2+, we use the local soc.h
    that for now just includes the related SoC headers to keep this patch more
    readable.

    Note that the local soc.h still includes plat/cpu.h that can be dealt
    with in later patches. Let's also include plat/serial.h from common.h for
    all the board-*.c files. This allows making the include files local later
    on without patching these files again.

    Note that only minimal changes are done in this patch for the
    drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
    patches are needed to eventually remove cpu_is_omap usage in the drivers.

    Also only minimal changes are done to sound/soc/omap/* to remove the
    unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
    no need to include omap44xx.h.

    While at it, also sort some of the includes in the standard way.

    Cc: linux-watchdog@vger.kernel.org
    Cc: alsa-devel@alsa-project.org
    Cc: Peter Ujfalusi
    Cc: Jarkko Nikula
    Cc: Liam Girdwood
    Acked-by: Wim Van Sebroeck
    Acked-by: Mark Brown
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • We can't use hardcoded interrupts for SPARSE_IRQ, and can replace
    the hardcoded gpio_base with twl_gpiochip.base after it's been
    allocated.

    Cc: Grant Likely
    Cc: Samuel Ortiz
    Cc: Peter Ujfalusi
    Acked-by: Linus Walleij
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

11 Sep, 2012

1 commit

  • plat/board.h file is now empty - remove it.

    Cc: Jarkko Lavinen
    Cc: Chris Ball
    Cc: Kyungmin Park
    Cc: linux-mmc@vger.kernel.org
    Cc: linux-mtd@lists.infradead.org
    Signed-off-by: Igor Grinberg
    Acked-by: Chris Ball
    Signed-off-by: Tony Lindgren

    Igor Grinberg
     

20 Jun, 2012

1 commit


27 May, 2012

1 commit

  • Pull sweeping late_initcall cleanup for arm-soc from Olof Johansson:
    "This is a patch series from Shawn Guo that moves from individual
    late_initcalls() to using a member in the machine structure to invoke
    a platform's late initcalls.

    This cleanup is a step in the move towards multiplatform kernels since
    it would reduce the need to check for compatible platforms in each and
    every initcall."

    Fix up trivial conflicts in arch/arm/mach-{exynos/mach-universal_c210.c,
    imx/mach-cpuimx51.c, omap2/board-generic.c} due to changes nearby (and,
    in the case of cpuimx51.c the board support being deleted)

    * tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: ux500: use machine specific hook for late init
    ARM: tegra: use machine specific hook for late init
    ARM: shmobile: use machine specific hook for late init
    ARM: sa1100: use machine specific hook for late init
    ARM: s3c64xx: use machine specific hook for late init
    ARM: prima2: use machine specific hook for late init
    ARM: pnx4008: use machine specific hook for late init
    ARM: omap2: use machine specific hook for late init
    ARM: omap1: use machine specific hook for late init
    ARM: msm: use machine specific hook for late init
    ARM: imx: use machine specific hook for late init
    ARM: exynos: use machine specific hook for late init
    ARM: ep93xx: use machine specific hook for late init
    ARM: davinci: use machine specific hook for late init
    ARM: provide a late_initcall hook for platform initialization

    Linus Torvalds
     

10 May, 2012

1 commit

  • Add support for the OMAP3 MUSB OTG controller to the LogicPD
    OMAP3530 SOM-LV[1] and Torpedo[2] DevKits

    [1] - www.logicpd.com/products/system-on-modules/omap35x-som-lv/
    [2] - www.logicpd.com/products/system-on-modules/omap35x-torpedo-som/

    Signed-off-by: Ashwin Bihari
    Signed-off-by: Tony Lindgren

    Ashwin Bihari
     

08 May, 2012

1 commit


04 Apr, 2012

1 commit

  • Initialize fixed regulators in the board files. Trying to
    do this in a generic way in gpmc-smsc911x.c gets messy as
    the regulator may be provided by drivers, such as twl4030,
    for some boards.

    Signed-off-by: Russ Dill
    Signed-off-by: Igor Grinberg
    [tony@atomide.com: combined into one patch, updated comments]
    Signed-off-by: Tony Lindgren

    Russ Dill
     

28 Mar, 2012

1 commit

  • Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson:
    "These changes are all specific to one board only. We're trying to
    keep the number of board files low, but generally board level updates
    are ok on platforms that are working on moving towards DT based
    probing, which will eventually lead to removing them.

    The board-ams-delta.c board file gets a conflict between the removal
    of ams_delta_config and the addition of a lot of other data. The
    Kconfig file has two changes in the same line, and in exynos, the
    power domain cleanup conflicts with the addition of the image sensor
    device.

    Signed-off-by: Arnd Bergmann
    [olof: Amended a fix for a mismerge to board-omap4panda.c]
    Signed-off-by: Olof Johansson "

    Fixed up some fairly trivial conflicts manually.

    * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits)
    i.MX35-PDK: Add Camera support
    ARM : mx35: 3ds-board: add framebuffer device
    pxa/hx4700: Remove pcmcia platform_device structure
    ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
    ARM: pxa/hx4700: Remove unwanted request for GPIO105
    ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board
    ARM: EXYNOS: Register JPEG on nuri
    ARM: EXYNOS: Register JPEG on universal_c210
    ARM: S5PV210: Enable JPEG on SMDKV210
    ARM: S5PV210: Add JPEG board definition
    ARM: EXYNOS: Enable JPEG on Origen
    ARM: EXYNOS: Enable JPEG on SMDKV310
    ARM: EXYNOS: Add __init attribute to universal_camera_init()
    ARM: EXYNOS: Add __init attribute to nuri_camera_init()
    ARM: S5PV210: Enable FIMC on SMDKC110
    ARM: S5PV210: Enable FIMC on SMDKV210
    ARM: S5PV210: Enable MFC on SMDKC110
    ARM: S5PV210: Enable MFC on SMDKV210
    ARM: EXYNOS: Enable G2D on SMDKV310
    ARM: tegra: update defconfig
    ...

    Linus Torvalds
     

06 Mar, 2012

1 commit


21 Feb, 2012

1 commit

  • Otherwise omap_device_build() and omap_mux related functions
    can't be marked as __init when twl is build as a module.

    If a board is using GPIO pins or regulators configured by an
    external chip, such as TWL PMIC on I2C bus, the board must
    mark those MMC controllers as deferred. Additionally both
    omap_hsmmc_init() and omap_hsmmc_late_init() must be called
    by the board.

    For MMC controllers using internal GPIO pins for card
    detect and regulators the slots don't need to be marked
    deferred. In this case calling omap_hsmmc_init() is sufficient.

    Only mark the MMC slots using gpio_cd or gpio_wd as deferred
    as noted by Igor Grinberg .

    Note that this patch does not change the behaviour for
    board-4430sdp.c board-omap4panda.c. These boards wrongly
    rely on the omap_hsmmc.c init function callback to configure
    the PMIC GPIO interrupt lines on external chip. If the PMIC
    interrupt lines are not configured during init, they will
    fail.

    Reported-by: Russell King
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

05 Jan, 2012

2 commits


22 Nov, 2011

1 commit


18 Nov, 2011

1 commit

  • As suggested by Russell King - ARM Linux ,
    there's no need to keep local prototypes in non-local headers.

    Add mach-omap1/common.h and mach-omap2/common.h and move the
    local prototypes there from plat/common.h and mach/omap4-common.h.

    Signed-off-by: Tony Lindgren
    Signed-off-by: Russell King

    Tony Lindgren
     

16 Nov, 2011

1 commit

  • Convert the omap2plus platforms to be using CONFIG_MULTI_IRQ_HANDLER.
    Each machine is modified to provide either omap2_intc_handle_irq(),
    omap3_intc_handle_irq() or gic_handle_irq().

    This allows for a major cleanup, removing the MULTI_OMAP setup
    from the interrupt path.

    Tested on both Panda and IGEPv2 (single kernel image)

    Tested-by: Tony Lindgren
    Signed-off-by: Marc Zyngier

    Marc Zyngier
     

09 Oct, 2011

1 commit


24 Aug, 2011

2 commits

  • Introduce them for each omap variant and just make them all call
    omap2_init_common_infrastructure for now. Do this for each board-*.c
    file except for board-generic and board-omap3beagle as they use
    the same machine ID for multiple SoCs.

    No functional changes.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • There's no need to call omap2_init_common_devices from init_early.

    It no longer does anything else except reprogram the memory timings
    for some boards, so it's better to do it later so we have a chance
    to get console messages if something goes wrong.

    Move it to happen after omap_serial_init gets called. And while
    patching it anyways, rename it to omap_sdrc_init as suggested by
    Benoit Cousson .

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

22 Aug, 2011

1 commit


29 Jun, 2011

1 commit


28 Jun, 2011

1 commit


20 Jun, 2011

1 commit

  • This is needed for the following patches so we can initialize the
    rest of the hardware timers later on.

    As with the init_irq calls, there's no need to do cpu_is_omap calls
    during the timer init as we only care about the major omap generation.
    This means that we can initialize the sys_timer with the .timer
    entries alone.

    Note that for now we just set stubs for the various sys_timer entries
    that will get populated in a later patch. The following patches will
    also remove the omap_dm_timer_init calls and change the init for the
    rest of the hardware timers to happen with an arch_initcall.

    Signed-off-by: Tony Lindgren
    Reviewed-by: Kevin Hilman

    Tony Lindgren
     

16 Jun, 2011

1 commit

  • This allows us to remove cpu_is_omap calls from init_irq functions.
    There should not be any need for cpu_is_omap calls as at this point.
    During the timer init we only care about SoC generation, and not about
    subrevisions.

    The main reason for the patch is that we want to initialize only
    minimal omap specific code from the init_early call.

    Signed-off-by: Tony Lindgren
    Reviewed-by: Kevin Hilman

    Tony Lindgren
     

14 Jun, 2011

2 commits


03 May, 2011

1 commit


20 Apr, 2011

1 commit


15 Feb, 2011

1 commit


22 Dec, 2010

1 commit

  • Split omap2_init_common_hw() into two functions. The first,
    omap2_init_common_infrastructure(), initializes the hwmod code and
    data, the OMAP PM code, and the clock code and data. The second,
    omap2_init_common_devices(), handles any other early device
    initialization that, for whatever reason, has not been or cannot be
    moved to initcalls or early platform devices.

    This patch is required for the hwmod postsetup patch, which allows
    board files to change the state that hwmods should be placed into at
    the conclusion of the hwmod _setup() function. For example, for a
    board whose creators wish to ensure watchdog coverage across the
    entire kernel boot process, code to change the watchdog's postsetup
    state will be added in the board-*.c file between the
    omap2_init_common_infrastructure() and omap2_init_common_devices() function
    calls.

    Signed-off-by: Paul Walmsley
    Cc: Tony Lindgren

    Paul Walmsley
     

11 Dec, 2010

1 commit


08 Dec, 2010

1 commit

  • Implement GPIO as a platform device.

    GPIO APIs are used in machine_init functions. Hence it is
    required to complete GPIO probe before board_init. Therefore
    GPIO device register and driver register are implemented as
    postcore_initcalls.

    omap_gpio_init() does nothing now and this function would be
    removed in the next patch as it's usage is spread across most
    of the board files.

    Inorder to convert GPIO as platform device, modifications are
    required in clockxxxx_data.c file for OMAP1 so that device names
    can be used to obtain clock instead of getting clocks by
    name/NULL ptr.

    Use runtime pm APIs (pm_runtime_put*/pm_runtime_get*) for enabling
    or disabling the clocks, modify sysconfig settings and remove usage
    of clock FW APIs.
    Note 1: Converting GPIO driver to use runtime PM APIs is not done as a
    separate patch because GPIO clock names are different for various OMAPs
    and are different for some of the banks in the same CPU. This would need
    usage of cpu_is checks and bank id checks while using clock FW APIs in
    the gpio driver. Hence while making GPIO a platform driver framework,
    PM runtime APIs are used directly.

    Note 2: While implementing GPIO as a platform device, pm runtime APIs
    are used as mentioned above and modification is not done in gpio's
    prepare for idle/ resume after idle functions. This would be done
    in the next patch series and GPIO driver would be made to use dev_pm_ops
    instead of sysdev_class in that series only.

    Due to the above, the GPIO driver implicitly relies on
    CM_AUTOIDLE = 1 on its iclk for power management to work, since the
    driver never disables its iclk.
    This would be taken care in the next patch series (see Note 3 below).

    Refer to
    http://www.mail-archive.com/linux-omap@vger.kernel.org/msg39112.html
    for more details.

    Note 3: only pm_runtime_get_sync is called in gpio's probe() and
    pm_runtime_put* is never called. This is to make the implementation
    similar to the existing GPIO code. Another patch series would be sent
    to correct this.

    In OMAP3 and OMAP4 gpio's debounce clocks are optional clocks. They
    are enabled/ disabled whenever required using clock framework APIs

    TODO:
    1. Cleanup the GPIO driver. Use function pointers and register
    offest pointers instead of using hardcoded values
    2. Remove all cpu_is_ checks and OMAP specific macros
    3. Remove usage of gpio_bank array so that only
    instance specific information is used in driver code
    4. Rename 'method'/ avoid it's usage
    5. Fix the non-wakeup gpios handling for OMAP2430, OMAP3 & OMAP4
    6. Modify gpio's prepare for idle/ resume after idle functions
    to use runtime pm implentation.

    Signed-off-by: Charulatha V
    Signed-off-by: Rajendra Nayak
    Reviewed-by: Basak, Partha
    Acked-by: Kevin Hilman
    [tony@atomide.com: updated for bank specific revision and updated boards]
    Signed-off-by: Tony Lindgren

    Varadarajan, Charulatha
     

03 Dec, 2010

1 commit