1. 02 2月, 2013 1 次提交
    • S
      ARM: OMAP2+: Get rid of custom OMAP_32K_TIMER_HZ · 8f0de0d6
      Santosh Shilimkar 提交于
      The timekeeping doesn't depend on HZ value in presence of fine grained
      clocksource and hence there should not be any time drift because of HZ
      value which was chosen to be divisor of 32768.
      
      OMAP has been using HZ = 128 value to avoid any time drift issues
      because of 32768 HZ clock. But with various measurements performed
      with HZ = 100, no time drift is observed and it also proves the
      point about HZ not having impact on time keeping on OMAP.
      
      Very informative thread on this topic is here:
      	https://lkml.org/lkml/2013/1/29/435
      
      Special thanks to John Stulz, Arnd Bergmann and Russell King for their
      valuable suggestions.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NLokesh Vutla <lokeshvutla@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      8f0de0d6
  2. 22 11月, 2012 1 次提交
    • I
      ARM: OMAP2+: timer: remove CONFIG_OMAP_32K_TIMER · 6f80b3bb
      Igor Grinberg 提交于
      CONFIG_OMAP_32K_TIMER is kind of standing on the single zImage way.
      Make OMAP2+ timer code independant from the CONFIG_OMAP_32K_TIMER
      setting.
      To remove the dependancy, several conversions/additions had to be done:
      1) Timer initialization functions are named by the platform
         name and the clock source in use.
         This also makes it possible to define and use the GPTIMER as the
         clock source instead of the 32K timer on platforms that do not have
         the 32K timer ip block or the 32K timer is not wired on the board.
         Currently, the the timer is chosen in the machine_desc structure on
         per board basis. Later, DT should be used to choose the timer.
      2) Settings under the CONFIG_OMAP_32K_TIMER option are used as defaults
         and those under !CONFIG_OMAP_32K_TIMER are removed.
         This removes the CONFIG_OMAP_32K_TIMER on OMAP2+ timer code.
      3) Since we have all the timers defined inside machine_desc structure
         and we no longer need the fallback to gp_timer clock source in case
         32k_timer clock source is unavailable (namely on AM33xx), we no
         longer need the #ifdef around omap2_sync32k_clocksource_init()
         function. Remove the #ifdef CONFIG_OMAP_32K_TIMER around the
         omap2_sync32k_clocksource_init() function.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      Cc: Jon Hunter <jon-hunter@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Vaibhav Hiremath <hvaibhav@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Reviewed-by: NJon Hunter <jon-hunter@ti.com>
      6f80b3bb
  3. 23 10月, 2012 1 次提交
  4. 14 10月, 2012 1 次提交
    • R
      ARM: config: sort select statements alphanumerically · b1b3f49c
      Russell King 提交于
      As suggested by Andrew Morton:
      
        This is a pet peeve of mine.  Any time there's a long list of items
        (header file inclusions, kconfig entries, array initalisers, etc) and
        someone wants to add a new item, they *always* go and stick it at the
        end of the list.
      
        Guys, don't do this.  Either put the new item into a randomly-chosen
        position or, probably better, alphanumerically sort the list.
      
      lets sort all our select statements alphanumerically.  This commit was
      created by the following perl:
      
      while (<>) {
      	while (/\\\s*$/) {
      		$_ .= <>;
      	}
      	undef %selects if /^\s*config\s+/;
      	if (/^\s+select\s+(\w+).*/) {
      		if (defined($selects{$1})) {
      			if ($selects{$1} eq $_) {
      				print STDERR "Warning: removing duplicated $1 entry\n";
      			} else {
      				print STDERR "Error: $1 differently selected\n".
      					"\tOld: $selects{$1}\n".
      					"\tNew: $_\n";
      				exit 1;
      			}
      		}
      		$selects{$1} = $_;
      		next;
      	}
      	if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or
      			  /^endif/ or /^endchoice/)) {
      		foreach $k (sort (keys %selects)) {
      			print "$selects{$k}";
      		}
      		undef %selects;
      	}
      	print;
      }
      if (%selects) {
      	foreach $k (sort (keys %selects)) {
      		print "$selects{$k}";
      	}
      }
      
      It found two duplicates:
      
      Warning: removing duplicated S5P_SETUP_MIPIPHY entry
      Warning: removing duplicated HARDIRQS_SW_RESEND entry
      
      and they are identical duplicates, hence the shrinkage in the diffstat
      of two lines.
      
      We have four testers reporting success of this change (Tony, Stephen,
      Linus and Sekhar.)
      Acked-by: NJason Cooper <jason@lakedaemon.net>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NSekhar Nori <nsekhar@ti.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b1b3f49c
  5. 09 10月, 2012 1 次提交
  6. 03 10月, 2012 1 次提交
    • J
      ARM: OMAP: SmartReflex: select CONFIG_POWER_SUPPLY in Kconfig · 70071ff9
      Jean Pihet 提交于
      Select POWER_SUPPLY from POWER_AVS_OMAP entry in Kconfig.
      
      This avoids the following build problems using a randconfig
      that has CONFIG_POWER_SUPPLY not set:
      
        LD      init/built-in.o
      arch/arm/mach-omap2/built-in.o: In function `sr_class3_configure':
      arch/arm/mach-omap2/smartreflex-class3.c:44: undefined reference to `sr_configure_errgen'
      arch/arm/mach-omap2/built-in.o: In function `sr_class3_disable':
      arch/arm/mach-omap2/smartreflex-class3.c:33: undefined reference to `sr_disable_errgen'
      arch/arm/mach-omap2/smartreflex-class3.c:35: undefined reference to `sr_disable'
      arch/arm/mach-omap2/built-in.o: In function `sr_class3_enable':
      arch/arm/mach-omap2/smartreflex-class3.c:28: undefined reference to `sr_enable'
      arch/arm/mach-omap2/built-in.o: In function `sr_class3_init':
      arch/arm/mach-omap2/smartreflex-class3.c:59: undefined reference to `sr_register_class'
      make: *** [vmlinux] Error 1
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      70071ff9
  7. 13 9月, 2012 1 次提交
  8. 01 8月, 2012 1 次提交
  9. 09 7月, 2012 1 次提交
  10. 01 6月, 2012 2 次提交
  11. 06 4月, 2012 1 次提交
    • R
      ARM: fix __io macro for PCMCIA · 1ac02d79
      Rob Herring 提交于
      With commit c334bc15 (ARM: make mach/io.h include optional), PCMCIA was
      broken. PCMCIA depends on __io() returning a valid i/o address, and most
      ARM platforms require IO_SPACE_LIMIT be set to 0xffffffff for PCMCIA. This
      needs a better fix with a fixed i/o address mapping, but for now we just
      restore things to the previous behavior.
      
      This fixes at91, omap1, pxa and sa11xx. pxa needs io.h if PCI is enabled,
      but PCMCIA is not. sa11xx already has IO_SPACE_LIMIT set to 0xffffffff,
      so it doesn't need an io.h.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Cc: Joachim Eastwood <joachim.eastwood@jotron.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Andrew Victor <linux@maxim.org.za>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Tested-by: Paul Parsons <lost.distance@yahoo.com> (pxa270)
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      1ac02d79
  12. 12 3月, 2012 1 次提交
  13. 24 2月, 2012 1 次提交
  14. 17 2月, 2012 1 次提交
  15. 17 12月, 2011 1 次提交
  16. 16 11月, 2011 2 次提交
  17. 14 10月, 2011 1 次提交
    • N
      ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H · 0cdc8b92
      Nicolas Pitre 提交于
      Given that we want the default to not have any <mach/memory.h> and given
      that there are now fewer cases where it is still provided than the cases
      where it is not at this point, this makes sense to invert the logic and
      just identify the exception cases.
      
      The word "need" instead of "have" was chosen to construct the config
      symbol so not to suggest that having a mach/memory.h file is actually
      a feature that one should aim for.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      0cdc8b92
  18. 02 10月, 2011 1 次提交
    • A
      ARM: limit CONFIG_HAVE_IDE to platforms that do · d0ee9f40
      Arnd Bergmann 提交于
      Support for IDE drivers should not be automatic, since most platforms
      cannot actually support any IDE low-level drivers. This partly
      reverts 2064c946 "ARM: always select HAVE_IDE" to set this symbol
      only when either a PC-style bus (PCI, ISA, PCMCIA) is enabled or
      a platform is used that is known to have an existing driver in
      drivers/ide.
      
      New platforms should not need this option and just use CONFIG_ATA
      with drivers/ata/.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      d0ee9f40
  19. 26 9月, 2011 1 次提交
  20. 26 8月, 2011 2 次提交
  21. 06 8月, 2011 1 次提交
  22. 10 7月, 2011 1 次提交
  23. 24 5月, 2011 1 次提交
  24. 23 5月, 2011 1 次提交
  25. 01 3月, 2011 1 次提交
  26. 20 1月, 2011 1 次提交
  27. 25 12月, 2010 1 次提交
    • B
      omap2: Make OMAP2PLUS select OMAP_DM_TIMER · dc69d1af
      Ben Gamari 提交于
      It appears that arch/arm/mach-omap2/timer-gp.o is needed by OMAP2PLUS.
      Since timer-gp.o has direct dependencies on omap_dm_timer_*, it seems
      correct for the architecture to depend upon OMAP_DM_TIMER, otherwise
      unsuspecting integrators will be faced with a whole bunch of linker
      errors at the end of their kernel build:
      
      arch/arm/mach-omap2/built-in.o: In function `omap2_gp_timer_set_mode':
      /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:84: undefined reference to `omap_dm_timer_stop'
      /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:88: undefined reference to `omap_dm_timer_get_fclk'
      /home/bgamari/trees/linux-2.6/arch/arm/mach-omap2/timer-gp.c:90: undefined reference to `omap_dm_timer_set_load_start'
      ...
      Signed-off-by: NBen Gamari <bgamari.foss@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dc69d1af
  28. 23 12月, 2010 3 次提交
    • T
      OMAP4: Smartreflex framework extensions · b35cecf9
      Thara Gopinath 提交于
      This patch extends the smartreflex framework to support
      OMAP4. The changes are minor like compiling smartreflex Kconfig
      option for OMAP4 also, and a couple of OMAP4 checks in
      the smartreflex framework.
      
      The change in sr_device.c where new logic has to be introduced
      for reading the efuse registers is due to the fact that in OMAP4
      the efuse registers are 24 bit aligned. A __raw_readl will
      fail for non-32 bit aligned address and hence the 8-bit read
      and shift.
      Signed-off-by: NThara Gopinath <thara@ti.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      b35cecf9
    • T
      OMAP3: PM: Adding smartreflex class3 driver · fa765823
      Thara Gopinath 提交于
      Smartreflex Class3 implementation continuously monitors
      silicon performance  and instructs the Voltage Processors
      to increase or decrease the voltage.
      This patch adds smartreflex class 3 driver. This driver hooks
      up with the generic smartreflex driver smartreflex.c to abstract
      out class specific implementations out of the generic driver.
      
      Class3 driver is chosen as the default class driver for smartreflex.
      If any other class driver needs to be implemented, the init of that
      driver should be called from the board file. That way the new class driver
      will over-ride the Class3 driver.
      Signed-off-by: NThara Gopinath <thara@ti.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      fa765823
    • T
      OMAP3: PM: Adding smartreflex driver support. · 984aa6db
      Thara Gopinath 提交于
      SmartReflex modules do adaptive voltage control for real-time
      voltage adjustments. With Smartreflex the power supply voltage
      can be adapted to the silicon performance(manufacturing process,
      temperature induced performance, age induced performance etc).
      
      There are differnet classes of smartreflex implementation.
      	Class-0: Manufacturing Test Calibration
      	Class-1: Boot-Time Software Calibration
      	Class-2: Continuous Software Calibration
      	Class-3: Continuous Hardware Calibration
      	Class-4: Fully Integrated Power Management
      
      OMAP3 has two smartreflex modules one associated with VDD MPU and the
      other associated with VDD CORE.
      This patch adds support for  smartreflex driver. The driver is designed
      for Class-1 , Class-2 and Class-3 support and is  a platform driver.
      Smartreflex driver can be enabled through a Kconfig option
      "SmartReflex support" under "System type"->"TI OMAP implementations" menu.
      
      Smartreflex autocompensation feature can be enabled runtime through
      a debug fs option.
      To enable smartreflex autocompensation feature
      	echo 1 > /debug/voltage/vdd_<X>/smartreflex/autocomp
      To disable smartreflex autocompensation feature
      	echo 0 > /debug/voltage/vdd_<X>/smartreflex/autocomp
      
      where X can be mpu, core , iva etc.
      
      This patch contains code originally in linux omap pm branch.
      Major contributors to this driver are
      Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
      Nishant Menon, Kevin Hilman.
      Signed-off-by: NThara Gopinath <thara@ti.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      984aa6db
  29. 16 12月, 2010 1 次提交
  30. 26 11月, 2010 1 次提交
  31. 28 9月, 2010 1 次提交
  32. 16 9月, 2010 1 次提交
  33. 04 8月, 2010 1 次提交
  34. 05 7月, 2010 2 次提交