Skip to content
  • Peter Tyser's avatar
    85xx: MP Boot Page Translation update · 5ccd29c3
    Peter Tyser authored
    
    
    This change has 3 goals:
    - Have secondary cores be released into spin loops at their 'true'
      address in SDRAM.  Previously, secondary cores were put into spin
      loops in the 0xfffffxxx address range which required that boot page
      translation was always enabled while cores were in their spin loops.
    
    - Allow the TLB window that the primary core uses to access the
      secondary cores boot page to be placed at any address.  Previously, a
      TLB window at 0xfffff000 was always used to access the seconary cores'
      boot page.  This TLB address requirement overlapped with other
      peripherals on some boards (eg XPedite5370).  By default, the boot
      page TLB will still use the 0xfffffxxx address range, but this can be
      overridden on a board-by-board basis by defining a custom
      CONFIG_BPTR_VIRT_ADDR.  Note that the TLB used to map the boot page
      remains in use while U-Boot executes.  Previously it was only
      temporarily used, then restored to its initial value.
    
    - Allow Boot Page Translation to be disabled on bootup.  Previously,
      Boot Page Translation was always left enabled after secondary cores
      were brought out of reset.  This caused the 0xfffffxxx address range
      to somewhat "magically" be translated to an address in SDRAM.  Some
      boards may not want this oddity in their memory map, so defining
      CONFIG_MPC8xxx_DISABLE_BPTR will turn off Boot Page Translation after
      the secondary cores are initialized.
    
    These changes are only applicable to 85xx boards with CONFIG_MP defined.
    
    Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    5ccd29c3