13 Jan, 2012

1 commit

  • Several platforms are now using the memblock_alloc+memblock_free+
    memblock_remove trick to obtain memory which won't be mapped in the
    kernel's page tables. Most platforms do this (correctly) in the
    ->reserve callback. However, OMAP has started to call these functions
    outside of this callback, and this is extremely unsafe - memory will
    not be unmapped, and could well be given out after memblock is no
    longer responsible for its management.

    So, provide arm_memblock_steal() to perform this function, and ensure
    that it panic()s if it is used inappropriately. Convert everyone
    over, including OMAP.

    As a result, OMAP with OMAP4_ERRATA_I688 enabled will panic on boot
    with this change. Mark this option as BROKEN and make it depend on
    BROKEN. OMAP needs to be fixed, or 137d105d50 (ARM: OMAP4: Fix
    errata i688 with MPU interconnect barriers.) reverted until such
    time it can be fixed correctly.

    Signed-off-by: Russell King

    Russell King
     

10 Jan, 2012

2 commits

  • power management changes for omap and imx

    A significant part of the changes for these two platforms went into
    power management, so they are split out into a separate branch.

    * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
    ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
    ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
    ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
    ARM: imx6q: build pm code only when CONFIG_PM selected
    ARM: mx5: use generic irq chip pm interface for pm functions on
    ARM: omap: pass minimal SoC/board data for UART from dt
    arm/dts: Add minimal device tree support for omap2420 and omap2430
    omap-serial: Add minimal device tree support
    omap-serial: Use default clock speed (48Mhz) if not specified
    omap-serial: Get rid of all pdev->id usage
    ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
    ARM: OMAP4: PRM: use PRCM interrupt handler
    ARM: OMAP3: pm: use prcm chain handler
    ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
    ARM: OMAP2+: mux: add support for PAD wakeup interrupts
    ARM: OMAP: PRCM: add suspend prepare / finish support
    ARM: OMAP: PRCM: add support for chain interrupt handler
    ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
    ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
    ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
    ...

    Linus Torvalds
     
  • Conflicts:
    arch/arm/mach-imx/mach-imx6q.c
    arch/arm/mach-omap2/board-ti8168evm.c
    arch/arm/mach-s3c64xx/Kconfig
    arch/arm/mach-tegra/Makefile
    arch/arm/mach-tegra/board-dt-tegra20.c
    arch/arm/mach-tegra/common.c

    Lots of relatively simple conflicts between the board
    changes and stuff from the arm tree. This pulls in
    the resolution from the samsung/cleanup tree, so we
    don't get conflicting merges.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

20 Dec, 2011

1 commit


19 Dec, 2011

3 commits

  • If running in the Normal World on a TrustZone-enabled SoC, Linux
    does not have complete control over the L2 cache controller
    configuration. The kernel cannot work reliably on such platforms
    without the l2x0 cache support code built in.

    This patch unconditionally enables l2x0 support for the OMAP4 SoCs.

    Thanks to Rob Herring for this suggestion. [1]

    [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/074495.html

    Signed-off-by: Dave Martin
    Acked-by: Tony Lindgren

    Dave Martin
     
  • Making SMP depend on (huge list of MACH_ and ARCH_ configs) is
    bothersome to maintain and likely to lead to merge conflicts.

    This patch moves the knowledge of which platforms are SMP-capable
    to the individual machines. To enable this, a new HAVE_SMP config
    option is introduced to allow machines to indicate that they can
    run in a SMP configuration.

    Signed-off-by: Dave Martin
    Acked-by: Linus Walleij
    (for nomadik, ux500)
    Acked-by: Tony Lindgren
    (for omap)
    Acked-by: Kukjin Kim
    (for exynos)
    Acked-by: Sascha Hauer
    (for imx)
    Acked-by: Olof Johansson
    (for tegra)

    Dave Martin
     
  • Making CACHE_L2X0 depend on (huge list of MACH_ and ARCH_ configs)
    is bothersome to maintain and likely to lead to merge conflicts.

    This patch moves the knowledge of which platforms have a L2x0 or
    PL310 cache controller to the individual machines. To enable this,
    a new MIGHT_HAVE_CACHE_L2X0 config option is introduced to allow
    machines to indicate that they may have such a cache controller
    independently of each other.

    Boards/SoCs which cannot reliably operate without the L2 cache
    controller support will need to select CACHE_L2X0 directly from
    their own Kconfigs instead. This applies to some TrustZone-enabled
    boards where Linux runs in the Normal World, for example.

    Signed-off-by: Dave Martin
    Acked-by: Anton Vorontsov
    (for cns3xxx)
    Acked-by: Tony Lindgren
    (for omap)
    Acked-by: Shawn Guo
    (for imx)
    Acked-by: Kukjin Kim
    (for exynos)
    Acked-by: Sascha Hauer
    (for imx)
    Acked-by: Olof Johansson
    (for tegra)

    Dave Martin
     

17 Dec, 2011

1 commit


14 Dec, 2011

3 commits

  • This patch adds minimal support and build configuration for TI8148 EVM. Also
    adds support for low level debugging on UART1 console on the EVM.

    Note that existing TI8168 EVM file (board-ti8168evm.c) is updated with machine
    info for TI8148 EVM.

    Signed-off-by: Hemant Pedanekar
    Signed-off-by: Tony Lindgren

    Hemant Pedanekar
     
  • This patch updates existing macros, functions used for TI816X, to enable
    addition of other SoCs belonging to TI81XX family (e.g., TI814X).

    The approach taken is to use TI81XX/ti81xx for code/data going to be common
    across all TI81XX devices.

    cpu_is_ti81xx() is introduced to handle code common across TI81XX devices.

    In addition, ti8168_evm_map_io() is now replaced with ti81xx_map_io() and moved
    in mach-omap2/common.c as same will be used for TI814X and is not board
    specific.

    Signed-off-by: Hemant Pedanekar
    Signed-off-by: Tony Lindgren

    Hemant Pedanekar
     
  • This patch updates the common platform files with AM335X device
    support (AM33XX family).

    The approach taken in this patch is,
    AM33XX device will be considered as OMAP3 variant, and a separate
    SoC class created for AM33XX family of devices with a subclass type
    for AM335X device, which is newly added device in the family.

    This means, cpu_is_omap34xx(), cpu_is_am33xx() and cpu_is_am335x()
    checks will return success on AM335X device.
    A kernel config option CONFIG_SOC_OMAPAM33XX is added under OMAP3
    to include support for AM33XX build.

    Also, cpu_mask and RATE_IN_XXX flags have crossed 8 bit hence
    struct clksel_rate.flags, struct prcm_config.flags and cpu_mask
    are changed to u16 from u8.

    Signed-off-by: Afzal Mohammed
    Signed-off-by: Vaibhav Hiremath
    Cc: Hemant Pedanekar
    [tony@atomide.com: left out CK_AM33XX for now]
    Signed-off-by: Tony Lindgren

    Afzal Mohammed
     

09 Dec, 2011

1 commit

  • On OMAP4 SOC, intecronnects has many write buffers in the async bridges
    and they need to be drained before CPU enters into standby state.

    Patch 'OMAP4: PM: Add CPUX OFF mode support' added CPU PM support
    but OMAP errata i688 (Async Bridge Corruption) needs to be taken
    care to avoid issues like system freeze, CPU deadlocks, random
    crashes with register accesses, synchronisation loss on initiators
    operating on both interconnect port simultaneously.

    As per the errata, if a data is stalled inside asynchronous bridge
    because of back pressure, it may be accepted multiple times, creating
    pointer misalignment that will corrupt next transfers on that data
    path until next reset of the system (No recovery procedure once
    the issue is hit, the path remains consistently broken).
    Async bridge can be found on path between MPU to EMIF and
    MPU to L3 interconnect. This situation can happen only when the
    idle is initiated by a Master Request Disconnection (which is
    trigged by software when executing WFI on CPU).

    The work-around for this errata needs all the initiators
    connected through async bridge must ensure that data path
    is properly drained before issuing WFI. This condition will be
    met if one Strongly ordered access is performed to the
    target right before executing the WFI. In MPU case, L3 T2ASYNC
    FIFO and DDR T2ASYNC FIFO needs to be drained. IO barrier ensure
    that there is no synchronisation loss on initiators operating
    on both interconnect port simultaneously.

    Thanks to Russell for a tip to conver assembly function to
    C fuction there by reducing 40 odd lines of code from the patch.

    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Richard Woodruff
    Acked-by: Jean Pihet
    Reviewed-by: Kevin Hilman
    Tested-by: Vishwanath BS
    Signed-off-by: Kevin Hilman

    Santosh Shilimkar
     

06 Dec, 2011

1 commit


24 Nov, 2011

1 commit

  • This patch selects ARM_AMBA if OMAP3_EMU is defined because
    OC_ETM depends on ARM_AMBA, so fix the link failure[1].

    [1],
    arch/arm/kernel/built-in.o: In function `etm_remove':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:609: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etb_remove':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:409: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etm_init':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:640: undefined
    reference to `amba_driver_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:646: undefined
    reference to `amba_driver_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:648: undefined
    reference to `amba_driver_unregister'
    arch/arm/kernel/built-in.o: In function `etm_probe':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:545: undefined
    reference to `amba_request_regions'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:595: undefined
    reference to `amba_release_regions'
    arch/arm/kernel/built-in.o: In function `etb_probe':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:347: undefined
    reference to `amba_request_regions'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:392: undefined
    reference to `amba_release_regions'
    arch/arm/mach-omap2/built-in.o: In function `emu_init':
    /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:62:
    undefined reference to `amba_device_register'
    /home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:63:
    undefined reference to `amba_device_register'
    make: *** [.tmp_vmlinux1] Error 1
    making modules

    Signed-off-by: Ming Lei
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Lindgren

    Ming Lei
     

16 Nov, 2011

2 commits


04 Nov, 2011

1 commit

  • * 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
    mfd: Fix missing abx500 header file updates
    mfd: Add missing include to intel_msic
    x86, mrst: add platform support for MSIC MFD driver
    mfd: Expose TurnOnStatus in ab8500 sysfs
    mfd: Remove support for early drop ab8500 chip
    mfd: Add support for ab8500 v3.3
    mfd: Add ab8500 interrupt disable hook
    mfd: Convert db8500-prcmu panic() into pr_crit()
    mfd: Refactor db8500-prcmu request_clock() function
    mfd: Rename db8500-prcmu init function
    mfd: Fix db5500-prcmu defines
    mfd: db8500-prcmu voltage domain consumers additions
    mfd: db8500-prcmu reset code retrieval
    mfd: db8500-prcmu tweak for modem wakeup
    mfd: Add db8500-pcmu watchdog accessor functions for watchdog
    mfd: hwacc power state db8500-prcmu accessor
    mfd: Add db8500-prcmu accessors for PLL and SGA clock
    mfd: Move to the new db500 PRCMU API
    mfd: Create a common interface for dbx500 PRCMU drivers
    mfd: Initialize DB8500 PRCMU regs
    ...

    Fix up trivial conflicts in
    arch/arm/mach-imx/mach-mx31moboard.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-u300/include/mach/irqs.h
    drivers/mfd/wm831x-spi.c

    Linus Torvalds
     

02 Nov, 2011

1 commit

  • * 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc: (31 commits)
    ARM: OMAP: Warn if omap_ioremap is called before SoC detection
    ARM: OMAP: Move set_globals initialization to happen in init_early
    ARM: OMAP: Map SRAM later on with ioremap_exec()
    ARM: OMAP: Remove calls to SRAM allocations for framebuffer
    ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done
    ARM: OMAP1: Use generic map_io, init_early and init_irq
    arm/dts: OMAP3+: Add mpu, dsp and iva nodes
    arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver
    ARM: OMAP2+: l3-noc: Add support for device-tree
    ARM: OMAP2+: board-generic: Add i2c static init
    ARM: OMAP2+: board-generic: Add DT support to generic board
    arm/dts: Add support for OMAP3 Beagle board
    arm/dts: Add initial device tree support for OMAP3 SoC
    arm/dts: Add support for OMAP4 SDP board
    arm/dts: Add support for OMAP4 PandaBoard
    arm/dts: Add initial device tree support for OMAP4 SoC
    ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
    ARM: OMAP: omap_device: Add omap_device_[alloc|delete] for DT integration
    of: Add helpers to get one string in multiple strings property
    ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures
    ...

    Fix up trivial header file conflicts in arch/arm/mach-omap2/board-generic.c

    Linus Torvalds
     

24 Oct, 2011

1 commit

  • We currently have two symbols to control compilation the MFD subsystem,
    MFD_SUPPORT and MFD_CORE. The MFD_SUPPORT is actually not required
    at all, it only hides the submenu when not set, with the effect that
    Kconfig warns about missing dependencies when another driver selects
    an MFD driver while MFD_SUPPORT is disabled. Turning the MFD submenu
    back from menuconfig into a plain menu simplifies the Kconfig syntax
    for those kinds of users and avoids the surprise when the menu
    suddenly appears because another driver was enabled that selects this
    symbol.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

05 Oct, 2011

1 commit


02 Oct, 2011

1 commit


06 Aug, 2011

1 commit


05 Jul, 2011

1 commit

  • cm-t3730 is basically the same board as cm-t35,
    but has AM/DM3730 SoC assembled and therefore some changes are required.

    Signed-off-by: Igor Grinberg
    Acked-by: Mike Rapoport
    [tony@atomide.com: updated for init_irq cleanup as noted by khilman@ti.com]
    Signed-off-by: Tony Lindgren

    Igor Grinberg
     

17 May, 2011

1 commit


24 Mar, 2011

1 commit

  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (35 commits)
    ARM: Update (and cut down) mach-types
    ARM: 6771/1: vexpress: add support for multiple core tiles
    ARM: 6797/1: hw_breakpoint: Fix newlines in WARNings
    ARM: 6751/1: vexpress: select applicable errata workarounds in Kconfig
    ARM: 6753/1: omap4: Enable ARM local timers with OMAP4430 es1.0 exception
    ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime
    ARM: pgtable: add pud-level code
    ARM: 6673/1: LPAE: use phys_addr_t instead of unsigned long for start of membanks
    ARM: Use long long format when printing meminfo physical addresses
    ARM: integrator: add Integrator/CP sched_clock support
    ARM: realview/vexpress: consolidate SMP bringup code
    ARM: realview/vexpress: consolidate localtimer support
    ARM: integrator/versatile: consolidate FPGA IRQ handling code
    ARM: rationalize versatile family Kconfig/Makefile
    ARM: realview: remove old AMBA device DMA definitions
    ARM: versatile: remove old AMBA device DMA definitions
    ARM: vexpress: use new init_early for clock tree and sched_clock init
    ARM: realview: use new init_early for clock tree and sched_clock init
    ARM: versatile: use new init_early for clock tree and sched_clock init
    ARM: integrator: use new init_early for clock tree init
    ...

    Linus Torvalds
     

20 Mar, 2011

1 commit


18 Mar, 2011

1 commit

  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits)
    omap: zoom: host should not pull up wl1271's irq line
    arm: plat-omap: iommu: fix request_mem_region() error path
    OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430
    omap4: mux: Remove duplicate mux modes
    omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag
    omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set
    omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected
    omap4: board-omap4panda: Initialise the serial pads
    omap3: board-3430sdp: Initialise the serial pads
    omap4: board-4430sdp: Initialise the serial pads
    omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init
    omap2+: mux: Remove the use of IDLE flag
    omap2+: Add separate list for dynamic pads to mux
    perf: add OMAP support for the new power events
    OMAP4: Add IVA OPP enteries.
    OMAP4: Update Voltage Rail Values for MPU, IVA and CORE
    OMAP4: Enable 800 MHz and 1 GHz MPU-OPP
    OMAP3+: OPP: Replace voltage values with Macros
    OMAP3: wdtimer: Fix CORE idle transition
    Watchdog: omap_wdt: add fine grain runtime-pm
    ...

    Fix up various conflicts in
    - arch/arm/mach-omap2/board-omap3evm.c
    - arch/arm/mach-omap2/clock3xxx_data.c
    - arch/arm/mach-omap2/usb-musb.c
    - arch/arm/plat-omap/include/plat/usb.h
    - drivers/usb/musb/musb_core.h

    Linus Torvalds
     

09 Mar, 2011

1 commit


24 Feb, 2011

1 commit


23 Feb, 2011

1 commit


17 Feb, 2011

3 commits


28 Jan, 2011

1 commit

  • We want to have just CONFIG_ARCH_OMAP2, 3 and 4. The rest
    are nowadays just subcategories of these.

    Search and replace the following:

    ARCH_OMAP2420 SOC_OMAP2420
    ARCH_OMAP2430 SOC_OMAP2430
    ARCH_OMAP3430 SOC_OMAP3430

    No functional changes.

    Signed-off-by: Tony Lindgren
    Signed-off-by: Thomas Weber
    Acked-by: Sourav Poddar

    Tony Lindgren
     

08 Jan, 2011

1 commit

  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)
    USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)
    USB: serial: ftdi_sio: add support for TIOCSERGETLSR
    USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport
    USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()
    usb: ehci-omap: fix tll channel enable mask
    usb: ohci-omap3: fix trivial typo
    USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096
    USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq's
    USB: gadget: update ci13xxx to work with g_ether
    USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers
    Revert "USB: musb: pm: don't rely fully on clock support"
    Revert "USB: musb: blackfin: pm: make it work"
    USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path
    USB: uas: Ensure we only bind to a UAS interface
    USB: uas: Rename sense pipe and sense urb to status pipe and status urb
    USB: uas: Use kzalloc instead of kmalloc
    USB: uas: Fix up the Sense IU
    usb: musb: core: kill unneeded #include's
    DA8xx: assign name to MUSB IRQ resource
    usb: gadget: g_ncm added
    ...

    Manually fix up trivial conflicts in USB Kconfig changes in:
    arch/arm/mach-omap2/Kconfig
    arch/sh/Kconfig
    drivers/usb/Kconfig
    drivers/usb/host/ehci-hcd.c
    and annoying chip clock data conflicts in:
    arch/arm/mach-omap2/clock3xxx_data.c
    arch/arm/mach-omap2/clock44xx_data.c

    Linus Torvalds
     

22 Dec, 2010

2 commits

  • This patch adds OPP tables for OMAP4. New file has been added to keep
    the OMAP4 opp tables and the registration of these tables with the
    generic opp framework by OMAP SoC OPP interface.

    Based on:
    http://dev.omapzoom.org/?p=santosh/kernel-omap4-base.git;a=blob;f=arch/arm/mach-omap2/opp44xx_data.c;h=252e3d0cb6050a64f390b9311c1c4977d74f762a;hb=refs/heads/omap4_next

    Signed-off-by: Thara Gopinath
    Signed-off-by: Nishanth Menon
    Signed-off-by: Kevin Hilman

    Nishanth Menon
     
  • Add OPP data for OMAP34xx and OMAP36xx and initialization functions
    to populate OPP tables based on current SoC.
    introduce an OMAP generic opp initialization routine which OMAP3
    and OMAP4+ SoCs can use to register their OPP definitions.

    Cc: Thomas Petazzoni
    Signed-off-by: Kevin Hilman
    Signed-off-by: Nishanth Menon
    Signed-off-by: Kevin Hilman

    Nishanth Menon
     

21 Dec, 2010

1 commit


18 Dec, 2010

2 commits