Skip to content
Snippets Groups Projects
  1. Mar 07, 2014
    • Masahiro Yamada's avatar
      powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 · 58dac327
      Masahiro Yamada authored
      
      Before this commit, CONFIG_MPC8260 and CONFIG_8260
      were used mixed-up.
      
      All boards with mpc8260 cpu defined both of them:
        - CONFIG_MPC8260 was defined in board config headers
            and include/common.h
        - CONFIG_8260 was defined arch/powerpc/cpu/mpc8260/config.mk
      
      We do not need to have both of them.
      This commit keeps only CONFIG_MPC8260.
      
      This commit does:
       - Delete CONFIG_8260 and CONFIG_MPC8260 definition
         in config headers and include/common.h
       - Rename CONFIG_8260 to CONFIG_MPC8260
          in arch/powerpc/cpu/mpc8260/config.mk.
       - Rename #ifdef CONFIG_8260 to #ifdef CONFIG_MPC8260
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Wolfgang Denk <wd@denx.de>
      58dac327
  2. Mar 04, 2014
  3. Feb 21, 2014
  4. Feb 19, 2014
  5. Feb 07, 2014
  6. Jan 24, 2014
  7. Dec 16, 2013
    • Miao Yan's avatar
      common/cmd_bootm: extend do_bootm_vxworks to support the new VxWorks boot interface. · 871a57bb
      Miao Yan authored
      
      The next version VxWorks adopts device tree (for PowerPC and ARM) as its hardware
      description mechanism. For PowerPC, the boot interface conforms to
      the ePAPR standard, which is:
      
         void (*kernel_entry)(ulong fdt_addr,
                ulong r4 /* 0 */,
                ulong r5 /* 0 */,
                ulong r6 /* EPAPR_MAGIC */, ulong r7 /* IMA size */,
                ulong r8 /* 0 */, ulong r9 /* 0 */)
      
      For ARM, the boot interface is:
      
         void (*kernel_entry)(void *fdt_addr)
      
      Signed-off-by: default avatarMiao Yan <miao.yan@windriver.com>
      [trini: Fix build error when !CONFIG_OF_FDT is set, typo on PowerPC,
      missing extern ft_fixup_num_cores]
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      871a57bb
  8. Nov 21, 2013
  9. Oct 14, 2013
  10. Oct 08, 2013
  11. Oct 03, 2013
    • Andre Przywara's avatar
      ARM: add SMP support for non-secure switch · ba6a1698
      Andre Przywara authored
      
      Currently the non-secure switch is only done for the boot processor.
      To enable full SMP support, we have to switch all secondary cores
      into non-secure state also.
      
      So we add an entry point for secondary CPUs coming out of low-power
      state and make sure we put them into WFI again after having switched
      to non-secure state.
      For this we acknowledge and EOI the wake-up IPI, then go into WFI.
      Once being kicked out of it later, we sanity check that the start
      address has actually been changed (since another attempt to switch
      to non-secure would block the core) and jump to the new address.
      
      The actual CPU kick is done by sending an inter-processor interrupt
      via the GIC to all CPU interfaces except the requesting processor.
      The secondary cores will then setup their respective GIC CPU
      interface.
      While this approach is pretty universal across several ARMv7 boards,
      we make this function weak in case someone needs to tweak this for
      a specific board.
      
      The way of setting the secondary's start address is board specific,
      but mostly different only in the actual SMP pen address, so we also
      provide a weak default implementation and just depend on the proper
      address to be set in the config file.
      
      Signed-off-by: default avatarAndre Przywara <andre.przywara@linaro.org>
      ba6a1698
  12. Sep 20, 2013
  13. Jul 24, 2013
  14. Jun 26, 2013
    • Simon Glass's avatar
      Add trace library · b2e16a85
      Simon Glass authored
      
      Add a library which supports tracing of execution using built-in gcc
      features and a microsecond timer. This can be used to record a list of
      function which are executed, along with a timestamp for each. Later
      this information can be sent to the host for processing.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      b2e16a85
  15. Jun 04, 2013
  16. May 15, 2013
  17. May 14, 2013
    • Simon Glass's avatar
      image: Add device tree setup to image library · 13d06981
      Simon Glass authored
      
      This seems to be a common function for several architectures, so create
      a common function rather than duplicating the code in each arch.
      
      Also make an attempt to avoid introducing #ifdefs in the new code, partly
      by removing useless #ifdefs around function declarations in the image.h
      header.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      13d06981
  18. May 06, 2013
  19. May 02, 2013
  20. May 01, 2013
  21. Apr 12, 2013
  22. Mar 15, 2013
  23. Mar 01, 2013
    • Simon Glass's avatar
      Update set_working_fdt_addr() to use setenv_addr() · bfc59966
      Simon Glass authored
      
      We might as well use this common function instead of repeating the same
      code.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      bfc59966
    • Simon Glass's avatar
      sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf · 4213fc29
      Simon Glass authored
      
      Sandbox doesn't actually provide U-Boot access to the machine's physical
      memory. Instead it provides a RAM buffer of configurable size, and all
      memory accesses are within that buffer. Sandbox memory starts at 0 and
      is CONFIG_DRAM_SIZE bytes in size. Allowing access outside this buffer
      might produce unpredictable results in the event of an error, and would
      expose the host machine's memory architecture to the sandbox U-Boot.
      
      Most U-Boot functions assume that they can just access memory at given
      address. For sandbox this is not true.
      
      Add a map_sysmem() call which converts a U-Boot address to a system
      address. In most cases this is a NOP, but for sandbox it returns a
      pointer to that memory inside the RAM buffer.
      
      To get a U-Boot feature to work correctly within sandbox, you should call
      map_sysmem() to get a pointer to the address, and then use that address for
      any U-Boot memory accesses.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      4213fc29
    • Simon Glass's avatar
      Update print_buffer() to use const · bda32ffc
      Simon Glass authored
      
      The buffer cannot be changed by this function, so change the buffer
      pointer to a const. This allows callers with const pointer to use the
      function without a cast.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      bda32ffc
  24. Jan 10, 2013
    • Simon Glass's avatar
      Add option to display customised memory information · 15a33e49
      Simon Glass authored
      
      Some boards want to report more than just memory size. For example, it
      might be useful to display the memory type (DDR2, DDR3) or manufacturer.
      
      Add a weak function to support this requirement, accessed through a new
      'meminfo' command.
      
      Any example of the DRAM: output is below, just for illustration:
      
      SMDK5250 # meminfo
      DRAM:  2 GiB Elpida DDR3 @ 800MHz
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      15a33e49
  25. Jan 08, 2013
    • Albert ARIBAUD's avatar
      arm: move C runtime setup code in crt0.S · e05e5de7
      Albert ARIBAUD authored
      
      Move all the C runtime setup code from every start.S
      in arch/arm into arch/arm/lib/crt0.S. This covers
      the code sequence from setting up the initial stack
      to calling into board_init_r().
      
      Also, rewrite the C runtime setup and make functions
      board_init_*() and relocate_code() behave according to
      normal C semantics (no jumping across the C stack any
      more, etc).
      
      Some SPL targets had to be touched because they use
      start.S explicitly or for some reason; the relevant
      maintainers and custodians are cc:ed.
      
      Signed-off-by: default avatarAlbert ARIBAUD <albert.u.boot@aribaud.net>
      e05e5de7
  26. Dec 13, 2012
  27. Nov 04, 2012
    • Kim Phillips's avatar
      include/linux/byteorder: import latest endian definitions from linux · eef1cf2d
      Kim Phillips authored
      
      u-boot's byteorder headers did not contain endianness attributions
      for use with sparse, causing a lot of false positives.  Import the
      kernel's latest definitions, and enable them by including compiler.h
      and types.h.  They come with 'const' added for some swab functions, so
      fix those up, too:
      
      include/linux/byteorder/big_endian.h:46:2: warning: passing argument 1 of '__swab64p' discards 'const' qualifier from pointer target type [enabled by default]
      
      Also, note: u-boot's historic __BYTE_ORDER definition has been
      preserved (for the time being at least).
      
      We also remove ad-hoc barrier() definitions, since we're including
      compiler.h in files that hadn't in the past:
      
      macb.c:54:0: warning: "barrier" redefined [enabled by default]
      
      In addition, including compiler.h in byteorder changes the 'noinline'
      definition to expand to __attribute__((noinline)).  This fixes
      arch/powerpc/lib/bootm.c:
      
      bootm.c:329:16: error: attribute '__attribute__': unknown attribute
      bootm.c:329:16: error: expected ')' before '__attribute__'
      bootm.c:329:25: error: expected identifier or '(' before ')' token
      
      powerpc sparse builds yield:
      
      include/common.h:356:22: error: marked inline, but without a definition
      
      the unknown-reason inlining without a definition is considered obsolete
      given it was part of the 2002 initial commit, and no arm version was
      'fixed.'
      
      also fixed:
      ydirectenv.h:60:0: warning: "inline" redefined [enabled by default]
      
      and:
      
      Configuring for devconcenter - Board: intip, Options: DEVCONCENTER
      make[1]: *** [4xx_ibm_ddr2_autocalib.o] Error 1
      make: *** [arch/powerpc/cpu/ppc4xx/libppc4xx.o] Error 2
      powerpc-fsl-linux-size: './u-boot': No such file
      4xx_ibm_ddr2_autocalib.c: In function 'DQS_autocalibration':
      include/asm/ppc4xx-sdram.h:1407:13: sorry, unimplemented: inlining failed in call to 'ppc4xx_ibm_ddr2_register_dump': function body not available
      4xx_ibm_ddr2_autocalib.c:1243:32: sorry, unimplemented: called from here
      
      and:
      
      In file included from crc32.c:50:0:
      crc32table.h:4:1: warning: implicit declaration of function '___constant_swab32' [-Wimplicit-function-declaration]
      crc32table.h:4:1: error: initializer element is not constant
      crc32table.h:4:1: error: (near initialization for 'crc32table_le[0]')
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      [trini: Remove '#endif' in include/common.h around setenv portion]
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      eef1cf2d
  28. Nov 02, 2012
Loading