1. 14 1月, 2011 1 次提交
  2. 15 11月, 2010 1 次提交
  3. 11 11月, 2010 1 次提交
  4. 27 10月, 2010 1 次提交
    • W
      Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated value · 25ddd1fb
      Wolfgang Denk 提交于
      CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not
      being able to use "sizeof(struct global_data)" in assembler files.
      Recent experience has shown that manual synchronization is not
      reliable enough.  This patch renames CONFIG_SYS_GBL_DATA_SIZE into
      GENERATED_GBL_DATA_SIZE which gets automatically generated by the
      asm-offsets tool.  In the result, all definitions of this value can be
      deleted from the board config files.  We have to make sure that all
      files that reference such data include the new <asm-offsets.h> file.
      
      No other changes have been done yet, but it is obvious that similar
      changes / simplifications can be done for other, related macro
      definitions as well.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      25ddd1fb
  5. 19 10月, 2010 2 次提交
    • J
      powerpc: do not fixup NULL ptrs · d1e0b10a
      Joakim Tjernlund 提交于
      The fixup routine must not fixup NULL pointers.
      Problem can be seen by
       char *testfun(void) __attribute__((weak));
       char *(*myfun)(void) = testfun;
      
      Then add
        printf("myfun:%p, &myfun:%p\n", myfun, &myfun);
      before relocation and after relocation.
      myfun should be NULL in both cases but it is not.
      Signed-off-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      d1e0b10a
    • W
      Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE · 14d0a02a
      Wolfgang Denk 提交于
      The change is currently needed to be able to remove the board
      configuration scripting from the top level Makefile and replace it by
      a simple, table driven script.
      
      Moving this configuration setting into the "CONFIG_*" name space is
      also desirable because it is needed if we ever should move forward to
      a Kconfig driven configuration system.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      14d0a02a
  6. 13 10月, 2010 1 次提交
  7. 27 7月, 2010 1 次提交
  8. 22 4月, 2010 1 次提交
  9. 13 4月, 2010 1 次提交
  10. 07 4月, 2010 2 次提交
  11. 30 3月, 2010 1 次提交
  12. 27 1月, 2010 2 次提交
  13. 06 1月, 2010 1 次提交
    • K
      85xx: Add support for e500mc cache stashing · 82fd1f8d
      Kumar Gala 提交于
      The e500mc core supports the ability to stash into the L1 or L2 cache,
      however we need to uniquely identify the caches with an id.
      
      We use the following equation to set the various stash-ids:
      
      32 + coreID*2 + 0(L1) or 1(L2)
      
      The 0 (for L1) or 1 (for L2) matches the CT field used be various cache
      control instructions.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      82fd1f8d
  14. 08 10月, 2009 1 次提交
  15. 03 10月, 2009 5 次提交
    • M
      ppc/85xx: add boot from NAND/eSDHC/eSPI support · 9f324361
      Mingkai Hu 提交于
      The MPC8536E is capable of booting form NAND/eSDHC/eSPI, this patch
      implements these three bootup methods in a unified way - all of these
      use the general cpu/mpc85xx/start.S, and load the main image to L2SRAM
      which lets us use the SPD to initialize the SDRAM.
      
      For all three bootup methods, the bootup process can be divided into two
      stages: the first stage will initialize the corresponding controller,
      configure the L2SRAM, then copy the second stage image to L2SRAM and
      jump to it. The second stage image is just like the general U-Boot image
      to configure all the hardware and boot up to U-Boot command line.
      
      When boot from NAND, the eLBC controller will first load the first stage
      image to internal 4K RAM buffer because it's also stored on the NAND
      flash. The first stage image, also call 4K NAND loader, will initialize
      the L2SRAM, load the second stage image to L2SRAM and jump to it. The 4K
      NAND loader's code comes from the corresponding nand_spl directory, along
      with the code twisted by CONFIG_NAND_SPL.
      
      When boot from eSDHC/eSPI, there's no such a first stage image because
      the CPU ROM code does the same work. It will initialize the L2SRAM
      according to the config addr/word pairs on the fixed address and
      initialize the eSDHC/eSPI controller, then load the second stage image
      to L2SRAM and jump to it.
      
      The macro CONFIG_SYS_RAMBOOT is used to control the code to produce the
      second stage image for all different bootup methods. It's set in the
      board config file when one of the bootup methods above is selected.
      Signed-off-by: NMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      9f324361
    • K
      ppc/85xx: Introduce low level write_tlb function · ccea8003
      Kumar Gala 提交于
      Factor out the code we use to actually write a tlb entry.
      
      set_tlb is a logical view of the TLB while write_tlb is a low level
      matching the MAS registers.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      ccea8003
    • S
      ppc/85xx: Ensure that MAS8 is zero when writing TLB entries. · eea886da
      Scott Wood 提交于
      Its reset value is random, and we sometimes read uninitialized TLB
      arrays.  Make sure that we don't retain MAS8 from reading such an entry
      if the VF bit in MAS8 is set, attempts to use the mapping will trap.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      eea886da
    • S
      ppc/85xx: Don't enable interrupts before we're ready · 3477bda1
      Scott Wood 提交于
      We cannot handle any exceptions while running in AS1, as the exceptions
      will transition back to AS0 without a valid mapping.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      3477bda1
    • K
      85xx: Add support for setting IVORs to fixed offset defaults · e568fd99
      Kumar Gala 提交于
      In future Book-E implementations IVORs will most likely go away and be
      replaced with fixed offsets.  The IVPR will continue to exist to allow
      for relocation of the interrupt vectors.
      
      This code adds support to setup the IVORs as their fixed offset values
      per the ISA 2.06 spec when we transition from u-boot to another OS
      either via 'bootm' or a cpu release.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      e568fd99
  16. 16 9月, 2009 4 次提交
    • M
      ppc/85xx: add boot from NAND/eSDHC/eSPI support · 7da53351
      Mingkai Hu 提交于
      The MPC8536E is capable of booting form NAND/eSDHC/eSPI, this patch
      implements these three bootup methods in a unified way - all of these
      use the general cpu/mpc85xx/start.S, and load the main image to L2SRAM
      which lets us use the SPD to initialize the SDRAM.
      
      For all three bootup methods, the bootup process can be divided into two
      stages: the first stage will initialize the corresponding controller,
      configure the L2SRAM, then copy the second stage image to L2SRAM and
      jump to it. The second stage image is just like the general U-Boot image
      to configure all the hardware and boot up to U-Boot command line.
      
      When boot from NAND, the eLBC controller will first load the first stage
      image to internal 4K RAM buffer because it's also stored on the NAND
      flash. The first stage image, also call 4K NAND loader, will initialize
      the L2SRAM, load the second stage image to L2SRAM and jump to it. The 4K
      NAND loader's code comes from the corresponding nand_spl directory, along
      with the code twisted by CONFIG_NAND_SPL.
      
      When boot from eSDHC/eSPI, there's no such a first stage image because
      the CPU ROM code does the same work. It will initialize the L2SRAM
      according to the config addr/word pairs on the fixed address and
      initialize the eSDHC/eSPI controller, then load the second stage image
      to L2SRAM and jump to it.
      
      The macro CONFIG_SYS_RAMBOOT is used to control the code to produce the
      second stage image for all different bootup methods. It's set in the
      board config file when one of the bootup methods above is selected.
      Signed-off-by: NMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      7da53351
    • K
      ppc/85xx: Introduce low level write_tlb function · d30f9043
      Kumar Gala 提交于
      Factor out the code we use to actually write a tlb entry.
      
      set_tlb is a logical view of the TLB while write_tlb is a low level
      matching the MAS registers.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      d30f9043
    • S
      ppc/85xx: Ensure that MAS8 is zero when writing TLB entries. · dcc87dd5
      Scott Wood 提交于
      Its reset value is random, and we sometimes read uninitialized TLB
      arrays.  Make sure that we don't retain MAS8 from reading such an entry
      if the VF bit in MAS8 is set, attempts to use the mapping will trap.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      dcc87dd5
    • S
      ppc/85xx: Don't enable interrupts before we're ready · 1b72dbec
      Scott Wood 提交于
      We cannot handle any exceptions while running in AS1, as the exceptions
      will transition back to AS0 without a valid mapping.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      1b72dbec
  17. 08 9月, 2009 1 次提交
    • K
      85xx: Add support for setting IVORs to fixed offset defaults · 26f4cdba
      Kumar Gala 提交于
      In future Book-E implementations IVORs will most likely go away and be
      replaced with fixed offsets.  The IVPR will continue to exist to allow
      for relocation of the interrupt vectors.
      
      This code adds support to setup the IVORs as their fixed offset values
      per the ISA 2.06 spec when we transition from u-boot to another OS
      either via 'bootm' or a cpu release.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      26f4cdba
  18. 31 3月, 2009 2 次提交
  19. 20 12月, 2008 1 次提交
    • D
      85xx: Fix the boot window issue · f51f07eb
      Dave Liu 提交于
      If one custom board is using the 8MB flash, it is set
      as FLASH_BASE = 0xef000000, TEXT_BASE = 0xef780000.
      The current start.S code will be broken at switch_as.
      
      It is because the TLB1[15] is set as 16MB page size,
      EPN = TEXT_BASE & 0xff000000, RPN = 0xff000000.
      
      For the 8MB flash case, the EPN = 0xefxxxxxx,
      RPN = 0xffxxxxxx. Assume the virt address of switch_as
      is 0xef7ff18c, the real address of the instruction at
      switch_as should be 0xff7ff18c. the 0xff7ff18c is out
      of the range of the default 8MB boot LAW window
      0xff800000 - 0xffffffff.
      
      So when we switch to AS1 address space at switch_as,
      the core can't fetch the instruction at switch_as any
      more. It will cause broken issue.
      Signed-off-by: NDave Liu <daveliu@freescale.com>
      f51f07eb
  20. 07 12月, 2008 1 次提交
  21. 25 10月, 2008 2 次提交
  22. 19 10月, 2008 2 次提交
  23. 15 7月, 2008 1 次提交
  24. 21 5月, 2008 1 次提交
    • W
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk 提交于
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      53677ef1
  25. 28 2月, 2008 2 次提交
    • K
      85xx: Don't icbi when unlocking the cache · 2b22fa4b
      Kumar Gala 提交于
      There is no reason to icbi when invalidating the temporary stack in
      the d-cache.  Its impossible on e500 to have the i-cache contain
      any addresses in the temp stack and it can be problematic in generating
      transactions on the bus to non-valid addresses.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      2b22fa4b
    • A
      Invalidate INIT_RAM TLB mappings · 21fae8b2
      Andy Fleming 提交于
      Commit 0db37dc2...  (and some others) changed the INIT_RAM TLB
      mappings to be unguarded.  This collided with an existing "bug"
      where the mappings for the INIT_RAM were being kept around.
      This meant that speculative loads to those addresses were
      succeeding in the TLB, and going out to the bus, where they
      were causing an exception (there's nothing at that address). The
      Flash code was coincidentally causing such a speculative load.
      Rather than go back to mapping the INIT RAM as guarded, we fix
      it so that the entries for the INIT_RAM are invalidated.  Thus
      the speculative loads will fail in the TLB, and have no effect.
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      21fae8b2
  26. 15 2月, 2008 1 次提交