22 Feb, 2013

2 commits

  • Pull ARM SoC-specific updates from Arnd Bergmann:
    "This is a larger set of new functionality for the existing SoC
    families, including:

    - vt8500 gains support for new CPU cores, notably the Cortex-A9 based
    wm8850

    - prima2 gains support for the "marco" SoC family, its SMP based
    cousin

    - tegra gains support for the new Tegra4 (Tegra114) family

    - socfpga now supports a newer version of the hardware including SMP

    - i.mx31 and bcm2835 are now using DT probing for their clocks

    - lots of updates for sh-mobile

    - OMAP updates for clocks, power management and USB

    - i.mx6q and tegra now support cpuidle

    - kirkwood now supports PCIe hot plugging

    - tegra clock support is updated

    - tegra USB PHY probing gets implemented diffently"

    * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (148 commits)
    ARM: prima2: remove duplicate v7_invalidate_l1
    ARM: shmobile: r8a7779: Correct TMU clock support again
    ARM: prima2: fix __init section for cpu hotplug
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 3/3)
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 1/3)
    arm: socfpga: Add SMP support for actual socfpga harware
    arm: Add v7_invalidate_l1 to cache-v7.S
    arm: socfpga: Add entries to enable make dtbs socfpga
    arm: socfpga: Add new device tree source for actual socfpga HW
    ARM: tegra: sort Kconfig selects for Tegra114
    ARM: tegra: enable ARCH_REQUIRE_GPIOLIB for Tegra114
    ARM: tegra: Fix build error w/ ARCH_TEGRA_114_SOC w/o ARCH_TEGRA_3x_SOC
    ARM: tegra: Fix build error for gic update
    ARM: tegra: remove empty tegra_smp_init_cpus()
    ARM: shmobile: Register ARM architected timer
    ARM: MARCO: fix the build issue due to gic-vic-to-irqchip move
    ARM: shmobile: r8a7779: Correct TMU clock support
    ARM: mxs_defconfig: Select CONFIG_DEVTMPFS_MOUNT
    ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles
    ARM: mxs: use apbx bus clock to drive the timers on timrotv2
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Arnd Bergmann:
    "A large number of cleanups, all over the platforms. This is dominated
    largely by the Samsung platforms (s3c, s5p, exynos) and a few of the
    others moving code out of arch/arm into more appropriate subsystems.

    The clocksource and irqchip drivers are now abstracted to the point
    where platforms that are already cleaned up do not need to even
    specify the driver they use, it can all get configured from the device
    tree as we do for normal device drivers. The clocksource changes
    basically touch every single platform in the process.

    We further clean up the use of platform specific header files here,
    with the goal of turning more of the platforms over to being
    "multiplatform" enabled, which implies that they cannot expose their
    headers to architecture independent code any more.

    It is expected that no functional changes are part of the cleanup.
    The overall reduction in total code lines is mostly the result of
    removing broken and obsolete code."

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)
    ARM: mvebu: correct gated clock documentation
    ARM: kirkwood: add missing include for nsa310
    ARM: exynos: move exynos4210-combiner to drivers/irqchip
    mfd: db8500-prcmu: update resource passing
    drivers/db8500-cpufreq: delete dangling include
    ARM: at91: remove NEOCORE 926 board
    sunxi: Cleanup the reset code and add meaningful registers defines
    ARM: S3C24XX: header mach/regs-mem.h local
    ARM: S3C24XX: header mach/regs-power.h local
    ARM: S3C24XX: header mach/regs-s3c2412-mem.h local
    ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/
    ARM: S3C24XX: transform s3c2443 subirqs into new structure
    ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2443 irq code to irq.c
    ARM: S3C24XX: transform s3c2416 irqs into new structure
    ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2416 irq init to common irq code
    ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property
    ARM: S3C24XX: Move irq syscore-ops to irq-pm
    clocksource: always define CLOCKSOURCE_OF_DECLARE
    ...

    Linus Torvalds
     

20 Feb, 2013

1 commit

  • …l/git/tmlind/linux-omap into next/soc

    These changes contain the OMAP USB related platform data changes
    that were dropped from linux next because of the merge conflicts
    as requested by me and Olof. The reason was that at this point
    we really should be able to do the arch/arm related changes
    separately from driver changes to avoid dependencies between
    branches.

    These patches were initially part of the USB related MFD patches.
    Based on our comments, Roger Quadros quickly reworked these
    patches into a shared branch between ARM SoC tree and the MFD
    tree, then separate patches for the OMAP platform data and
    MFD driver.

    Note that this branch will conflict with c1d1cd597fc7
    ("ARM: OMAP2+: omap_device: remove obsolete pm_lats and
    early_device code"). Please see http://lkml.org/lkml/2013/2/11/16
    for the merge resolution.

    [arnd - resolved the merge conflict]

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

14 Feb, 2013

1 commit

  • Let's have a single platform data structure for the OMAP's High-Speed
    USB host subsystem instead of having 3 separate ones i.e. one for
    board data, one for USB Host (UHH) module and one for USB-TLL module.

    This makes the code much simpler and avoids creating multiple copies of
    platform data.

    Signed-off-by: Roger Quadros
    Reviewed-by: Felipe Balbi

    Roger Quadros
     

07 Feb, 2013

1 commit

  • This is w.r.t the changes in PHY library to support adding and getting
    multiple PHYs of the same type. In the new design, the
    binding information between the PHY and the USB controller should be
    specified in the platform specific initialization code. So it's been
    done here for OMAP platforms.

    Signed-off-by: Kishon Vijay Abraham I
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I
     

25 Dec, 2012

1 commit

  • Now that the only field in struct sys_timer is .init, delete the struct,
    and replace the machine descriptor .timer field with the initialization
    function itself.

    This will enable moving timer drivers into drivers/clocksource without
    having to place a public prototype of each struct sys_timer object into
    include/linux; the intent is to create a single of_clocksource_init()
    function that determines which timer driver to initialize by scanning
    the device dtree, much like the proposed irqchip_init() at:
    http://www.spinics.net/lists/arm-kernel/msg203686.html

    Includes mach-omap2 fixes from Igor Grinberg.

    Tested-by: Robert Jarzmik
    Signed-off-by: Stephen Warren

    Stephen Warren
     

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
     

15 Oct, 2012

2 commits

  • Requirement of gpmc header outside of mach-omap2 has been
    cutoff, move gpmc header file in plat-omap folder to local
    mach-omap2 folder

    Objective - common zImage participation of omap

    Signed-off-by: Afzal Mohammed

    Afzal Mohammed
     
  • Helper function for updating nand platform data has been
    added the capability to take timing structure arguement.
    Usage of omap_nand_flash_init() has been replaced by modifed
    one, omap_nand_flash_init was doing things similar to
    board_nand_init except that NAND CS# were being acquired
    based on bootloader setting. As CS# is hardwired for a given
    board, acquiring gpmc CS# has been removed, and updated with
    the value on board.

    NAND CS# used in beagle board & omap3evm was found to be CS0.
    Thomas Weber reported
    that value of devkit8000 to be CS0. Overo board was found
    to be using CS0 based on u-boot, while google grep says
    omap3touchbook too has CS0.

    Signed-off-by: Afzal Mohammed
    Reviewed-by: Jon Hunter
    Acked-by: Igor Grinberg

    Afzal Mohammed
     

19 Sep, 2012

1 commit

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the omap include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Tony Lindgren
    Cc: Kevin Hilman
    Cc: "Benoît Cousson"
    Cc: Dmitry Torokhov
    Cc: David Woodhouse
    Cc: Kyungmin Park
    Cc: Ohad Ben-Cohen
    Cc: Grant Likely
    Cc: Omar Ramirez Luna
    Cc: Tomi Valkeinen
    Cc: Florian Tobias Schandinat
    Cc: Peter Ujfalusi
    Cc: Jarkko Nikula
    Cc: Liam Girdwood
    Cc: Artem Bityutskiy
    Cc: Jean Pihet
    Cc: J Keerthy
    Cc: linux-omap@vger.kernel.org

    Arnd Bergmann
     

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
     

08 May, 2012

1 commit


29 Mar, 2012

2 commits

  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Disintegrate asm/system.h for ARM.

    Signed-off-by: David Howells
    cc: Russell King
    cc: linux-arm-kernel@lists.infradead.org

    David Howells
     

25 Feb, 2012

1 commit

  • Now that omap hsmmc init is split into two functions, it's safe
    to mark omap_hsmmc_init and omap_mux related functions to __init.

    This basically reverts the following fixes for the case where
    TWL was compiled as a module:

    a98f77b (ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup())
    8930b4e (ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c)

    Additionally it fixes up the remaining section warnings for
    all callers of omap_mux functions.

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

    Tony Lindgren
     

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
     

01 Nov, 2011

1 commit

  • Omap cleanups conflicted with omap2_dss work in a nontrivial
    way, this is the most logical fixup.

    Conflicts:
    arch/arm/mach-omap2/board-2430sdp.c
    arch/arm/mach-omap2/board-4430sdp.c
    arch/arm/mach-omap2/board-apollon.c
    arch/arm/mach-omap2/board-h4.c
    arch/arm/mach-omap2/board-ldp.c
    arch/arm/mach-omap2/board-rx51.c

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

09 Oct, 2011

1 commit


30 Sep, 2011

1 commit


27 Sep, 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


04 Jul, 2011

2 commits


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