1. 23 8月, 2012 11 次提交
    • S
      powerpc/CoreNet: add tool to support pbl image build. · 5d898a00
      Shaohui Xie 提交于
      Provides a tool to build boot Image for PBL(Pre boot loader) which is
      used on Freescale CoreNet SoCs, PBL can be used to load some instructions
      and/or data for pre-initialization. The default output image is u-boot.pbl,
      for more details please refer to doc/README.pblimage.
      Signed-off-by: NShaohui Xie <Shaohui.Xie@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      5d898a00
    • L
      powerpc/corenet_ds: Slave module for boot from PCIE · 461632bd
      Liu Gang 提交于
      When boot from PCIE, slave's core should be in holdoff after powered on for
      some specific requirements. Master will release the slave's core at the
      right time by PCIE interface.
      
      Slave's ucode and ENV can be stored in master's memory space, then slave
      can fetch them through PCIE interface. For the corenet platform, ucode is
      for Fman.
      
      NOTE: Because the slave can not erase, write master's NOR flash by
      	  PCIE interface, so it can not modify the ENV parameters stored
      	  in master's NOR flash using "saveenv" or other commands.
      
      environment and requirement:
      
      master:
      	1. NOR flash for its own u-boot image, ucode and ENV space.
      	2. Slave's u-boot image is in master NOR flash.
      	3. Put the slave's ucode and ENV into it's own memory space.
      	4. Normally boot from local NOR flash.
      	5. Configure PCIE system if needed.
      slave:
      	1. Just has EEPROM for RCW. No flash for u-boot image, ucode and ENV.
      	2. Boot location should be set to one PCIE interface by RCW.
      	3. RCW should configure the SerDes, PCIE interfaces correctly.
      	4. Must set all the cores in holdoff by RCW.
      	5. Must be powered on before master's boot.
      
      For the slave module, need to finish these processes:
      	1. Set the boot location to one PCIE interface by RCW.
          2. Set a specific TLB entry for the boot process.
      	3. Set a LAW entry with the TargetID of one PCIE for the boot.
      	4. Set a specific TLB entry in order to fetch ucode and ENV from
      	   master.
      	5. Set a LAW entry with the TargetID one of the PCIE ports for
      	   ucode and ENV.
      	6. Slave's u-boot image should be generated specifically by
      	   make xxxx_SRIO_PCIE_BOOT_config.
      	   This will set SYS_TEXT_BASE=0xFFF80000 and other configurations.
      
      In addition, the processes are very similar between boot from SRIO and
      boot from PCIE. Some configurations like the address spaces can be set to
      the same. So the module of boot from PCIE was added based on the existing
      module of boot from SRIO, and the following changes were needed:
      	1. Updated the README.srio-boot-corenet to add descriptions about
      	   boot from PCIE, and change the name to
      	   README.srio-pcie-boot-corenet.
      	2. Changed the compile config "xxxx_SRIOBOOT_SLAVE" to
      	   "xxxx_SRIO_PCIE_BOOT", and the image builded with
      	   "xxxx_SRIO_PCIE_BOOT" can support both the boot from SRIO and
      	   from PCIE.
      	3. Updated other macros and documents if needed to add information
      	   about boot from PCIE.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      461632bd
    • L
      powerpc/corenet_ds: Master module for boot from PCIE · b5f7c873
      Liu Gang 提交于
      For the powerpc processors with PCIE interface, boot location can be
      configured from one PCIE interface by RCW. The processor booting from PCIE
      can do without flash for u-boot image. The image can be fetched from another
      processor's memory space by PCIE link connected between them.
      
      The processor booting from PCIE is slave, the processor booting from normal
      flash memory space is master, and it can help slave to boot from master's
      memory space.
      
      When boot from PCIE, slave's core should be in holdoff after powered on for
      some specific requirements. Master will release the slave's core at the
      right time by PCIE interface.
      
      Environment and requirement:
      
      master:
          1. NOR flash for its own u-boot image, ucode and ENV space.
          2. Slave's u-boot image is in master NOR flash.
          3. Normally boot from local NOR flash.
          4. Configure PCIE system if needed.
      slave:
          1. Just has EEPROM for RCW. No flash for u-boot image, ucode and ENV.
          2. Boot location should be set to one PCIE interface by RCW.
          3. RCW should configure the SerDes, PCIE interfaces correctly.
      	4. Must set all the cores in holdoff by RCW.
      	5. Must be powered on before master's boot.
      
      For the master module, need to finish these processes:
          1. Initialize the PCIE port and address space.
          2. Set inbound PCIE windows covered slave's u-boot image stored in
             master's NOR flash.
      	3. Set outbound windows in order to configure slave's registers
      	   for the core's releasing.
          4. Should set the environment variable "bootmaster" to "PCIE1", "PCIE2"
      	   or "PCIE3" using the following command:
      
      			setenv bootmaster PCIE1
      			saveenv
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      b5f7c873
    • L
      powerpc/corenet_ds: Update README and README.srio-pcie-boot-corenet · fc54c7fa
      Liu Gang 提交于
      Added descriptions about boot from PCIE in the files README and
      doc/README.srio-pcie-boot-corenet, and changed the name of the
      doc/README.srio-boot-corenet to doc/README.srio-pcie-boot-corenet.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      fc54c7fa
    • L
      powerpc/corenet_ds: Get rid of the CONFIG_SRIOBOOT_SLAVE_PORTx macro · 81fa73ba
      Liu Gang 提交于
      When compile the slave image for boot from SRIO, no longer need to
      specify which SRIO port it will boot from. The code will get this
      information from RCW and then finishes corresponding configurations.
      
      This has the following advantages:
      	1. No longer need to rebuild an image when change the SRIO port for
      	   boot from SRIO, just rewrite the new RCW with selected port,
      	   then the code will get the port information by reading new RCW.
      	2. It will be easier to support other boot location options, for
      	   example, boot from PCIE.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      81fa73ba
    • L
      powerpc/corenet_ds: Get rid of the SRIOBOOT_MASTER build target · ff65f126
      Liu Gang 提交于
      Get rid of the SRIOBOOT_MASTER build target, and to support for serving as
      a SRIO boot master via environment variable. Set the environment variable
      "bootmaster" to "SRIO1" or "SRIO2" using the following command:
      
      		setenv bootmaster SRIO1
      		saveenv
      
      The "bootmaster" will enable the function of the SRIO boot master, and
      this has the following advantages compared with SRIOBOOT_MASTER build
      configuration:
      	1. Reduce a build configuration item in boards.cfg file.
      	   No longer need to build a special image for master, just use a
      	   normal target image and set the "bootmaster" variable.
      	2. No longer need to rebuild an image when change the SRIO port for
      	   boot from SRIO, just set the corresponding value to "bootmaster"
      	   based on the using SRIO port.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      ff65f126
    • L
      powerpc/corenet_ds: Update README.srio-boot-corenet · 51928df6
      Liu Gang 提交于
      Update some descriptions due to the implementation changes:
      
      For master:
      	Get rid of the SRIOBOOT_MASTER build target, and to support
      	for serving as a SRIO boot master via environment variable.
      For slave:
      	1. When compile the slave image for boot from SRIO, no longer
      	   need to specify which SRIO port it will boot from.
      	2. All slave's cores should be in hold off.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      51928df6
    • Y
      powerpc/mpc85xx: Make NMG_CPU_A011 workaround conditional · 57125f22
      York Sun 提交于
      This erratum applies to the following SoCs:
      P4080 rev 1.0, 2.0, fixed in rev 3.0
      P2041 rev 1.0, 1.1, fixed in rev 2.0
      P3041 rev 1.0, 1.1, fixed in rev 2.0.
      
      Workaround for erratum NMG_CPU_A011 is enabled by default. This workaround
      may degrade performance. P4080 erratum CPU22 shares the same workaround.
      So it is always enabled for P4080. For other SoCs, it can be disabled by
      hwconfig with syntax:
      
      fsl_cpu_a011:disable
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      57125f22
    • S
      nand/fsl_elbc: shrink SPL a bit by converting out_be32() to __raw_writel() · 7b8f6685
      Scott Wood 提交于
      This is needed to make room for a bugfix on p1_p2_rdb_pc.  A sync is used
      before the final write to LSOR that initiates the transaction, to ensure
      all the other set up has been completed.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      7b8f6685
    • J
      powerpc: Stack Pointer not properly aligned · 7de8a716
      Joakim Tjernlund 提交于
      The code first aligns the SP to 16 then subtract 8, making it
      8 bytes aligned. Furthermore the initial stack frame not
      quite correct either.
      Signed-off-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      7de8a716
    • J
      mpc85xx: Initial SP alignment is wrong. · 89f42899
      Joakim Tjernlund 提交于
      PowerPC mandates SP to be 16 bytes aligned.
      Furthermore, a stack frame is added, pointing to the reset vector
      which may in the way when gdb is walking the stack because
      the reset vector may not accessible depending on emulator settings.
      Also use a temp register so gdb doesn't pick up intermediate values.
      Signed-off-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      89f42899
  2. 18 8月, 2012 1 次提交
  3. 13 8月, 2012 2 次提交
  4. 11 8月, 2012 9 次提交
  5. 10 8月, 2012 17 次提交