1. 08 Aug, 2012 1 commit
  2. 06 Jul, 2012 1 commit
  3. 20 Jun, 2012 1 commit
  4. 25 Apr, 2012 6 commits
    • Liu Gang's avatar
      powerpc/corenet_ds: Slave core in holdoff when boot from SRIO · 5056c8e0
      Liu Gang authored
      
      
      When boot from SRIO, slave's core can be in holdoff after powered on for
      some specific requirements. Master can release the slave's core at the
      right time by SRIO interface.
      
      Master needs to:
      	1. Set outbound SRIO windows in order to configure slave's registers
      	   for the core's releasing.
      	2. Check the SRIO port status when release slave core, if no errors,
      	   will implement the process of the slave core's releasing.
      Slave needs to:
      	1. Set all the cores in holdoff by RCW.
      	2. Be powered on before master's boot.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      5056c8e0
    • Liu Gang's avatar
      powerpc/corenet_ds: Slave reads ENV from master when boot from SRIO · 0a85a9e7
      Liu Gang authored
      
      
      When boot from SRIO, slave's ENV can be stored in master's memory space,
      then slave can fetch the ENV through SRIO interface.
      
      NOTE: Because the slave can not erase, write master's NOR flash by SRIO
      	  interface, so it can not modify the ENV parameters stored in
      	  master's NOR flash using "saveenv" or other commands.
      
      Master needs to:
      	1. Put the slave's ENV into it's own memory space.
      	2. Set an inbound SRIO window covered slave's ENV stored in master's
      	   memory space.
      Slave needs to:
      	1. Set a specific TLB entry in order to fetch ucode and ENV from master.
      	2. Set a LAW entry with the TargetID SRIO1 or SRIO2 for ucode and ENV.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      0a85a9e7
    • Liu Gang's avatar
      powerpc/corenet_ds: Slave uploads ucode when boot from SRIO · 3f1af81b
      Liu Gang authored
      
      
      When boot from SRIO, slave's ucode can be stored in master's memory space,
      then slave can fetch the ucode image through SRIO interface. For the
      corenet platform, ucode is for Fman.
      
      Master needs to:
      	1. Put the slave's ucode image into it's own memory space.
      	2. Set an inbound SRIO window covered slave's ucode stored in master's
      	   memory space.
      Slave needs to:
      	1. Set a specific TLB entry in order to fetch ucode from master.
      	2. Set a LAW entry with the TargetID SRIO1 or SRIO2 for ucode.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      3f1af81b
    • Liu Gang's avatar
      powerpc/corenet_ds: Slave module for boot from SRIO · 292dc6c5
      Liu Gang authored
      
      
      For the powerpc processors with SRIO interface, boot location can be configured
      from SRIO1 or SRIO2 by RCW. The processor booting from SRIO can do without flash
      for u-boot image. The image can be fetched from another processor's memory
      space by SRIO link connected between them.
      
      The processor boots from SRIO is slave, the processor boots from normal flash
      memory space and can help slave to boot from its memory space is master.
      They are different environments and requirements:
      
      master:
      	1. NOR flash for its own u-boot image, ucode and ENV space.
      	2. Slave's u-boot image in master NOR flash.
      	3. Normally boot from local NOR flash.
      	4. Configure SRIO switch 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 SRIO1 or SRIO2 by RCW.
      	3. RCW should configure the SerDes, SRIO interfaces correctly.
      	4. Slave must be powered on after master's boot.
      	5. Must define CONFIG_SYS_QE_FMAN_FW_IN_REMOTE because of no ucode
      	   locally.
      
      For the slave module, need to finish these processes:
      	1. Set the boot location to SRIO1 or SRIO2 by RCW.
          2. Set a specific TLB entry for the boot process.
      	3. Set a LAW entry with the TargetID SRIO1 or SRIO2 for the boot.
      	4. Slave's u-boot image should be generated specifically by
      	   make xxxx_SRIOBOOT_SLAVE_config.
      	   This will set SYS_TEXT_BASE=0xFFF80000 and other configurations.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      292dc6c5
    • Liu Gang's avatar
      powerpc/corenet_ds: Master module for boot from SRIO · 5ffa88ec
      Liu Gang authored
      
      
      For the powerpc processors with SRIO interface, boot location can be configured
      from SRIO1 or SRIO2 by RCW. The processor booting from SRIO can do without flash
      for u-boot image. The image can be fetched from another processor's memory
      space by SRIO link connected between them.
      
      The processor boots from SRIO is slave, the processor boots from normal flash
      memory space and can help slave to boot from its memory space is master.
      They are different environments and requirements:
      
      master:
      	1. NOR flash for its own u-boot image, ucode and ENV space.
      	2. Slave's u-boot image in master NOR flash.
      	3. Normally boot from local NOR flash.
      	4. Configure SRIO switch 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 SRIO1 or SRIO2 by RCW.
      	3. RCW should configure the SerDes, SRIO interfaces correctly.
      	4. Slave must be powered on after master's boot.
      
      For the master module, need to finish these processes:
      	1. Initialize the SRIO port and address space.
      	2. Set inbound SRIO windows covered slave's u-boot image stored in
      	   master's NOR flash.
      	3. Master's u-boot image should be generated specifically by
      	   make xxxx_SRIOBOOT_MASTER_config
      	4. Master must boot first, and then slave can be powered on.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      5ffa88ec
    • Liu Gang's avatar
      powerpc/corenet_ds: Correct the compilation errors about ENV · fd0451e4
      Liu Gang authored
      
      
      When defined CONFIG_ENV_IS_NOWHERE, there will be some
      compilation errors:
      
      ./common/env_nowhere.o: In function `env_relocate_spec':
      ./common/env_nowhere.c:38: multiple definition of `env_relocate_spec'
      ./common/env_flash.o: ./common/env_flash.c:326: first defined here
      ./common/env_nowhere.o: In function `env_get_char_spec':
      ./common/env_nowhere.c:42: multiple definition of `env_get_char_spec'
      ./common/env_flash.o:./common/env_flash.c:78: first defined here
      ./common/env_nowhere.o: In function `env_init':
      ./common/env_nowhere.c:51: multiple definition of `env_init'
      ./common/env_flash.o:./common/env_flash.c:237: first defined here
      make[1]: *** [./common/libcommon.o] Error 1
      make[1]: Leaving directory `./common'
      make: *** [./common/libcommon.o] Error 2
      
      Remove the CONFIG_ENV_IS_IN_FLASH if defined CONFIG_ENV_IS_NOWHERE.
      Signed-off-by: default avatarLiu Gang <Gang.Liu@freescale.com>
      fd0451e4
  5. 12 Feb, 2012 1 commit
    • Fabio Estevam's avatar
      sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option · 4394d0c2
      Fabio Estevam authored
      Since commit 97039ab9
      
       (env_mmc: Allow board code to override the environment address)
      mmc_get_env_addr is a weak-aliased function in common/env_mmc.c
      
      The mmc_get_env_addr implementation that exists at
      board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards,
      but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC defined.
      
      Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use
      the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could activate
      this config option on their board file.
      
      This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards.
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Acked-by: default avatarStefano Babic <sbabic@denx.de>
      4394d0c2
  6. 29 Nov, 2011 2 commits
    • Shengzhou Liu's avatar
      powerpc/p3060qds: Add board related support for P3060QDS platform · ae6b03fe
      Shengzhou Liu authored
      
      
      The P3060QDS is a Freescale reference board for the six-core P3060 SOC.
      
      P3060QDS Board Overview:
       Memory subsystem:
        - 2G Bytes unbuffered DDR3 SDRAM SO-DIMM(64bit bus)
        - 128M Bytes NOR flash single-chip memory
        - 16M Bytes SPI flash
        - 8K Bytes AT24C64 I2C EEPROM for RCW
       Ethernet:
        - Eight Ethernet controllers (4x1G + 4x1G/2.5G)
        - Three VSC8641 PHYs on board (2xRGMII + 1xMII)
        - Suport multiple Vitesse VSC8234 SGMII Cards in Slot1/2/3
       PCIe: Two PCI Express 2.0 controllers/ports
       USB:  Two USB2.0, USB1(TYPE-A) and USB2(TYPE-AB) on board
       I2C:  Four I2C controllers
       UART: Supports two dUARTs up to 115200 bps for console
       RapidIO:  Two RapidIO, sRIO1 and sRIO2
      Signed-off-by: default avatarShengzhou Liu <Shengzhou.Liu@freescale.com>
      Signed-off-by: default avatarYork Sun <yorksun@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      ae6b03fe
    • Timur Tabi's avatar
      powerpc/85xx: clean up and document the QE/FMAN microcode macros · f2717b47
      Timur Tabi authored
      
      
      Several macros are used to identify and locate the microcode binary image
      that U-boot needs to upload to the QE or Fman.  Both the QE and the Fman
      use the QE Firmware binary format to package their respective microcode data,
      which is why the same macros are used for both.  A given SOC will only have
      a QE or an Fman, so this is safe.
      
      Unfortunately, the current macro definition and usage has inconsistencies.
      For example, CONFIG_SYS_FMAN_FW_ADDR was used to define the address of Fman
      firmware in NOR flash, but CONFIG_SYS_QE_FW_IN_NAND contains the address
      of NAND.  There's no way to know by looking at a variable how it's supposed
      to be used.
      
      In the future, the code which uploads QE firmware and Fman firmware will
      be merged.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      f2717b47
  7. 21 Oct, 2011 2 commits
  8. 05 Oct, 2011 1 commit
  9. 03 Oct, 2011 2 commits
    • Kumar Gala's avatar
      powerpc/85xx: Refactor some defines out of corenet_ds.h · c6d33901
      Kumar Gala authored
      
      
      Move some SoC/board specific defines out of corenet_ds.h and into the
      corresponding P3041DS/P4080DS/P5020.h.
      
      We moved CONFIG_MMC, CONFIG_PCIE3, & CONFIG_FSL_NGPIXIS because the P3060
      SoC/reference board does not have these devices and it will share the same
      board code.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      c6d33901
    • Ruchika Gupta's avatar
      powerpc/p4080: Add support for secure boot flow · 7065b7d4
      Ruchika Gupta authored
      
      
      Pre u-boot Flow:
      1. User loads the u-boot image in flash
      2. PBL/Configuration word is used to create LAW for Flash at 0xc0000000
         (Please note that ISBC expects all these addresses, images to be
          validated, entry point etc within 0 - 3.5G range)
      3. ISBC validates the u-boot image, and passes control to u-boot
         at 0xcffffffc.
      
      Changes in u-boot:
      1. Temporarily map CONFIG_SYS_MONITOR_BASE to the 1M
         CONFIG_SYS_PBI_FLASH_WINDOW in AS=1.
         (The CONFIG_SYS_PBI_FLASH_WINDOW is the address map for the flash
          created by PBL/configuration word within 0 - 3.5G memory range. The
          u-boot image at this address has been validated by ISBC code)
      2. Remove TLB entries for 0 - 3.5G created by ISBC code
      3. Remove the LAW entry for the CONFIG_SYS_PBI_FLASH_WINDOW created by
         PBL/configuration word after switch to AS = 1
      Signed-off-by: default avatarRuchika Gupta <ruchika.gupta@freescale.com>
      Signed-off-by: default avatarKuldip Giroh <kuldip.giroh@freescale.com>
      Acked-by: default avatarWood Scott-B07421 <B07421@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      7065b7d4
  10. 30 Sep, 2011 3 commits
    • Kumar Gala's avatar
      powerpc/85xx: Enable CMD_REGINFO on corenet boards · 9570cbda
      Kumar Gala authored
      
      
      Useful for various debug to know how various regsters might be set
      in a human readable form.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      9570cbda
    • Andy Fleming's avatar
      powerpc/85xx: Add FMan ethernet support to P4080DS · 2915609a
      Andy Fleming authored
      
      
      Add support for RGMII, SGMII, and XAUI (10Gb) Ethernet on P4080DS.
      
      The board supports add-on cards for SGMII and XAUI functionality.  Which
      slots on the board these cards are in is a function of the SERDES option
      selected and muxes on the board.
      
      Additionally because of the high-configurablity which MDIO bus one is
      connected to is "selected" via an FPGA register.  We create dummy MDIO
      bus for the phy layer and hide the mux manipulation in this dummy layer.
      
      Add fman fdt helper function in board common code it'll be used by several
      freescale boards that do various muxing of the MDIO signals based on which
      controller/interface one is trying to talk to.
      
      Removed CONFIG_SYS_FMAN_FW as its not used anywhere.
      Signed-off-by: default avatarMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      2915609a
    • Timur Tabi's avatar
      powerpc/85xx: introduce and document CONFIG_SYS_CCSRBAR macros · e46fedfe
      Timur Tabi authored
      
      
      Introduce the CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW
      macros, which contain the high and low portions of CONFIG_SYS_CCSRBAR_PHYS.
      This is necessary for the assembly-language code that relocates CCSR, since
      the assembler does not understand 64-bit constants.
      
      CONFIG_SYS_CCSRBAR_PHYS is automatically defined from the
      CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW macros, so it
      should not be defined in a board header file.  Similarly,
      CONFIG_SYS_CCSRBAR_DEFAULT is defined for each SOC in config_mpc85xx.h, so
      it should also not be defined in the board header file.
      
      CONFIG_SYS_CCSR_DO_NOT_RELOCATE is a "short-cut" macro that guarantees that
      CONFIG_SYS_CCSRBAR_PHYS is set to the same value as CONFIG_SYS_CCSRBAR_DEFAULT,
      and so CCSR will not be relocated.
      
      Since CONFIG_SYS_CCSRBAR_DEFAULT is locked to a fixed value, multi-stage U-Boot
      builds (e.g. NAND) are required to relocate CCSR only during the last stage
      (i.e. the "real" U-Boot).  All other stages should define
      CONFIG_SYS_CCSR_DO_NOT_RELOCATE to ensure that CCSR is not relocated.
      
      README is updated with descriptions of all the CONFIG_SYS_CCSRBAR_xxx macros.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      e46fedfe
  11. 29 Jul, 2011 1 commit
  12. 22 Jul, 2011 1 commit
  13. 11 Jul, 2011 3 commits
  14. 18 May, 2011 2 commits
  15. 29 Apr, 2011 1 commit
  16. 28 Apr, 2011 2 commits
  17. 27 Apr, 2011 1 commit
    • Kim Phillips's avatar
      common: add a grepenv command · a000b795
      Kim Phillips authored
      
      
      u-boot environments, esp. when boards are shared across multiple
      users, can get pretty large and time consuming to visually parse.
      The grepenv command this patch adds can be used in lieu of printenv
      to facilitate searching.  grepenv works like printenv but limits
      its output only to environment strings (variable name and value
      pairs) that match the user specified substring.
      
      the following examples are on a board with a 5313 byte environment
      that spans multiple screen pages:
      
      Example 1:  summarize ethernet configuration:
      
      => grepenv eth TSEC
      etact=FM1@DTSEC2
      eth=FM1@DTSEC4
      ethact=FM1@DTSEC2
      eth1addr=00:E0:0C:00:8b:01
      eth2addr=00:E0:0C:00:8b:02
      eth3addr=00:E0:0C:00:8b:03
      eth4addr=00:E0:0C:00:8b:04
      eth5addr=00:E0:0C:00:8b:05
      eth6addr=00:E0:0C:00:8b:06
      eth7addr=00:E0:0C:00:8b:07
      eth8addr=00:E0:0C:00:8b:08
      eth9addr=00:E0:0C:00:8b:09
      ethaddr=00:E0:0C:00:8b:00
      netdev=eth0
      uprcw=setenv ethact $eth;setenv filename p4080ds/R_PPSXX_0xe/rcw_0xe_2sgmii_rev2_high.bin;setenv start 0xe8000000;protect off all;run upimage;protect on all
      upuboot=setenv ethact $eth;setenv filename u-boot.bin;setenv start eff80000;protect off all;run upimage;protect on all
      upucode=setenv ethact $eth;setenv filename fsl_fman_ucode_P4080_101_6.bin;setenv start 0xef000000;protect off all;run upimage;protect on all
      usdboot=setenv ethact $eth;tftp 1000000 $dir/$bootfile;tftp 2000000 $dir/initramfs.cpio.gz.uboot;tftp c00000 $dir/p4080ds-usdpaa.dtb;setenv bootargs root=/dev/ram rw console=ttyS0,115200 $othbootargs;bootm 1000000 2000000 c00000;
      =>
      
      Example 2: detect unused env vars:
      
      => grepenv etact
      etact=FM1@DTSEC2
      =>
      
      Example 3: reveal hardcoded variables; e.g., for fdtaddr:
      
      => grepenv fdtaddr
      fdtaddr=c00000
      nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
      ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr
      => grep $fdtaddr
      fdtaddr=c00000
      my_boot=bootm 0x40000000 0x41000000 0x00c00000
      my_dtb=tftp 0x00c00000 $prefix/p4080ds.dtb
      nohvboot=tftp 1000000 $dir/$bootfile;tftp 2000000 $dir/$ramdiskfile;tftp c00000 $dir/$fdtfile;setenv bootargs root=/dev/ram rw ramdisk_size=0x10000000 console=ttyS0,115200;bootm 1000000 2000000 c00000;
      =>
      
      This patch also enables the grepenv command by default on
      corenet_ds based boards (and repositions the DHCP command
      entry to keep the list sorted).
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Cc: Kumar Gala <kumar.gala@freescale.com>
      Cc: Andy Fleming <afleming@freescale.com>
      a000b795
  18. 10 Apr, 2011 1 commit
  19. 09 Apr, 2011 1 commit
  20. 04 Apr, 2011 1 commit
  21. 20 Jan, 2011 3 commits
  22. 14 Jan, 2011 3 commits