1. 23 10月, 2010 2 次提交
  2. 13 10月, 2010 1 次提交
  3. 12 10月, 2010 4 次提交
    • P
      OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish · 0e4905c0
      Peter Ujfalusi 提交于
      Implement the suggested workaround for OMAP3 regarding to sDMA draining
      issue, when the channel is disabled on the fly.
      This errata affects the following configuration:
      sDMA transfer is source synchronized
      Buffering is enabled
      SmartStandby is selected.
      
      The issue can be easily reproduced by creating overrun situation while
      recording audio.
      Either introduce load to the CPU:
      nice -19 arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null & \
      dd if=/dev/urandom of=/dev/null
      
      or suspending the arecord, and resuming it:
      arecord -D hw:0 -M -B 10000 -F 5000 -f dat > /dev/null
      CTRL+Z; fg; CTRL+Z; fg; ...
      
      In case of overrun audio stops DMA, and restarts it (without reseting
      the sDMA channel). When we hit this errata in stop case (sDMA drain did
      not complete), at the coming start the sDMA will not going to be
      operational (it is still draining).
      This leads to DMA stall condition.
      On OMAP3 we can recover with sDMA channel reset, it has been observed
      that by introducing unrelated sDMA activity might also help (reading
      from MMC for example).
      
      The same errata exists for OMAP2, where the suggestion is to disable the
      buffering to avoid this type of error.
      On OMAP3 the suggestion is to set sDMA to NoStandby before disabling
      the channel, and wait for the drain to finish, than configure sDMA to
      SmartStandby again.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by : Santosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by : Manjunath Kondaiah G <manjugk@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0e4905c0
    • J
      omap: dma: Fix buffering disable bit setting for omap24xx · 3e57f162
      Jarkko Nikula 提交于
      An errata workaround for omap24xx is not setting the buffering disable bit
      25 what is the purpose but channel enable bit 7 instead.
      
      Background for this fix is the DMA stalling issue with ASoC omap-mcbsp
      driver. Peter Ujfalusi <peter.ujfalusi@nokia.com> has found an issue in
      recording that the DMA stall could happen if there were a buffer overrun
      detected by ALSA and the DMA was stopped and restarted due that. This
      problem is known to occur on both OMAP2420 and OMAP3. It can recover on
      OMAP3 after dma free, dma request and reconfiguration cycle. However, on
      OMAP2420 it seems that only way to recover is a reset.
      
      Problem was not visible before the commit c12abc01. That commit changed that
      the McBSP transmitter/receiver is released from reset only when needed. That
      is, only enabled McBSP transmitter without transmission was able to prevent
      this DMA stall problem in receiving side and underlying problem did not show
      up until now. McBSP transmitter itself seems to no be reason since DMA
      stall does not recover by enabling the transmission after stall.
      
      Debugging showed that there were a DMA write active during DMA stop time and
      it never completed even when restarting the DMA. Experimenting showed that
      the DMA buffering disable bit could be used to avoid stalling when using
      source synchronized transfers. However that could have performance hit and
      OMAP3 TRM states that buffering disable is not allowed for destination
      synchronized transfers so subsequent patch will implement a method to
      complete DMA writes when stopping.
      
      This patch is based on assumtion that complete lock-up on OMAP2420 is
      different but related problem. I don't have access to OMAP2420 errata but
      I believe this old workaround here is put for a reason but unfortunately
      a wrong bit was typed and problem showed up only now.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NManjunath Kondaiah G <manjugk@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3e57f162
    • S
      omap: serial: Fix the boot-up crash/reboot without CONFIG_PM · a1b04cc1
      Santosh Shilimkar 提交于
      The omap2plus_defconfig doesn't boot up when built with CONFIG_PM
      disabled on the latest linux-omap master. Below are the observations
      1. OMAP3 reboots in the middle of boot
      --------------------------------------------------
      [    0.000000] Calibrating delay loop... 494.72 BogoMIPS (lpj=1933312)
      [    0.000000] pid_max: default: 32768 minimum: 301
      [    0.000000] Security Framework initialized
      [    0.000000] Mount-cache hash table entries: 512
      [    0.000000] CPU: Testing write buffer coherency: ok
      [    0.000000] Brought up 1 CPUs
      [    0.000000] SMP: Total of 1 processors activated (494.72 BogoMIPS).
      [    0.000000] regulator: core version 0.5
      [    0.000000] NET: Registered protocol family 16
      
      U-Boot 1.1.4 (Feb 11 2009 - 16:10:23)
      
      OMAP3430-GP rev 2, CPU-OPP2 L3-165MHz
      TI 3430SDP 1.0 Version + mDDR (Boot NOR)
      DRAM:  128 MB
      Flash: 128 MB
      NAND:128 MiB
      --------------------------------------------------
      
      2. OMAP4 does a kernel PANIC
      -------------------------------------
      [    0.000000] Calibrating delay loop... 1195.29 BogoMIPS (lpj=4669440)
      [    0.000000] pid_max: default: 32768 minimum: 301
      [    0.000000] Security Framework initialized
      [    0.000000] Mount-cache hash table entries: 512
      [    0.000000] CPU: Testing write buffer coherency: ok
      [    0.000000] L310 cache controller enabled
      [    0.000000] l2x0: 16 ways, CACHE_ID 0x410000c2, AUX_CTRL 0x0e050000
      [    0.000000] CPU1: Booted secondary processor
      [    0.000000] Brought up 2 CPUs
      [    0.000000] SMP: Total of 2 processors activated (2395.78 BogoMIPS).
      [    0.000000] regulator: core version 0.5
      [    0.000000] NET: Registered protocol family 16
      [    0.000000] mux: Could not set signal i2c2_scl.i2c2_scl
      [    0.000000] mux: Could not set signal i2c2_sda.i2c2_sda
      [    0.000000] mux: Could not set signal i2c3_scl.i2c3_scl
      [    0.000000] mux: Could not set signal i2c3_sda.i2c3_sda
      [    0.000000] mux: Could not set signal i2c4_scl.i2c4_scl
      [    0.000000] mux: Could not set signal i2c4_sda.i2c4_sda
      -------------------------------------
      
      This is happening because 'omap_serial_init()' is hanging in the boot.
      On OMAP3 the watchdog is generating reboot because devices_init doesn't
      happens where as on OMAP4 it just hangs without reboot.
      The uart clock is not getting enabled after omap_device_idle as part
      of omap_serial_init.
      The omap_device_idle(will disable the clock) then omap_uart_block_sleep()
      should enable clock back disabled during the boot up phase.
      But omap_uart_block_sleep() stuffed version is binded only under
      CONFIG_PM and other version is just empty. Hence it is not enabling
      clock back as expected
      
      This patch adds uart clock enable code to omap_uart_block_sleep() function
      built with CONFIG_PM disabled.
      Thanks to Charulatha and Govindraj for their help on this debug.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NCharulatha V <charu@ti.com>
      Signed-off-by: NGovindraj.R <govindraj.raja@ti.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a1b04cc1
    • K
      OMAP3: PM: fix scratchpad memory accesses for off-mode · de658158
      Kevin Hilman 提交于
      Commit 914bab936fe0388a529079679e2f137aa4ff548d (OMAP: mach-omap2: Fix
      incorrect assignment warnings) changed a pointer from 'u32 *' to
      'void *' without also fixing up the pointer arithmetic.
      
      Fix the scratchpad offsets so they are byte offsets instead of
      word offsets and thus work correctly with a void pointer base.
      
      Special thanks to Jean Pihet for taking the time track down this
      problem and propose an initial solution.
      
      Tested with off-idle and off-suspend on 36xx/Zoom3 and 34xx/omap3evm.
      
      Cc: Manjunath Kondaiah G <manjugk@ti.com>
      Reported-by: NJean Pihet <jean.pihet@newoldbits.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Tested-by: NJean Pihet <jean.pihet@newoldbits.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      de658158
  4. 09 10月, 2010 33 次提交
    • D
      omap4: pandaboard: enable the ehci port on pandaboard · 4415beb6
      David Anders 提交于
      The OMAP4 PandaBoard has EHCI port1 hooked up to an external
      SMSC3320 transciever. GPIO 1 is used to power on the transceiver
      and GPIO 62 for reset on the transceiver.
      Signed-off-by: NDavid Anders <x0132446@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4415beb6
    • D
      omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set · b9b52620
      David Anders 提交于
      Avoid possible crash if CONFIG_MMC_OMAP_HS is not set.
      Signed-off-by: NDavid Anders <x0132446@ti.com>
      Signed-off-by: NAnand Gadiyar <gadiyar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b9b52620
    • D
      omap4: pandaboard: remove unused hsmmc definition · 191183b9
      David Anders 提交于
      remove the second hsmmc definition as it is only used on the
      expansion header of the PandaBoard and can be mux for other
      functions.
      Signed-off-by: NDavid Anders <x0132446@ti.com>
      Signed-off-by: NAnand Gadiyar <gadiyar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      191183b9
    • J
      OMAP: McBSP: Remove null omap44xx ops comment · 4367260c
      Jarkko Nikula 提交于
      It seems these comments where accidentally added so remove them.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      4367260c
    • J
      OMAP: McBSP: Swap CLKS source definition · e4cc41d7
      Jarkko Nikula 提交于
      This is just a readability and debugging improvement. As selection bit in
      DEVCONF register is cleared when using 96 MHz PRCM source and set when using
      external CLKS pin, change definitions to be sync with these.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      e4cc41d7
    • J
      OMAP: McBSP: Fix CLKR and FSR signal muxing · 425925dd
      Jarkko Nikula 提交于
      Fix bit clear. Now it clears all other bits than mask bit where it should
      clear only it.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      425925dd
    • P
      OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks · 6041c27f
      Paul Walmsley 提交于
      Reduce the amount of debugging generated by default when unused clocks
      are being disabled by the clock code.  The previous code would only
      generate debug-level messages, but some people who wished to run
      production kernels with debug-level messages enabled reported that the
      large number of clock disable messages were slowing boot.  Now to
      enable clock-by-clock disable messages, DEBUG needs to be defined in
      mach-omap2/clock.c.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tuukka Tikkanen <tuukka.tikkanen@nokia.com>
      Cc: Tim Bird <tim.bird@am.sony.com>
      6041c27f
    • P
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley 提交于
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5
    • P
      OMAP: split plat-omap/common.c · aa218daf
      Paul Walmsley 提交于
      Split plat-omap/common.c into three pieces:
      
      1. the 32KiHz sync timer and clocksource code, which now lives in
         plat-omap/counter_32k.c;
      
      2. the OMAP2+ common code, which has been moved to mach-omap2/common.c;
      
      3. and the remainder of the OMAP-wide common code, which includes the
         deprecated ATAGs code and a deprecated video RAM reservation function.
      
      The primary motivation for doing this is to move the OMAP2+-specific parts
      into an OMAP2+-specific file, so that build breakage related to the
      System Control Module code can be resolved.
      
      Benoît Cousson <b-cousson@ti.com> suggested a new filename and found
      some bugs in the counter_32k.c comments - thanks Benoît.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      aa218daf
    • P
      OMAP: McBSP: implement functional clock switching via clock framework · d1358657
      Paul Walmsley 提交于
      Previously the OMAP McBSP ASoC driver implemented CLKS switching by
      using omap_ctrl_{read,write}l() directly.  This is against policy; the OMAP
      System Control Module functions are not intended to be exported to drivers.
      These symbols are no longer exported, so as a result, the OMAP McBSP ASoC
      driver does not build as a module.
      
      Resolve the CLKS clock changing portion of this problem by creating a
      clock parent changing function that lives in
      arch/arm/mach-omap2/mcbsp.c, and modify the ASoC driver to use it.
      Due to the unfortunate way that McBSP support is implemented in ASoC
      and the OMAP tree, this symbol must be exported for use by
      sound/soc/omap/omap-mcbsp.c.
      
      Going forward, the McBSP device driver should be moved from
      arch/arm/*omap* into drivers/ or sound/soc/* and the CPU DAI driver
      should be implemented as a platform_driver as many other ASoC CPU DAI
      drivers are.  These two steps should resolve many of the layering
      problems, which will rapidly reappear during a McBSP hwmod/PM runtime
      conversions.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      d1358657
    • P
      OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c · cf4c87ab
      Paul Walmsley 提交于
      The OMAP ASoC McBSP code implemented CLKR and FSR signal muxing via
      direct System Control Module writes on OMAP2+.  This required the
      omap_ctrl_{read,write}l() functions to be exported, which is against
      policy: the only code that should call those functions directly is
      OMAP core code, not device drivers.  omap_ctrl_{read,write}*() are no
      longer exported, so the driver no longer builds as a module.
      
      Fix the pinmuxing part of the problem by removing calls to
      omap_ctrl_{read,write}l() from the OMAP ASoC McBSP code and
      implementing signal muxing functions in arch/arm/mach-omap2/mcbsp.c.
      Due to the unfortunate way that McBSP support is implemented in ASoC
      and the OMAP tree, these symbols must be exported for use by
      sound/soc/omap/omap-mcbsp.c.
      
      Going forward, the McBSP device driver should be moved from
      arch/arm/*omap* into drivers/ or sound/soc/*, and the CPU DAI driver
      should be implemented as a platform_driver as many other ASoC CPU DAI
      drivers are.  These two steps should resolve many of the layering
      problems, which will rapidly reappear during a McBSP hwmod/PM runtime
      conversion.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Acked-by: NJarkko Nikula <jhnikula@gmail.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      cf4c87ab
    • P
      OMAP3xxx: clock: add clkdev aliases for McBSP fclk source switching · 829e5b12
      Paul Walmsley 提交于
      The OMAP3 clock tree already contains the infrastructure to support
      clock framework-based McBSP functional clock source switching.  But it
      did not contain the clkdev aliases for the McBSP code to refer to the
      parent clocks in an SoC integration-neutral way.  So, add the clkdev
      aliases for the parent clocks.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      829e5b12
    • P
      OMAP2430: clock: add MCBSP_CLKS node and clkdev aliases · b115b743
      Paul Walmsley 提交于
      Add the MCBSP_CLKS clock and the clksel structures needed to support clock
      framework-based source switching for McBSPs 1-5.  Also, add clkdev
      aliases on the parent clocks for the McBSP source switching code, added
      in a subsequent patch.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      b115b743
    • P
      OMAP2420: clock: add MCBSP_CLKS node and clkdev aliases · 1bccb345
      Paul Walmsley 提交于
      Add the MCBSP_CLKS clock and the clksel structures needed to support clock
      framework-based source switching for McBSP 1 and 2.  Also, add clkdev
      aliases on the parent clocks for the McBSP source switching code, added
      in a subsequent patch.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      1bccb345
    • P
      OMAP2420: CTRL: fix OMAP242X_CTRL_REGADDR macro · 54164bb2
      Paul Walmsley 提交于
      Conform the OMAP2420_CTRL_BASE macro name to the standard of the rest of the
      OMAP*_CTRL_BASE macro names.  This fixes a bug in the OMAP2420 SCM code that
      prevented OMAP242X_CTRL_REGADDR from working.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      54164bb2
    • P
      OMAP2+: Kconfig: disallow builds for boards that don't use the currently-selected SoC · 6515e489
      Paul Walmsley 提交于
      Currently, if, for example, CONFIG_ARCH_OMAP2420 is not selected, OMAP2420
      board files can still be included in the build.  This results in link errors:
      
      arch/arm/mach-omap2/built-in.o: In function `omap_generic_map_io':
      .../arch/arm/mach-omap2/board-generic.c:51: undefined reference to `omap2_set_globals_242x'
      arch/arm/mach-omap2/built-in.o: In function `omap_h4_init':
      .../arch/arm/mach-omap2/board-h4.c:330: undefined reference to `omap2420_mux_init'
      arch/arm/mach-omap2/built-in.o: In function `omap_h4_map_io':
      .../arch/arm/mach-omap2/board-h4.c:373: undefined reference to `omap2_set_globals_242x'
      arch/arm/mach-omap2/built-in.o: In function `omap_apollon_init':
      .../arch/arm/mach-omap2/board-apollon.c:325: undefined reference to `omap2420_mux_init'
      arch/arm/mach-omap2/built-in.o: In function `omap_apollon_map_io':
      .../arch/arm/mach-omap2/board-apollon.c:353: undefined reference to `omap2_set_globals_242x'
      make: *** [.tmp_vmlinux1] Error 1
      
      Fix this by making the boards depend on the Kconfig option for the
      specific SoC that they use.
      
      Also, while here, fix the mach-omap2/board-generic.c file to remove the
      dependency on OMAP2420.
      
      Charulatha Varadarajan <charu@ti.com> caught a typo - thanks Charu.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Charulatha Varadarajan <charu@ti.com>
      6515e489
    • T
      omap: Update omap2plus_defconfig to use ttyO instead ttyS · 6f911492
      Tony Lindgren 提交于
      With the omap-serial the device has changed from ttyS to ttyO as
      the system may have both omap-serial and 8250 ports.
      
      Note that systems using omap-serial need to be updated to use ttyO[012]
      instead of ttyS[012] in the bootloader, CONFIG_CMDLINE, /etc/inittab,
      and the root file system with mknod. Also you may need to add ttyO[012]
      to /etc/securetty.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      6f911492
    • K
      OMAP2: PM: check UART status before trying to idle · 503923ee
      Kevin Hilman 提交于
      As is done on OMAP3, check omap_uart_can_sleep() as one of the
      pre-conditions for entering the idle loop.  Without this check,
      entering idle introduces large latencies on active UARTs, and is
      especially noticable on serial console.
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      503923ee
    • R
      omap: hwmod: Handle modules with 16bit registers · cc7a1d2a
      Rajendra Nayak 提交于
      Some modules which have 16bit registers can cause imprecise
      aborts if a __raw_readl/writel is used to read/write 32 bits.
      
      Add an additional flag to identify modules which have such
      hard requirement, and handle it in the hwmod framework.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      cc7a1d2a
    • N
      arm/omap: remove duplicated include · c710e192
      Nicolas Kaiser 提交于
      Remove duplicated include.
      Signed-off-by: NNicolas Kaiser <nikai@nikai.net>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c710e192
    • C
      OMAP2PLUS: WDT: Fix: Disable WDT after reset during init · 20252d46
      Charulatha V 提交于
      Inorder to avoid any assumptions from bootloader, the watchdog
      timer module is reset during init. This enables the watchdog
      timer.
      
      Therefore, it is required to disable WDT after it is reset
      during init. Otherwise the system would reboot as per the default
      watchdog timer registers settings.
      
      Later, when the watchdog driver is loaded, the watchdog timer settings
      is adjusted as per the default timer_margin set in the driver and the
      driver would supports the normal operations supported by OMAP watchdog
      timer.
      Signed-off-by: NCharulatha V <charu@ti.com>
      Reported-by: NKevin Hilman <khilman@deeprootsystems.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      20252d46
    • E
      omap3: Remove VMMC2 regulator on IGEP v2 · 72f381ba
      Enric Balletbo i Serra 提交于
      VMMC2 regulator is configured but it's not used for the IGEP v2, so
      remove this regulator from board.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      72f381ba
    • E
      omap3: Add i2c eeprom driver to read EDID on IGEP v2 · 91d139cf
      Enric Balletbo i Serra 提交于
      Add i2c eeprom driver to access monitor EDID binary information
      from user space, something that is required by 'decode-edid' and
      'parse-edid'.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      91d139cf
    • E
      omap3: Fix handling some GPIO's for WLAN-BT combo on IGEP v2 · 5a9fcc99
      Enric Balletbo i Serra 提交于
      Some GPIO's used by WLAN-BT combo on IGEP v2 depends on hardware
      revision. This patch handles these GPIO's.
      
        ----------------------------------------------------------
       |       Hw Rev.       | WIFI_NPD | WIFI_NRESET | BT_NRESET |
        ----------------------------------------------------------
       |  B                  | gpio94  |   gpio95    |     -      |
       |  B/C (B-compatible) | gpio94  |   gpio95    |  gpio137   |
       |  C                  | gpio138 |   gpio139   |  gpio137   |
        ----------------------------------------------------------
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      5a9fcc99
    • E
      omap3: Introduce function to detect the IGEP v2 hardwarerevision · 3f8c48d9
      Enric Balletbo i Serra 提交于
      There are currently two versions of IGEP v2 board, this patch introduces a
      function to detect the hardware revision of IGEP board.
      
        --------------------------
       | Id. | Hw Rev. | GPIO 28  |
        --------------------------
       |  0  |   B/C   |   high   |
       |  1  |   C     |   low    |
        --------------------------
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3f8c48d9
    • E
      omap3: fix and improve the LED handling on IGEP v2 board · bee15390
      Enric Balletbo i Serra 提交于
      The IGEP v2 board has four leds, this patch allows control all
      of these LEDs using the LED class if CONFIG_LEDS_GPIO is selected
      or using the General Purpose Input/Output (GPIO) interface if
      CONFIG_LEDS_GPIO is not selected.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      bee15390
    • E
      omap3: Add external VBUS power switch and overcurrent detect onIGEP v2 board · 61e118dd
      Enric Balletbo i Serra 提交于
      GPIO for various devices are missing from the board initialization.
      This patch adds support for the VBUS and over current gpios.  Without this
      patch, input/outputs from these two sources are ignored.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      61e118dd
    • E
      omap3: Add minimal OMAP3 IGEP module support · e844b1da
      Enric Balletbo i Serra 提交于
      The OMAP3 IGEP module is a low-power, high performance production-ready
      system-on-module (SOM) based on TI's OMAP3 family. More about this
      board at www.igep.es.
      Signed-off-by: NEnric Balletbo i Serra <eballetbo@gmail.com>
      [tony@atomide.com: updated for the mmc changes and to be selected by default]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e844b1da
    • M
      OMAP3: Keypad: Fix incorrect type initializer · bead4375
      Manjunath Kondaiah G 提交于
      The keypad matrix variable declaration is not matching
      with structure variable keymap declared in keypad_matrix.h.
      
      Due to this, following sparse warnings are generated with omap3_defconfig.
      
      arch/arm/mach-omap2/board-devkit8000.c:223:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-devkit8000.c:223:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-devkit8000.c:223:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-ldp.c:107:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-ldp.c:107:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-ldp.c:107:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-omap3evm.c:472:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-omap3evm.c:472:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-omap3evm.c:472:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-3430sdp.c:114:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-3430sdp.c:114:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-3430sdp.c:114:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-rx51-peripherals.c:248:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-rx51-peripherals.c:248:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-zoom-peripherals.c:88:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-zoom-peripherals.c:88:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-cm-t35.c:568:14: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-cm-t35.c:568:14:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-cm-t35.c:568:14:    got int static [toplevel] *<noident>
      
      arch/arm/mach-omap2/board-omap3stalker.c:415:13: warning: incorrect type in initializer (different signedness)
      arch/arm/mach-omap2/board-omap3stalker.c:415:13:    expected unsigned int const [usertype] *keymap
      arch/arm/mach-omap2/board-omap3stalker.c:415:13:    got int static [toplevel] *<noident>
      
      This patch modifies the variable keymap declaration as per declaration in matrix_keymap structure.
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-input@vger.kernel.org
      Cc: Dmitry Torokhov <dtor@mail.ru>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      bead4375
    • M
      OMAP: plat-omap: Fix static function warnings · b0a330dc
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due non declarations of static functions.
      
      arch/arm/plat-omap/sram.c:130:13: warning: symbol 'omap_detect_sram' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:216:13: warning: symbol 'omap_map_sram' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:450:12: warning: symbol 'omap_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:348:12: warning: symbol 'omap242x_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:369:12: warning: symbol 'omap243x_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:425:12: warning: symbol 'omap34xx_sram_init' was not declared. Should it be static?
      arch/arm/plat-omap/sram.c:441:12: warning: symbol 'omap44xx_sram_init' was not declared. Should it be static
      
      arch/arm/plat-omap/mcbsp.c:36:6: warning: symbol 'omap_mcbsp_write' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:50:5: warning: symbol 'omap_mcbsp_read' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:65:6: warning: symbol 'omap_mcbsp_st_write' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:70:5: warning: symbol 'omap_mcbsp_st_read' was not declared. Should it be static?
      arch/arm/plat-omap/mcbsp.c:1648:15: warning: symbol 'omap_st_add' was not declared. Should it be static?
      
      arch/arm/plat-omap/fb.c:414:15: warning: symbol 'omapfb_reserve_sram' was not declared. Should it be static?
      arch/arm/plat-omap/cpu-omap.c:43:5: warning: symbol 'omap_verify_speed' was not declared. Should it be static?
      arch/arm/plat-omap/cpu-omap.c:61:14: warning: symbol 'omap_getspeed' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b0a330dc
    • M
      OMAP: mach-omap2: Fix miscellaneous sparse warnings · 600ecd98
      Manjunath Kondaiah G 提交于
      This patch fixes miscellaneous sparse warnings in mach-omap2.
      
      arch/arm/mach-omap2/board-am3517evm.c:141:17: warning: Initializer entry defined twice
      arch/arm/mach-omap2/board-am3517evm.c:142:18:   also defined here
      
      arch/arm/mach-omap2/irq.c:50:35: warning: Using plain integer as NULL pointer
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      600ecd98
    • M
      OMAP2plus: Fix static function warnings · 04aeae77
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due non declarations of static functions.
      
      arch/arm/mach-omap2/timer-gp.c:115:12: warning: symbol 'omap2_gp_clockevent_set_gptimer' was not declared. Should it be static?
      arch/arm/mach-omap2/powerdomain.c:993:5: warning: symbol 'pwrdm_set_lowpwrstchange' was not declared. Should it be static?
      arch/arm/mach-omap2/board-flash.c:141:8: warning: symbol 'board_nand_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-n8x0.c:416:6: warning: symbol 'n8x0_mmc_slot1_cover_handler' was not declared. Should it be static?
      arch/arm/mach-omap2/board-n8x0.c:544:13: warning: symbol 'n8x0_mmc_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-peripherals.c:902:13: warning: symbol 'rx51_peripherals_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-video.c:107:13: warning: symbol 'rx51_video_mem_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-zoom-debugboard.c:155:12: warning: symbol 'zoom_debugboard_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-zoom-peripherals.c:280:13: warning: symbol 'zoom_peripherals_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-igep0020.c:110:13: warning: symbol 'igep2_flash_init' was not declared. Should it be static?
      arch/arm/mach-omap2/board-am3517evm.c:109:6: warning: symbol 'am3517_evm_ethernet_init' was not declared. Should it be static?
      drivers/mtd/onenand/omap2.c:577:5: warning: symbol 'omap2_onenand_rephase' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      04aeae77
    • M
      OMAP: mach-omap2: Fix static declaration warnings · 38815733
      Manjunath Kondaiah G 提交于
      This patch fixes sparse warnings due to non declaration of
      static structures and variables.
      
      Sparse warning logs fixed:
      arch/arm/mach-omap2/control.c:88:6: warning: symbol 'omap3_secure_ram_storage' was not declared. Should it be static?
      n
      arch/arm/mach-omap2/timer-gp.c:50:22: warning: symbol 'gptimer_wakeup' was not declared. Should it be static?
      arch/arm/mach-omap2/timer-gp.c:240:18: warning: symbol 'omap_timer' was not declared. Should it be static?
      arch/arm/mach-omap2/prcm.c:121:24: warning: symbol 'prcm_context' was not declared. Should it be static?
      arch/arm/mach-omap2/mux2420.c:510:29: warning: symbol 'omap2420_pop_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux2430.c:589:29: warning: symbol 'omap2430_pop_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:934:28: warning: symbol 'omap3_cus_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1080:29: warning: symbol 'omap3_cus_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1272:28: warning: symbol 'omap3_cbb_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1393:29: warning: symbol 'omap3_cbb_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1603:28: warning: symbol 'omap36xx_cbp_subset' was not declared. Should it be static?
      arch/arm/mach-omap2/mux34xx.c:1821:29: warning: symbol 'omap36xx_cbp_ball' was not declared. Should it be static?
      arch/arm/mach-omap2/pm-debug.c:165:15: warning: symbol 'pm_dbg_dir' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3evm.c:587:30: warning: symbol 'ads7846_config' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3evm.c:606:23: warning: symbol 'omap3evm_spi_board_info' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-sdram.c:46:25: warning: symbol 'rx51_sdrc_params' was not declared. Should it be static?
      arch/arm/mach-omap2/board-rx51-sdram.c:211:25: warning: symbol 'rx51_get_sdram_timings' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3touchbook.c:64:15: warning: symbol 'touchbook_revision' was not declared. Should it be static?
      arch/arm/mach-omap2/board-am3517evm.c:350:24: warning: symbol 'am3517_evm_dss_device' was not declared. Should it be static?
      arch/arm/mach-omap2/board-omap3stalker.c:567:23: warning: symbol 'omap3stalker_spi_board_info' was not declared. Should it be static?
      Signed-off-by: NManjunath Kondaiah G <manjugk@ti.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Nishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      38815733