1. 16 3月, 2010 3 次提交
  2. 12 3月, 2010 1 次提交
  3. 24 2月, 2010 1 次提交
  4. 16 2月, 2010 3 次提交
  5. 04 2月, 2010 1 次提交
    • T
      omap: Disable serial port autoidle by default · 301fe8ee
      Tony Lindgren 提交于
      Currently the omap serial clocks are autoidled after 5 seconds.
      However, this causes lost characters on the serial ports. As this
      is considered non-standard behaviour for Linux, disable the timeout.
      
      Note that this will also cause blocking of any deeper omap sleep
      states.
      
      To enable the autoidling of the serial ports, do something like
      this for each serial port:
      
      # echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout
      # echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout
      ...
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      301fe8ee
  6. 09 1月, 2010 1 次提交
  7. 17 12月, 2009 1 次提交
    • M
      OMAP3: serial - fix bug introduced in · f2eeeae0
      Mika Westerberg 提交于
      Commit f62349ee had side effect that
      causes kernel to oops when we are suspending to ram:
      
      	# echo mem > /sys/power/state
      
      	WARNING: at kernel/irq/manage.c:858 __free_irq+0x90/0x174()
      	Trying to free already-free IRQ 72
      	Modules linked in:
      	Backtrace:
      	[<c00328d0>] (dump_backtrace+0x0/0x110) from [<c0347298>] (dump_stack+0x18/0x1c)
      	 r7:dfd4be08 r6:c009505c r5:c03fbfd1 r4:0000035a
      	[<c0347280>] (dump_stack+0x0/0x1c) from [<c005a408>] (warn_slowpath_common+0x50/0x68)
      	[<c005a3b8>] (warn_slowpath_common+0x0/0x68) from [<c005a46c>] (warn_slowpath_fmt+0x30)
      	 r7:c0474afc r6:00000048 r5:00000000 r4:c0474ac0
      	[<c005a43c>] (warn_slowpath_fmt+0x0/0x38) from [<c009505c>] (__free_irq+0x90/0x174)
      	 r3:00000048 r2:c03fc0ef
      	[<c0094fcc>] (__free_irq+0x0/0x174) from [<c0095184>] (free_irq+0x44/0x64)
      	[<c0095140>] (free_irq+0x0/0x64) from [<c0038100>] (omap_uart_enable_irqs+0x4c/0x90)
      	 r7:c034d58c r6:00000003 r5:00000000 r4:c0463028
      	[<c00380b4>] (omap_uart_enable_irqs+0x0/0x90) from [<c003d8f8>] (omap3_pm_begin+0x1c/0)
      	 r5:00000003 r4:00000000
      	[<c003d8dc>] (omap3_pm_begin+0x0/0x28) from [<c008d008>] (suspend_devices_and_enter+0x)
      	[<c008cfd8>] (suspend_devices_and_enter+0x0/0x1dc) from [<c008d29c>] (enter_state+0xe8)
      	 r5:c03f7f46 r4:00000000
      	[<c008d1b4>] (enter_state+0x0/0x140) from [<c008c8e0>] (state_store+0x9c/0xc4)
      	 r7:c034d58c r6:00000003 r5:00000003 r4:c03f7f46
      	[<c008c844>] (state_store+0x0/0xc4) from [<c01cb2dc>] (kobj_attr_store+0x20/0x24)
      	[<c01cb2bc>] (kobj_attr_store+0x0/0x24) from [<c0119420>] (sysfs_write_file+0x114/0x14)
      	[<c011930c>] (sysfs_write_file+0x0/0x148) from [<c00cb298>] (vfs_write+0xb8/0x164)
      	[<c00cb1e0>] (vfs_write+0x0/0x164) from [<c00cb408>] (sys_write+0x44/0x70)
      	 r8:4001f000 r7:00000004 r6:df81bd00 r5:00000000 r4:00000000
      	[<c00cb3c4>] (sys_write+0x0/0x70) from [<c002f040>] (ret_fast_syscall+0x0/0x38)
      	 r8:c002f204 r7:00000004 r6:401fa5e8 r5:4001f000 r4:00000004
      
      This is due the fact that uart_list list was populated in
      omap_serial_early_init() and omap_uart_enable_irqs() went through this
      list even when serial idle wasn't enabled for all uarts.
      
      This patch moves the code that populates the uart_list and enables uart
      clocks into omap_serial_init_port().
      Signed-off-by: NMika Westerberg <ext-mika.1.westerberg@nokia.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      f2eeeae0
  8. 12 12月, 2009 2 次提交
    • V
      omap: serial: fix non-empty uart fifo read abort · ce13d471
      vikram pandita 提交于
      OMAP3xxx and OMAP4430 UART IP blocks have a restriction wrt RX FIFO.
      Empty RX fifo read causes an abort.
      
      OMAP3xxx:
      	UART IP revision >= 0x52 have this issue
      	MVR register format is:
      	Bits  Field Name  Description  				Type  Reset
      	31:8   RESERVED 					RO  	0x0
      	7:4    MAJOR  	Major revision number of the module.  	RO  	0x--
      	3:0    MINOR  	Minor revision number of the module.  	RO  	0x--
      
      OMAP4xxx:
      	All revisions have this issue
      	Revision id check is not used as the format of MVR resigster has changed
      	For omap4 MVR register reads as: 0x50410602 => Revision id = 0x0602
      	Format of MVR register on omap4 is: (Courtesy: Cousson, Benoit)
      	Bits  Field Name  Description  				Type  Reset
      	31:30 SCHEME  	Scheme revision number of module  	RO  	0x1
      	29:28 RESERVED   					RO  	0x1
      	27:16 FUNC  	Function revision number of module  	RO  	0x041
      	15:11 RTL  		Rtl revision number of module  	RO  	0x00
      	10:8  MAJOR 	Major revision number of the module.  	RO  	0x6
      	7:6   CUSTOM  	Custom revision number of the module.  	RO  	0x0
      	5:0   MINOR  	Minor revision number of the module.  	RO  	0x02
      
      Override the default 8250 read handler: mem_serial_in()
      by a custom handler: serial_in_8250()
      which makes sure that RX fifo is not read when empty
      
      tested on zoom3(3630) board
      
      Cc: Benoit Cousson <b-cousson@ti.com>
      Signed-off-by: NVikram Pandita <vikram.pandita@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ce13d471
    • M
      OMAP3: serial - allow platforms specify which UARTs to initialize · f62349ee
      Mika Westerberg 提交于
      This patch adds new function: omap_serial_init_port(port) that can be
      used to initialize only selected UARTs as serial ports. Platforms can
      then in their board files call this function instead of omap_serial_init()
      if they don't want to use all UARTs as serial ports.
      Signed-off-by: NMika Westerberg <ext-mika.1.westerberg@nokia.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      f62349ee
  9. 23 11月, 2009 1 次提交
  10. 12 11月, 2009 1 次提交
  11. 23 10月, 2009 1 次提交
  12. 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
  13. 17 10月, 2009 1 次提交
  14. 25 9月, 2009 2 次提交
  15. 04 9月, 2009 1 次提交
    • P
      OMAP2/3 board-*.c files: read bootloader configuration earlier · b3c6df3a
      Paul Walmsley 提交于
      Most board-*.c files read configuration data from the bootloader in
      their .init_machine() function.  This needs to happen earlier, at some
      point before omap2_init_common_hw() is called.  This is because a
      future patch will use the bootloader serial console port information
      to enable the UART clocks earlier, immediately after omap2_clk_init().
      This is in turn necessary since otherwise clock tree usecounts on
      clocks like dpll4_m2x2_ck will be bogus, which can cause the
      currently-active console UART clock to be disabled during boot.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      b3c6df3a
  16. 03 9月, 2009 2 次提交
  17. 29 8月, 2009 3 次提交
  18. 06 8月, 2009 4 次提交
  19. 28 7月, 2009 1 次提交
  20. 29 5月, 2009 4 次提交
    • S
      ARM: OMAP4: Add minimal support for omap4 · 44169075
      Santosh Shilimkar 提交于
      This patch adds the support for OMAP4. The platform and machine specific
      headers and sources updated for OMAP4430 SDP platform.
      
      OMAP4430 is Texas Instrument's SOC based on ARM Cortex-A9 SMP architecture.
      It's a dual core SOC with GIC used for interrupt handling and SCU for cache
      coherency.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      44169075
    • V
      ARM: OMAP2/3: Serial: Remove arch_initcall dependency · 2aa57be2
      Vikram Pandita 提交于
      Move platform_device_register() for serial device to
      omap_serial_init()
      
      There is no need to have arch_initcall() dependency in serial
      as already board files call the function omap_serial_init()
      Signed-off-by: NVikram Pandita <vikram.pandita@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      2aa57be2
    • J
      OMAP: UART: Add sysfs interface for adjusting UART sleep timeout · ba87a9be
      Jouni Hogander 提交于
      This patch makes it possible to change uart sleep timeout. New sysfs
      entry is added (/sys/devices/platform/serial8250.<uart>/sleep_timeout)
      Writing zero will disable the timeout feature and prevent UART clocks
      from being disabled.
      
      Also default timeout is increased to 5 second to make serial console
      more usable.
      
      Original patch was written by Tero Kristo.
      
      Cc: Tero Kristo <Tero.Kristo@nokia.com>
      Signed-off-by: NJouni Hogander <jouni.hogander@nokia.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      ba87a9be
    • K
      OMAP3: PM: UART: disable clocks when idle and off-mode support · 4af4016c
      Kevin Hilman 提交于
      This patch allows the UART clocks to be disabled when the OMAP UARTs
      are inactive, thus permitting the chip to hit retention in idle.
      After the expiration of an activity timer, each UART is allowed to
      disable its clocks so the system can enter retention.  The activity
      timer is (re)activated on any UART interrupt, UART wake event or any
      IO pad wakeup.  The actual disable of the UART clocks is done in the
      'prepare_idle' hook called from the OMAP idle loop.
      
      While the activity timer is active, the smart-idle mode of the UART is
      also disabled.  This is due to a "feature" of the UART module that
      after a UART wakeup, the smart-idle mode may be entered before the
      UART has communicated the interrupt, or upon TX, an idle mode may be
      entered before the TX FIFOs are emptied.
      
      Upon suspend, the 'prepare_suspend' hook cancels any pending activity
      timers and allows the clocks to be disabled immediately.
      
      In addition, upon disabling clocks the UART state is saved in case
      of an off-mode transition while clocks are off.
      
      Special thanks to Tero Kristo for the initial ideas and first versions
      of UART idle support, and to Jouni Hogander for extra testing and
      bugfixes.
      
      Tested on OMAP3 (Beagle, RX51, SDP, EVM) and OMAP2 (n810)
      
      Cc: Tero Kristo <tero.kristo@nokia.com>
      Cc: Jouni Hogander <jouni.hogander@nokia.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      4af4016c
  21. 06 10月, 2008 1 次提交
  22. 06 9月, 2008 3 次提交
  23. 07 8月, 2008 1 次提交