1. 10 8月, 2013 1 次提交
    • Z
      powerpc/pcie: add PCIe version 3.x support · 7b4e5844
      Zang Roy-R61911 提交于
      T4240 PCIe IP is version 3.0 and has some update comparing previous
      QorIQ products.
      
      1.  Move Freescale specific register define
      to
      arch/powerpc/include/asm/fsl_pci.h
      and update the register offset define for T4240.
      
      2. add the status/control register define
      use status/control register to judge the link status
      
      3. The original code uses 'Programming Interface' field to judge if PCIE is
      EP or RC mode, however, T4240 does not support this functionality.
      According to PCIE specification, 'Header Type' offset 0x0e is used to
      indicate header type, so for PCIE controller, the patch changes code to
      use 'Header Type' field to identify if the PCIE is RC or EP mode.
      
      This patch fixes  the PCIe card link up issue on T4240QDS.
      Signed-off-by: NRoy Zang <tie-fei.zang@freescale.com>
      Signed-off-by: NMinghuan Lian <Minghuan.Lian@freescale.com>
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      7b4e5844
  2. 24 7月, 2013 1 次提交
  3. 21 6月, 2013 1 次提交
    • L
      powerpc/boot: Change the macro of Boot from SRIO and PCIE master module · c8b28152
      Liu Gang 提交于
      Currently, the macro "CONFIG_SYS_FSL_SRIO_PCIE_BOOT_MASTER" can enable
      the master module of Boot from SRIO and PCIE on a platform. But this
      is not a silicon feature, it's just a specific booting mode based on
      the SRIO and PCIE interfaces. So it's inappropriate to put the macro
      into the file arch/powerpc/include/asm/config_mpc85xx.h.
      
      Change the macro "CONFIG_SYS_FSL_SRIO_PCIE_BOOT_MASTER" to
      "CONFIG_SRIO_PCIE_BOOT_MASTER", remove them from
      arch/powerpc/include/asm/config_mpc85xx.h file, and add those macros
      in configuration header file of each board which can support the
      master module of Boot from SRIO and PCIE.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      c8b28152
  4. 28 11月, 2012 1 次提交
  5. 23 10月, 2012 3 次提交
    • L
      powerpc/boot: Change the compile macro for SRIO & PCIE boot master module · 19e4a009
      Liu Gang 提交于
      Currently, the SRIO and PCIE boot master module will be compiled into the
      u-boot image if the macro "CONFIG_FSL_CORENET" has been defined. And this
      macro has been included by all the corenet architecture platform boards.
      But in fact, it's uncertain whether all corenet platform boards support
      this feature.
      
      So it may be better to get rid of the macro "CONFIG_FSL_CORENET", and add
      a special macro for every board which can support the feature. This
      special macro will be defined in the header file
      "arch/powerpc/include/asm/config_mpc85xx.h". It will decide if the SRIO
      and PCIE boot master module should be compiled into the board u-boot image.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      19e4a009
    • Y
      powerpc/mpc85xx: Add T4240 SoC · 9e758758
      York Sun 提交于
      Add support for Freescale T4240 SoC. Feature of T4240 are
      (incomplete list):
      
      12 dual-threaded e6500 cores built on Power Architecture® technology
        Arranged as clusters of four cores sharing a 2 MB L2 cache.
        Up to 1.8 GHz at 1.0 V with 64-bit ISA support (Power Architecture
          v2.06-compliant)
        Three levels of instruction: user, supervisor, and hypervisor
      1.5 MB CoreNet Platform Cache (CPC)
      Hierarchical interconnect fabric
        CoreNet fabric supporting coherent and non-coherent transactions with
          prioritization and bandwidth allocation amongst CoreNet end-points
        1.6 Tbps coherent read bandwidth
        Queue Manager (QMan) fabric supporting packet-level queue management and
          quality of service scheduling
      Three 64-bit DDR3/3L SDRAM memory controllers with ECC and interleaving
          support
        Memory prefetch engine (PMan)
      Data Path Acceleration Architecture (DPAA) incorporating acceleration for
          the following functions:
        Packet parsing, classification, and distribution (Frame Manager 1.1)
        Queue management for scheduling, packet sequencing, and congestion
          management (Queue Manager 1.1)
        Hardware buffer management for buffer allocation and de-allocation
          (BMan 1.1)
        Cryptography acceleration (SEC 5.0) at up to 40 Gbps
        RegEx Pattern Matching Acceleration (PME 2.1) at up to 10 Gbps
        Decompression/Compression Acceleration (DCE 1.0) at up to 20 Gbps
        DPAA chip-to-chip interconnect via RapidIO Message Manager (RMAN 1.0)
      32 SerDes lanes at up to 10.3125 GHz
      Ethernet interfaces
        Up to four 10 Gbps Ethernet MACs
        Up to sixteen 1 Gbps Ethernet MACs
        Maximum configuration of 4 x 10 GE + 8 x 1 GE
      High-speed peripheral interfaces
        Four PCI Express 2.0/3.0 controllers
        Two Serial RapidIO 2.0 controllers/ports running at up to 5 GHz with
          Type 11 messaging and Type 9 data streaming support
        Interlaken look-aside interface for serial TCAM connection
      Additional peripheral interfaces
        Two serial ATA (SATA 2.0) controllers
        Two high-speed USB 2.0 controllers with integrated PHY
        Enhanced secure digital host controller (SD/MMC/eMMC)
        Enhanced serial peripheral interface (eSPI)
        Four I2C controllers
        Four 2-pin or two 4-pin UARTs
        Integrated Flash controller supporting NAND and NOR flash
      Two eight-channel DMA engines
      Support for hardware virtualization and partitioning enforcement
      QorIQ Platform's Trust Architecture 1.1
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      Signed-off-by: NRoy Zang <tie-fei.zang@freescale.com>
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      Signed-off-by: NShengzhou Liu <Shengzhou.Liu@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      9e758758
    • Y
      driver/pci: Fix compiling error · a1e4318c
      York Sun 提交于
      Fix compiling error in case CONFIG_SYS_PCIE2_MEM_VIRT or CONFIG_SYS_PCIE3_MEM_VIRT
      not defined.
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      a1e4318c
  6. 22 10月, 2012 1 次提交
  7. 23 8月, 2012 1 次提交
    • 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
  8. 31 3月, 2012 1 次提交
  9. 05 3月, 2012 1 次提交
    • L
      pci: move pciauto_config_init() to pci.h · a1e47b66
      Linus Walleij 提交于
      Fixing build regressions for the Integrator I get find that a few
      boards try to work around the missing declaration of
      pciauto_config_init() by declaring it in the local scope. This
      does not make sense when the sibling functions are in <pci.h>
      so move the function to the header, ridding the build error
      in the Integrator and getting rid of the local declarations
      here and there.
      Reported-by: NWolfgang Denk <wd@denx.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a1e47b66
  10. 28 10月, 2011 1 次提交
    • M
      GCC4.6: Squash warnings in fsl_pci_init.c · d015df8f
      Marek Vasut 提交于
      fsl_pci_init.c: In function 'fsl_pci_init':
      fsl_pci_init.c:308: warning: format '%08x' expects type 'unsigned int', but
      argument 6 has type 'long unsigned int'
      fsl_pci_init.c:347: warning: format '%x' expects type 'unsigned int', but
      argument 2 has type 'volatile u32 *'
      
      fsl_pci_init.c: In function 'fsl_pci_init':
      fsl_pci_init.c:308: warning: format '%016llx' expects type 'long long unsigned
      int', but argument 4 has type 'pci_addr_t'
      fsl_pci_init.c:308: warning: format '%016llx' expects type 'long long unsigned
      int', but argument 5 has type 'pci_size_t'
      fsl_pci_init.c:308: warning: format '%08x' expects type 'unsigned int', but
      argument 6 has type 'long unsigned int'
      Signed-off-by: NMarek Vasut <marek.vasut@gmail.com>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Mike Frysinger <vapier@gentoo.org>
      d015df8f
  11. 29 7月, 2011 1 次提交
  12. 04 4月, 2011 1 次提交
    • P
      fsl_pci: Add support for FSL PCIe controllers v2.x · b6ccd2c9
      Prabhakar Kushwaha 提交于
      FSL PCIe controller v2.1:
      	- New MSI inbound window
      	- Same Inbound windows address as PCIe controller v1.x
      
      Added new pit_t member(pmit) to struct ccsr_pci for MSI inbound window
      
      FSL PCIe controller v2.2 and v2.3:
      	- Different addresses for PCIe inbound window 3,2,1
      	- Exposed PCIe inbound window 0
      	- New PCIe interrupt status register
      
      Added new Interrupt Status register to struct ccsr_pci & updated pit_t array
      size to reflect the 4 inbound windows.
      
      To maintain backward compatiblilty, on V2.2 or greater controllers we
      start with inbound window 1 and leave inbound 0 with its default value
      (which maps to CCSRBAR).
      Signed-off-by: NPrabhakar Kushwaha <prabhakar@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      b6ccd2c9
  13. 29 3月, 2011 1 次提交
  14. 03 2月, 2011 1 次提交
  15. 14 1月, 2011 3 次提交
    • P
      fsl_pci: Update PCIe boot ouput · 213ac73e
      Peter Tyser 提交于
      This change does the following:
      - Adds printing of negotiated link width.  This information can be
        useful when debugging PCIe issues.
      - Makes it optional for boards to implement board_serdes_name().
        Previously boards that did not implement it would print unsightly
        output such as "PCIE1: Connected to <NULL>..."
      - Rewords the PCIe boot output to reduce line length and to make it
        clear that the "base address XYZ" value refers to the base address of
        the internal processor PCIe registers and not a standard PCI BAR
        value.
      - Changes "PCIE" output to the standard "PCIe"
      
      Before change:
      PCIE1: connected to <NULL> as Root Complex (base addr ef008000)
        01:00.0     - 10b5:8518 - Bridge device
         02:01.0    - 10b5:8518 - Bridge device
         02:02.0    - 10b5:8518 - Bridge device
         02:03.0    - 10b5:8518 - Bridge device
      PCIE1: Bus 00 - 05
      PCIE2: connected to <NULL> as Endpoint (base addr ef009000)
      PCIE2: Bus 06 - 06
      
      After change:
      PCIe1: Root Complex of PEX8518 Switch, x4, regs @ 0xef008000
        01:00.0     - 10b5:8518 - Bridge device
         02:01.0    - 10b5:8518 - Bridge device
         02:02.0    - 10b5:8518 - Bridge device
         02:03.0    - 10b5:8518 - Bridge device
      PCIe1: Bus 00 - 05
      PCIe2: Endpoint of VPX Fabric A, x2, regs @ 0xef009000
      PCIe2: Bus 06 - 06
      Signed-off-by: NPeter Tyser <ptyser@xes-inc.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      213ac73e
    • K
      powerpc/fsl-pci: Add generic code to setup PCIe controllers · a4aafcc9
      Kumar Gala 提交于
      Since all the PCIe controllers are connected over SERDES on the SoCs we
      can utilize is_serdes_configured() to determine if a controller is
      enabled.  After which we can setup the ATMUs and LAWs for the controller
      in a common fashion and allow board code to specify what the controller
      is connected to for reporting reasons.
      
      We also provide a per controller (rather than all) for some systems that
      may have special requirements.
      
      Finally, we refactor the code used by the P1022DS to utilize the new
      generic code.
      
      Based on patch by: Li Yang <leoli@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      a4aafcc9
    • K
      powerpc/fsl-pci: Determine pci_controller based on cfg addr for dts fixup · 3a0e3c27
      Kumar Gala 提交于
      Previously we passed in a specifically named struct pci_controller to
      determine if we had setup the particular PCI bus.  Now we can search for
      the struct so we dont have to depend on the name or the struct being
      statically allocated.
      
      Introduced new find_hose_by_cfg_addr() to get back a pci_controller struct
      back by searching for it means we can do things like dynamically allocate
      them or not have to expose the static structures to all users.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Acked-by: NWolfgang Denk <wd@denx.de>
      3a0e3c27
  16. 15 11月, 2010 3 次提交
    • P
      fsl_pci_init: Quiet scanning printf() · 37d03fce
      Peter Tyser 提交于
      The "Scanning PCI bus X" message doesn't provide any real useful
      information, so remove it.
      
      Original output:
        PCIE1: connected as Root Complex
                   Scanning PCI bus 01
                04  01  8086  1010  0200  00
                04  01  8086  1010  0200  00
                03  00  10b5  8112  0604  00
                02  01  10b5  8518  0604  00
                02  02  10b5  8518  0604  00
                08  00  1957  0040  0b20  00
                07  00  10b5  8518  0604  00
                09  00  10b5  8112  0604  00
                07  01  10b5  8518  0604  00
                07  02  10b5  8518  0604  00
                06  00  10b5  8518  0604  00
                02  03  10b5  8518  0604  00
                01  00  10b5  8518  0604  00
        PCIE1: Bus 00 - 0b
        PCIE2: connected as Root Complex
                   Scanning PCI bus 0d
                0d  00  1957  0040  0b20  00
        PCIE2: Bus 0c - 0d
      
      Updated output:
        PCIE1: connected as Root Complex
                04  01  8086  1010  0200  00
                04  01  8086  1010  0200  00
                03  00  10b5  8112  0604  00
                02  01  10b5  8518  0604  00
                02  02  10b5  8518  0604  00
                08  00  1957  0040  0b20  00
                07  00  10b5  8518  0604  00
                09  00  10b5  8112  0604  00
                07  01  10b5  8518  0604  00
                07  02  10b5  8518  0604  00
                06  00  10b5  8518  0604  00
                02  03  10b5  8518  0604  00
                01  00  10b5  8518  0604  00
        PCIE1: Bus 00 - 0b
        PCIE2: connected as Root Complex
                0d  00  1957  0040  0b20  00
        PCIE2: Bus 0c - 0d
      Signed-off-by: NPeter Tyser <ptyser@xes-inc.com>
      CC: galak@kernel.crashing.org
      37d03fce
    • P
      fsl: Clean up printing of PCI boot info · 8ca78f2c
      Peter Tyser 提交于
      Previously boards used a variety of indentations, newline styles, and
      colon styles for the PCI information that is printed on bootup.  This
      patch unifies the style to look like:
      
      ...
      NAND:  1024 MiB
      PCIE1: connected as Root Complex
                 Scanning PCI bus 01
              04  01  8086  1010  0200  00
              04  01  8086  1010  0200  00
              03  00  10b5  8112  0604  00
              02  01  10b5  8518  0604  00
              02  02  10b5  8518  0604  00
              08  00  1957  0040  0b20  00
              07  00  10b5  8518  0604  00
              09  00  10b5  8112  0604  00
              07  01  10b5  8518  0604  00
              07  02  10b5  8518  0604  00
              06  00  10b5  8518  0604  00
              02  03  10b5  8518  0604  00
              01  00  10b5  8518  0604  00
      PCIE1: Bus 00 - 0b
      PCIE2: connected as Root Complex
                 Scanning PCI bus 0d
              0d  00  1957  0040  0b20  00
      PCIE2: Bus 0c - 0d
      In:    serial
      ...
      Signed-off-by: NPeter Tyser <ptyser@xes-inc.com>
      CC: wd@denx.de
      CC: sr@denx.de
      CC: galak@kernel.crashing.org
      8ca78f2c
    • P
      fsl_pci_init: Make fsl_pci_init_port() PCI/PCIe aware · a72dbae2
      Peter Tyser 提交于
      Previously fsl_pci_init_port() always assumed that a port was a PCIe
      port and would incorrectly print messages for a PCI port such as the
      following on bootup:
          PCI1:  32 bit, 33 MHz, sync, host, arbiter
                      Scanning PCI bus 00
          PCIE1 on bus 00 - 00
      
      This change corrects the output of fsl_pci_init_port():
          PCI1:  32 bit, 33 MHz, sync, host, arbiter
                      Scanning PCI bus 00
          PCI1 on bus 00 - 00
      Signed-off-by: NPeter Tyser <ptyser@xes-inc.com>
      a72dbae2
  17. 22 10月, 2010 1 次提交
  18. 20 7月, 2010 1 次提交
  19. 07 4月, 2010 1 次提交
    • K
      ppc/8xxx: Delete PCI nodes from device tree if not configured · 5a85a309
      Kumar Gala 提交于
      If the PCI controller wasn't configured or enabled delete from the
      device tree (include its alias).
      
      For the case that we didn't even configure u-boot with knowledge of
      the controller we can use the fact that the pci_controller pointer
      is NULL to delete the node in the device tree.  We determine that
      a controller was not setup (because of HW config) based on the fact
      that cfg_addr wasn't setup.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      5a85a309
  20. 06 1月, 2010 1 次提交
  21. 04 11月, 2009 2 次提交
  22. 27 10月, 2009 1 次提交
  23. 03 10月, 2009 1 次提交
  24. 25 9月, 2009 1 次提交
  25. 29 8月, 2009 5 次提交
  26. 04 4月, 2009 1 次提交
  27. 08 2月, 2009 1 次提交
  28. 20 12月, 2008 1 次提交
  29. 10 12月, 2008 1 次提交