1. 24 9月, 2012 2 次提交
  2. 23 9月, 2012 1 次提交
    • R
      ARM: omap: clk: add clk_prepare and clk_unprepare · 4d7cb45e
      Rajendra Nayak 提交于
      As part of Common Clk Framework (CCF) the clk_enable() operation
      was split into a clk_prepare() which could sleep, and a clk_enable()
      which should never sleep. Similarly the clk_disable() was
      split into clk_disable() and clk_unprepare(). This was
      needed to handle complex cases where in a clk gate/ungate
      would require a slow and a fast part to be implemented.
      None of the clocks below seem to be in the 'complex' clocks
      category and are just simple clocks which are enabled/disabled
      through simple register writes.
      Most of the instances also seem to be called in non-atomic
      context which means its safe to move all of those from
      using a clk_enable() to clk_prepare_enable() and clk_disable() to
      clk_disable_unprepare().
      
      For some others, mainly the ones handled through the hwmod framework
      there is a possibility that they get called in either an atomic
      or a non-atomic context.
      
      The way these get handled below work only as long as clk_prepare
      is implemented as a no-op (which is the case today) since this gets
      called very early at boot while most subsystems are unavailable.
      Hence these are marked with a *HACK* comment, which says we need
      to re-visit these once we start doing something meaningful with
      clk_prepare/clk_unprepare like doing voltage scaling or something
      that involves i2c.
      
      This is in preparation of OMAP moving to CCF.
      
      Based on initial changes from Mike Turquette.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      4d7cb45e
  3. 13 9月, 2012 2 次提交
    • T
      ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+ · dbc04161
      Tony Lindgren 提交于
      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 <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dbc04161
    • T
      ARM: OMAP2+: Prepare for irqs.h removal · 7d7e1eba
      Tony Lindgren 提交于
      As the interrupts should only be defined in the platform_data, and
      eventually coming from device tree, there's no need to define them
      in header files.
      
      Let's remove the hardcoded references to irqs.h and fix up the includes
      so we don't rely on headers included in irqs.h. Note that we're
      defining OMAP_INTC_START as 0 to the interrupts. This will be needed
      when we enable SPARSE_IRQ. For some drivers we need to add
      #include <plat/cpu.h> for now until these drivers are fixed to
      remove cpu_is_omapxxxx() usage.
      
      While at it, sort som of the includes the standard way, and add
      the trailing commas where they are missing in the related data
      structures.
      
      Note that for drivers/staging/tidspbridge we just define things
      locally.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7d7e1eba
  4. 12 9月, 2012 1 次提交
    • P
      ARM: OMAP: clean up some smatch warnings, fix some printk(KERN_ERR ... · a032d33b
      Paul Walmsley 提交于
      Resolve the following warnings from smatch:
      
      arch/arm/mach-omap2/gpmc.c:282 gpmc_cs_set_timings() info: why not propagate 'div' from gpmc_cs_calc_divider() instead of -1?
      arch/arm/mach-omap2/serial.c:328 omap_serial_init_port() error: 'pdev' dereferencing possible ERR_PTR()
      arch/arm/mach-omap2/timer.c:213 omap2_gp_clockevent_init() Error invalid range 4096 to -1
      arch/arm/mach-omap2/gpio.c:63 omap2_gpio_dev_init() warn: possible memory leak of 'pdata'
      arch/arm/mach-omap2/omap_hwmod.c:1478 _assert_hardreset() warn: assigning -22 to unsigned variable 'ret'
      arch/arm/mach-omap2/omap_hwmod.c:1487 _assert_hardreset() warn: 4294963201 is more than 255 (max '(ret)' can be) so this is always the same.
      arch/arm/mach-omap2/omap_hwmod.c:1545 _read_hardreset() warn: assigning -22 to unsigned variable 'ret'
      arch/arm/mach-omap2/omap_hwmod.c:1554 _read_hardreset() warn: 4294963201 is more than 255 (max '(ret)' can be) so this is always the same.
      arch/arm/mach-omap2/dpll3xxx.c:629 omap3_clkoutx2_recalc() error: we previously assumed 'pclk' could be null (see line 627)
      arch/arm/mach-omap2/board-n8x0.c:422 n8x0_mmc_late_init() Error invalid range 14 to 13
      arch/arm/mach-omap1/leds-h2p2-debug.c:71 h2p2_dbg_leds_event() error: potentially derefencing uninitialized 'fpga'.
      arch/arm/plat-omap/mux.c:79 omap_cfg_reg() Error invalid range 4096 to -1
      
      Thanks to Tony Lindgren <tony@atomide.com> for pointing out that BUG()
      can be disabled.  The changes in the first version that removed the
      subsequent return() after BUG() states have been dropped.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      a032d33b
  5. 31 8月, 2012 2 次提交
  6. 09 7月, 2012 1 次提交
  7. 14 5月, 2012 1 次提交
    • I
      ARM: OMAP3: gpmc: add BCH ecc api and modes · 8d602cf5
      Ivan Djelic 提交于
      This patch adds a simple BCH ecc computation api, similar to the
      existing Hamming ecc api. It is intended to be used by the MTD layer.
      It implements the following features:
      
      - support 4-bit and 8-bit ecc computation
      - do not protect user bytes in spare area, only data area is protected
      - ecc for an erased NAND page (0xFFs) is also a sequence of 0xFFs
      
      This last feature is obtained by adding a constant polynomial to
      the hardware computed ecc. It allows to correct bitflips in blank pages
      and is extremely useful to support filesystems such as UBIFS, which expect
      erased pages to contain only 0xFFs.
      
      This api has been tested on an OMAP3630 board.
      
      Artem: The OMAP maintainer Tony Lindgren gave us his blessing for merging
      this patch via the MTD tree.
      Signed-off-by: NIvan Djelic <ivan.djelic@parrot.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      8d602cf5
  8. 11 5月, 2012 1 次提交
  9. 13 4月, 2012 1 次提交
    • P
      ARM: OMAP2+: GPMC: resolve type-conversion warning from sparse · 355f8eee
      Paul Walmsley 提交于
      arch/arm/mach-omap2/gpmc.c passes a return value from ioremap() as the
      fifth argument to request_irq() without casting it.  This causes
      sparse to generate the following warning:
      
      arch/arm/mach-omap2/gpmc.c:759:63: warning: incorrect type in argument 5 (different address spaces)
      arch/arm/mach-omap2/gpmc.c:759:63:    expected void *dev
      arch/arm/mach-omap2/gpmc.c:759:63:    got void [noderef] <asn:2>*static [toplevel] [assigned] gpmc_base
      
      It turns out that it's not necessary to pass this.  gpmc_base is a
      file-scoped static variable, the ISR is located in the same file ... and
      the ISR doesn't even touch the passed-in variable.  So, just replace it with
      NULL in request_irq().
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      355f8eee
  10. 06 3月, 2012 1 次提交
  11. 27 1月, 2012 1 次提交
  12. 29 3月, 2011 1 次提交
  13. 19 3月, 2011 1 次提交
    • B
      ARM: OMAP2+: Fix warnings for GPMC interrupt · 77aded2f
      Balaji T K 提交于
      Commit db97eb7d
      (omap: gpmc: enable irq mode in gpmc) enabled interrupts for
      GPMC (General Purpose Memory Controller). However, looks like
      this patch only works on omap3. Fix the issues to avoid warnings
      on omap4 during the boot.
      
      GPMC: number of chip select is 8, CS0 to CS7. One less IRQ
      allocated throws below warning at boot:
      
      [    0.429290] Trying to install type control for IRQ409
      [    0.429290] Trying to set irq flags for IRQ409
      
      Resolve following warning messages in boot when irq chip is not set:
      
      [    0.429229] Trying to install interrupt handler for IRQ402
      [    0.429229] Trying to install interrupt handler for IRQ403
      [    0.429229] Trying to install interrupt handler for IRQ404
      [    0.429260] Trying to install interrupt handler for IRQ405
      [    0.429260] Trying to install interrupt handler for IRQ406
      [    0.429260] Trying to install interrupt handler for IRQ407
      [    0.429290] Trying to install interrupt handler for IRQ408
      
      Resolve following warning in OMAP4:
      [    0.429290] gpmc: irq-20 could not claim: err -22
      Signed-off-by: NBalaji T K <balajitk@ti.com>
      [tony@atomide.com: combined patches into one, updated comments]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      77aded2f
  14. 18 2月, 2011 2 次提交
  15. 22 12月, 2010 1 次提交
  16. 02 8月, 2010 2 次提交
  17. 16 2月, 2010 1 次提交
  18. 04 2月, 2010 1 次提交
  19. 21 1月, 2010 1 次提交
  20. 12 12月, 2009 1 次提交
  21. 19 11月, 2009 1 次提交
  22. 12 11月, 2009 1 次提交
  23. 11 11月, 2009 1 次提交
  24. 21 10月, 2009 1 次提交
    • T
      omap: headers: Move remaining headers from include/mach to include/plat · ce491cf8
      Tony Lindgren 提交于
      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 <mach\/$header"
      	new="#include <plat\/$header"
      	for dir in $omap_dirs; do
      		find $dir -type f -name \*.[chS] | \
      			xargs sed -i "s/$old/$new/"
      	done
      	find drivers/ -type f -name \*omap*.[chS] | \
      		xargs sed -i "s/$old/$new/"
      	for file in $other_files; do
      		sed -i "s/$old/$new/" $file
      	done
      done
      
      for header in $(ls $mach_dir_old/*.h); do
      	git mv $header $plat_dir_new/
      done
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ce491cf8
  25. 20 9月, 2009 1 次提交
  26. 29 5月, 2009 1 次提交
  27. 05 11月, 2008 1 次提交
  28. 09 10月, 2008 1 次提交
    • S
      ARM: OMAP3: Add minimal omap3430 support · cc26b3b0
      Syed Mohammed, Khasim 提交于
      Add minimal omap3430 support based on earlier patches from
      Syed Mohammed Khasim. Also merge in omap34xx SRAM support
      from Karthik Dasu and use consistent naming for sram init
      functions.
      
      Also do following changes that make 34xx support usable:
      
      - Remove unused sram.c functions for 34xx
      
      - Rename IRQ_SIR_IRQ to INTCPS_SIR_IRQ and define it locally
        in entry-macro.S
      
      - Update mach-omap2/io.c to support 2420, 2430, and 34xx
      
      - Also merge in 34xx GPMC changes to add fields wr_access and
        wr_data_mux_bus from Adrian Hunter
      
      - Remove memory initialization call omap2_init_memory() until
        until more generic memory initialization patches are posted.
        It's OK to rely on bootloader initialization until then.
      Signed-off-by: NSyed Mohammed, Khasim <khasim@ti.com>
      Signed-off-by: Karthik Dasu<karthik-dp@ti.com>
      Signed-off-by: NAdrian Hunter <ext-adrian.hunter@nokia.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      
      
      cc26b3b0
  29. 06 10月, 2008 2 次提交
  30. 06 9月, 2008 2 次提交
  31. 07 8月, 2008 1 次提交
  32. 07 6月, 2008 1 次提交
  33. 15 4月, 2008 1 次提交
    • P
      ARM: OMAP2: Change 24xx to use new register access · 44595982
      Paul Walmsley 提交于
      This patch changes 24xx to use new register access, except for clock
      framework. Clock framework register access will get updates in the
      next patch.
      
      Note that board-*.c files change GPMC (General Purpose Memory Controller)
      access to use gpmc_cs_write_reg() instead of accessing the registers
      directly. The code also uses gpmc_fck instead of it's parent clock
      core_l3_ck for GPMC clock.
      
      The H4 board file also adds h4_init_flash() function, which specify the
      flash start and end addresses.
      
      Also note that sleep.S removes some unused registers addresses.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      44595982