1. 14 Aug, 2009 1 commit
    • Kumar Gala's avatar
      85xx: Fix addrmap to include memory · e393e2e9
      Kumar Gala authored
      
      
      When we init the addrmap based on the TLB we will not end up getting
      the TLB that covers memory if we are using SPD.  The reason is we
      haven't relocated at the point that we setup the memory TLB and thus it
      will not get setup in the addrmap.
      
      Instead we can just walk over the TLB array after we've relocated and
      see all the TLBs that have been set and use that information to populate
      the initial addrmap.  By doing this we insure that we get the TLB
      entries that cover memory.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      e393e2e9
  2. 29 Jul, 2009 1 commit
  3. 02 Jul, 2009 5 commits
  4. 12 Jun, 2009 7 commits
  5. 09 Jun, 2009 1 commit
  6. 01 Apr, 2009 1 commit
    • Kumar Gala's avatar
      85xx: Introduce determine_mp_bootpg() helper. · c840d26c
      Kumar Gala authored
      
      
      Match determine_mp_bootpg() that was added for 86xx.  We need this to
      address a bug introduced in v2009.03 with 86xx MP booting.  We have to
      make sure to reserve the region of memory used for the MP bootpg() so
      other u-boot code doesn't use it.
      
      Also added a comment about how cpu_reset() is dealing w/an errata on
      early 85xx MP HW.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      c840d26c
  7. 30 Mar, 2009 3 commits
  8. 09 Mar, 2009 1 commit
  9. 18 Feb, 2009 1 commit
  10. 17 Feb, 2009 5 commits
  11. 23 Jan, 2009 3 commits
  12. 13 Jan, 2009 1 commit
  13. 20 Dec, 2008 7 commits
    • Trent Piepho's avatar
      mpc8[56]xx: Put localbus clock in sysinfo and gd · ada591d2
      Trent Piepho authored
      
      
      Currently MPC85xx and MPC86xx boards just calculate the localbus frequency
      and print it out, but don't save it.
      
      This changes where its calculated and stored to be more consistent with the
      CPU, CCB, TB, and DDR frequencies and the MPC83xx localbus clock.
      
      The localbus frequency is added to sysinfo and calculated when sysinfo is
      set up, in cpu/mpc8[56]xx/speed.c, the same as the other frequencies are.
      
      get_clocks() copies the frequency into the global data, as the other
      frequencies are, into a new field that is only enabled for MPC85xx and
      MPC86xx.
      
      checkcpu() in cpu/mpc8[56]xx/cpu.c will print out the local bus frequency
      from sysinfo, like the other frequencies, instead of calculating it on the
      spot.
      Signed-off-by: default avatarTrent Piepho <tpiepho@freescale.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarJon Loeliger <jdl@freescale.com>
      ada591d2
    • Trent Piepho's avatar
      mpc8568: Double local bus clock divider · 446c381e
      Trent Piepho authored
      
      
      The clock divider for the MPC8568 local bus should be doubled, like the
      other newer MPC85xx chips.
      
      Since there are now more chips with a 2x divider than a 1x, and any new
      85xx chips will probably be 2x, invert the sense of the #if so that it
      lists the 1x chips instead of the 2x ones.
      Signed-off-by: default avatarTrent Piepho <tpiepho@freescale.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarJon Loeliger <jdl@freescale.com>
      446c381e
    • Dave Liu's avatar
      85xx: Fix the boot window issue · f51f07eb
      Dave Liu authored
      
      
      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: default avatarDave Liu <daveliu@freescale.com>
      f51f07eb
    • Haiying Wang's avatar
      Set IVPR to kenrel entry point in second core boot page · 181a3650
      Haiying Wang authored
      
      
      Assuming the OSes exception vectors start from the base of kernel address, and
      the kernel physical starting address can be relocated to an non-zero address.
      This patch enables the second core to have a valid IVPR for debugger before
      kernel setting IVPR in CAMP mode. Otherwise, IVPR is 0x0 and it is not a valid
      value for second core which runs kernel at different physical address other
      than 0x0.
      Signed-off-by: default avatarHaiying Wang <Haiying.Wang@freescale.com>
      181a3650
    • Trent Piepho's avatar
      mpc8xxx: LCRR[CLKDIV] is sometimes five bits · a5d212a2
      Trent Piepho authored
      
      
      On newer CPUs, 8536, 8572, and 8610, the CLKDIV field of LCRR is five bits
      instead of four.
      
      In order to avoid an ifdef, LCRR_CLKDIV is set to 0x1f on all systems.  It
      should be safe as the fifth bit was defined as reserved and set to 0.
      
      Code that was using a hard coded 0x0f is changed to use LCRR_CLKDIV.
      Signed-off-by: default avatarTrent Piepho <tpiepho@freescale.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarJon Loeliger <jdl@freescale.com>
      a5d212a2
    • Trent Piepho's avatar
      mpc8[56]xx: Put localbus clock in device tree · 58ec4866
      Trent Piepho authored
      
      
      Export the localbus frequency in the device tree, the same way the CPU, TB,
      CCB, and various other frequencies are exported in their respective device
      tree nodes.
      
      Some localbus devices need this information to be programed correctly, so
      it makes sense to export it along with the other frequencies.
      
      Unfortunately, when someone wrote the localbus dts bindings, they didn't
      bother to define what the "compatible" property should be.  So it seems no
      one was quite sure what to put in their dts files.
      
      Based on current existing dts files in the kernel source, I've used
      "fsl,pq3-localbus" and "fsl,elbc" for MPC85xx, which are used by almost all
      of the 85xx devices, and are looked for by the Linux code.  The eLBC is
      apparently not entirely backward compatible with the pq3 LBC and so eLBC
      equipped platforms like 8572 won't use pq3-localbus.
      
      For MPC86xx, I've used "fsl,elbc" which is used by some of the 86xx systems
      and is also looked for by the Linux code.  On MPC8641, I've also used
      "fsl,mpc8641-localbus" as it is also commonly used in dts files, some of
      which don't use "fsl,elbc" or any other acceptable name to match on.
      Signed-off-by: default avatarTrent Piepho <tpiepho@freescale.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarJon Loeliger <jdl@freescale.com>
      58ec4866
    • Kumar Gala's avatar
  14. 06 Dec, 2008 1 commit
  15. 04 Dec, 2008 2 commits