1. 20 Mar, 2009 1 commit
    • Trent Piepho's avatar
      Fix all linker script to handle all rodata sections · f62fb999
      Trent Piepho authored
      
      
      A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
      which needs to be added the the linker script.  Instead of just adding this
      one section, we use a wildcard ".rodata*" to get all rodata linker section
      gcc has now and might add in the future.
      
      However, '*(.rodata*)' by itself will result in sub-optimal section
      ordering.  The sections will be sorted by object file, which causes extra
      padding between the unaligned rodata.str.1.1 of one object file and the
      aligned rodata of the next object file.  This is easy to fix by using the
      SORT_BY_ALIGNMENT command.
      
      This patch has not be tested one most of the boards modified.  Some boards
      have a linker script that looks something like this:
      
      *(.text)
      . = ALIGN(16);
      *(.rodata)
      *(.rodata.str1.4)
      *(.eh_frame)
      
      I change this to:
      
      *(.text)
      . = ALIGN(16);
      *(.eh_frame)
      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
      
      This means the start of rodata will no longer be 16 bytes aligned.
      However, the boundary between text and rodata/eh_frame is still aligned to
      16 bytes, which is what I think the real purpose of the ALIGN call is.
      Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
      f62fb999
  2. 17 Mar, 2009 1 commit
  3. 12 Feb, 2009 1 commit
  4. 28 Jan, 2009 3 commits
  5. 21 Nov, 2008 2 commits
  6. 18 Nov, 2008 1 commit
  7. 02 Nov, 2008 1 commit
  8. 21 Oct, 2008 3 commits
  9. 18 Oct, 2008 1 commit
  10. 22 Sep, 2008 2 commits
  11. 16 Sep, 2008 1 commit
  12. 12 Sep, 2008 1 commit
  13. 10 Sep, 2008 4 commits
  14. 03 Sep, 2008 1 commit
  15. 07 Aug, 2008 1 commit
  16. 13 Jul, 2008 1 commit
  17. 11 Jul, 2008 8 commits
  18. 10 Jul, 2008 1 commit
  19. 02 Jul, 2008 2 commits
  20. 12 Jun, 2008 2 commits
    • Stefan Roese's avatar
      ppc4xx: Canyonlands: Disable the RTC M41T62 square wave output · 212ed906
      Stefan Roese authored
      
      
      This patch disables the square wave output of the M41T62 RTC used on
      Canyonlands & Glacier. Here the explanation:
      
      The serial real-time clock part used in the design is an
      STMicro M41T62. This part has a full-time 32KHz square wave
      output that is connected to the TmrClk input to the
      processor. The default state for this square wave output is
      enabled so the output runs continuously when the board is
      powered normally and also from the battery. The TmrClk input
      to the processor goes to ground when the power is removed
      from the board/processor, and therefore the running square
      wave output is driving ground which drains the battery quickly.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      212ed906
    • Becky Bruce's avatar
      Change initdram() return type to phys_size_t · 9973e3c6
      Becky Bruce authored
      
      
      This patch changes the return type of initdram() from long int to phys_size_t.
      This is required for a couple of reasons: long int limits the amount of dram
      to 2GB, and u-boot in general is moving over to phys_size_t to represent the
      size of physical memory.  phys_size_t is defined as an unsigned long on almost
      all current platforms.
      
      This patch *only* changes the return type of the initdram function (in
      include/common.h, as well as in each board's implementation of initdram).  It
      does not actually modify the code inside the function on any of the platforms;
      platforms which wish to support more than 2GB of DRAM will need to modify
      their initdram() function code.
      
      Build tested with MAKEALL for ppc, arm, mips, mips-el. Booted on powerpc
      MPC8641HPCN.
      Signed-off-by: default avatarBecky Bruce <becky.bruce@freescale.com>
      9973e3c6
  21. 06 Jun, 2008 1 commit
    • Stefan Roese's avatar
      ppc4xx: Unify AMCC's board config files (part 3/3) · 72675dc6
      Stefan Roese authored
      
      
      This patch series unifies the AMCC eval board ports by introducing
      a common include header for all AMCC eval boards:
      
      include/configs/amcc-common.h
      
      This header now includes all common configuration options/defines which
      are removed from the board specific headers.
      
      The reason for this is ease of maintenance and unified look and feel
      of all AMCC boards.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      72675dc6
  22. 03 Jun, 2008 1 commit
    • Haavard Skinnemoen's avatar
      SPI API improvements · d255bb0e
      Haavard Skinnemoen authored
      
      
      This patch gets rid of the spi_chipsel table and adds a handful of new
      functions that makes the SPI layer cleaner and more flexible.
      
      Instead of the spi_chipsel table, each board that wants to use SPI
      gets to implement three hooks:
        * spi_cs_activate(): Activates the chipselect for a given slave
        * spi_cs_deactivate(): Deactivates the chipselect for a given slave
        * spi_cs_is_valid(): Determines if the given bus/chipselect
          combination can be activated.
      
      Not all drivers may need those extra functions however. If that's the
      case, the board code may just leave them out (assuming they know what
      the driver needs) or rely on the linker to strip them out (assuming
      --gc-sections is being used.)
      
      To set up communication parameters for a given slave, the driver needs
      to call spi_setup_slave(). This returns a pointer to an opaque
      spi_slave struct which must be passed as a parameter to subsequent SPI
      calls. This struct can be freed by calling spi_free_slave(), but most
      driver probably don't want to do this.
      
      Before starting one or more SPI transfers, the driver must call
      spi_claim_bus() to gain exclusive access to the SPI bus and initialize
      the hardware. When all transfers are done, the driver must call
      spi_release_bus() to make the bus available to others, and possibly
      shut down the SPI controller hardware.
      
      spi_xfer() behaves mostly the same as before, but it now takes a
      spi_slave parameter instead of a spi_chipsel function pointer. It also
      got a new parameter, flags, which is used to specify chip select
      behaviour. This may be extended with other flags in the future.
      
      This patch has been build-tested on all powerpc and arm boards
      involved. I have not tested NIOS since I don't have a toolchain for it
      installed, so I expect some breakage there even though I've tried
      fixing up everything I could find by visual inspection.
      
      I have run-time tested this on AVR32 ATNGW100 using the atmel_spi and
      DataFlash drivers posted as a follow-up. I'd like some help testing
      other boards that use the existing SPI API.
      
      But most of all, I'd like some comments on the new API. Is this stuff
      usable for everyone? If not, why?
      
      Changed in v4:
        - Build fixes for various boards, drivers and commands
        - Provide common struct spi_slave definition that can be extended by
          drivers
        - Pass a struct spi_slave * to spi_cs_activate and spi_cs_deactivate
        - Make default bus and mode build-time configurable
        - Override default SPI bus ID and mode on mx32ads and imx31_litekit.
      
      Changed in v3:
        - Add opaque struct spi_slave for controller-specific data associated
          with a slave.
        - Add spi_claim_bus() and spi_release_bus()
        - Add spi_free_slave()
        - spi_setup() is now called spi_setup_slave() and returns a
          struct spi_slave
        - soft_spi now supports four SPI modes (CPOL|CPHA)
        - Add bus parameter to spi_setup_slave()
        - Convert the new i.MX32 SPI driver
        - Convert the new MC13783 RTC driver
      
      Changed in v2:
        - Convert the mpc8xxx_spi driver and the mpc8349emds board to the
          new API.
      Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
      Tested-by: default avatarGuennadi Liakhovetski <lg@denx.de>
      d255bb0e