1. 13 Apr, 2010 1 commit
  2. 07 Mar, 2010 1 commit
    • Siarhei Siamashka's avatar
      OMAP3: workaround for ARM Cortex-A8 erratum 725233 · 041d42e7
      Siarhei Siamashka authored
      725233: PLD instructions executed with PLD data forwarding
      enabled can result in a processor deadlock
      
      This deadlock can happen when NEON load instructions are used together
      with cache preload instructions (PLD). The problematic conditions
      can be triggered in-the-wild by NEON optimized functions from pixman
      library (http://cgit.freedesktop.org/pixman), which perform dynamic
      adjustment of prefetch distance.
      
      The workaround disables PLD data forwarding by setting PLD_FWD bit
      in L2 Cache Auxiliary Control Register as recommended in ARM Cortex-A8
      errata list.
      
      The deadlock can only happen on r1pX revisions of Cortex-A8 (used in
      OMAP34xx/OMAP35xx). Performance impact of the workaround is practically
      non-existant.
      Signed-off-by: default avatarSiarhei Siamashka <siarhei.siamashka@gmail.com>
      Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
      041d42e7
  3. 07 Dec, 2009 1 commit
  4. 13 Oct, 2009 1 commit
    • Tom Rix's avatar
      OMAP3 Move cache routine to cache.S · 7a2aa8b6
      Tom Rix authored
      v7_flush_dcache_all, because it depends on omap ROM code is not
      generic.  Rename the function to 'invalidate_dcache' and move it
      to the omap cpu directory.
      
      Collect the other omap cache routines l2_cache_enable and
      l2_cache_disable with invalide_dcache into cache.S.  This
      means removing the old cache.c file that contained l2_cache_enable
      and l2_cache_disable.
      
      The conversion from cache.c to cache.S was done most through
      disassembling the uboot binary.  The only significant change was
      to change the comparision for the return of get_cpu_rev from
      
         cmp	r0, #0
         beq	earlier_than_label
      
      Which was lost information to
      
         cmp	r0, #CPU_3XX_ES20
         blt	earlier_than_label
      
      The paths through the enable routine were verified by
      adding an infinite loop and seeing the hang.  Then
      removing the infinite loop and seeing it continue.
      
      The disable routine is similar enough that it was not
      tested with this method.
      
      Run tested by cold booting from nand on beagle and zoom1.
      Compile tested on MAKEALL arm.
      Signed-off-by: default avatarTom Rix <Tom.Rix@windriver.com>
      7a2aa8b6
  5. 21 Aug, 2009 1 commit
    • Wolfgang Denk's avatar
      ARM: compiler options cleanup - improve tool chain support · f772acf8
      Wolfgang Denk authored
      For some time there have been repeated reports about build problems
      with some ARM (cross) tool chains.  Especially issues about
      (in)compatibility with the tool chain provided runtime support
      library libgcc.a caused to add and support a private implementation
      of such runtime support code in U-Boot.  A closer look at the code
      indicated that some of these issues are actually home-made.  This
      patch attempts to clean up some of the most obvious problems and make
      building of U-Boot with different tool chains easier:
      
      - Even though all ARM systems basicy used the same compiler options
        to select a specific ABI from the tool chain, the code for this was
        distributed over all cpu/*/config.mk files.  We move this one level
        up into lib_arm/config.mk instead.
      
      - So far, we only checked if "-mapcs-32" was supported by the tool
        chain; if yes, this was used, if not, "-mabi=apcs-gnu" was
        selected, no matter if the tool chain actually understood this
        option.  There was no support for EABI conformant tool chains.
        This patch implements the following logic:
      
        1) If the tool chain supports
      	"-mabi=aapcs-linux -mno-thumb-interwork"
           we use these options (EABI conformant tool chain).
        2) Otherwise, we check first if
      	"-mapcs-32"
           is supported, and then check for
      	"-mabi=apcs-gnu"
           If one test succeeds, we use the first found option.
        3) In case 2), we also test if "-mno-thumb-interwork", and use
           this if the test succeeds. [For "-mabi=aapcs-linux" we set
           "-mno-thumb-interwork" mandatorily.]
      
        This way we use a similar logic for the compile options as the
        Linux kernel does.
      
      - Some EABI conformant tool chains cause external references to
        utility functions like raise(); such functions are provided in the
        new file lib_arm/eabi_compat.c
      
        Note that lib_arm/config.mk gets parsed several times, so we must
        make sure to add eabi_compat.o only once to the linker list.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Dirk Behme <dirk.behme@googlemail.com>
      Cc: Magnus Lilja <lilja.magnus@gmail.com>
      Cc: Tom Rix <Tom.Rix@windriver.com>
      Cc: Prafulla Wadaskar <prafulla@marvell.com>
      Acked-by: default avatarSergey Kubushyn <ksi@koi8.net>
      Tested-by: default avatarMagnus Lilja <lilja.magnus@gmail.com>
      Tested-by: default avatarAndrzej Wolski <awolski@poczta.fm>
      Tested-by: default avatarGaye Abdoulaye Walsimou <walsimou@walsimou.com>
      Tested-by: default avatarTom Rix <Tom.Rix@windriver.com>
      Tested-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      f772acf8
  6. 08 Aug, 2009 1 commit
  7. 06 Jul, 2009 1 commit
  8. 12 Jun, 2009 1 commit
    • Wolfgang Denk's avatar
      General help message cleanup · a89c33db
      Wolfgang Denk authored
      Many of the help messages were not really helpful; for example, many
      commands that take no arguments would not print a correct synopsis
      line, but "No additional help available." which is not exactly wrong,
      but not helpful either.
      
      Commit ``Make "usage" messages more helpful.'' changed this
      partially. But it also became clear that lots of "Usage" and "Help"
      messages (fields "usage" and "help" in struct cmd_tbl_s respective)
      were actually redundant.
      
      This patch cleans this up - for example:
      
      Before:
      	=> help dtt
      	dtt - Digital Thermometer and Thermostat
      
      	Usage:
      	dtt         - Read temperature from digital thermometer and thermostat.
      
      After:
      	=> help dtt
      	dtt - Read temperature from Digital Thermometer and Thermostat
      
      	Usage:
      	dtt
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      a89c33db
  9. 29 Apr, 2009 1 commit
    • Sanjeev Premi's avatar
      OMAP3: Use functions print_cpuinfo() and checkboard() · 6a6b62e3
      Sanjeev Premi authored
      Use the functions print_cpuinfo() and checkboard() to
      display the cpu and board specific information.
      
      These functions reuse content from the existing function
      display_board_info() - which has been removed.
      
      Also, updated the existig OMAP3 configurations to
      define:
       - CONFIG_DISPLAY_CPUINFO
       - CONFIG_DISPLAY_BOARDINFO
      Signed-off-by: default avatarSanjeev Premi <premi@ti.com>
      6a6b62e3
  10. 04 Apr, 2009 1 commit
    • Sanjeev Premi's avatar
      OMAP: Fix compile issue · 36003268
      Sanjeev Premi authored
      Fixes this compile error:
      board.c: In function 'do_switch_ecc':
      board.c:339: error: 'cmd_tbl_t' has no member named 'help'
      make[1]: *** [board.o] Error 1
      make[1]: Leaving directory `/db/psp_git/users/a0756819/u-boot/cpu/arm_cortexa8/omap3'
      make: *** [cpu/arm_cortexa8/omap3/libomap3.a] Error 2
      
      This is due to the fact that current command uses long
      help for the usage print even if the CONFIG_SYS_LONGHELP
      is not enabled. (Thanks Jean-Christophe for explanation).
      Signed-off-by: default avatarSanjeev Premi <premi@ti.com>
      36003268
  11. 24 Jan, 2009 1 commit