1. 29 7月, 2008 1 次提交
    • E
      [ARM] pxa: add support for L2 outer cache on XScale3 (attempt 2) · 905a09d5
      Eric Miao 提交于
      (20072fd0 lost most of its changes
      somehow, came from a mbox archive applied with git-am.  No idea
      what happened.  This puts back the missing bits.  --rmk)
      
      The initial patch from Lothar, and Lennert make it into a cleaner
      one, modified and tested on PXA320 by Eric Miao.
      
      This patch moves the L2 cache operations out of proc-xsc3.S into
      dedicated outer cache support code.
      
      CACHE_XSC3L2 can be deselected so no L2 cache specific code will be
      linked in, and that L2 enable bit will not be set, this applies to
      the following cases:
      
          a. _only_ PXA300/PXA310 support included and no L2 cache wanted
          b. PXA320 support included, but want L2 be disabled
      
      So the enabling of L2 depends on two things:
      
          - CACHE_XSC3L2 is selected
          - and L2 cache is present
      
      Where the latter is only a safeguard (previous testing shows it works
      OK even when this bit is turned on).
      
      IXP series of processors with XScale3 cannot disable L2 cache for the
      moment since they depend on the L2 cache for its coherent memory, so
      IXP may always select CACHE_XSC3L2.
      
      Other L2 relevant bits are always turned on (i.e. the original code
      enclosed by #if L2_CACHE_ENABLED .. #endif), as they showed no side
      effects. Specifically, these bits are:
      
         - OC bits in TTBASE register (table walk outer cache attributes)
         - LLR Outer Cache Attributes (OC) in Auxiliary Control Register
      Signed-off-by: NLothar WaÃ&lt;9f&gt;mann <LW@KARO-electronics.de>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      Signed-off-by: NEric Miao <eric.miao@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      905a09d5
  2. 28 7月, 2008 1 次提交
  3. 27 7月, 2008 1 次提交
  4. 25 7月, 2008 2 次提交
  5. 10 7月, 2008 2 次提交
  6. 08 7月, 2008 1 次提交
  7. 05 7月, 2008 1 次提交
  8. 03 7月, 2008 1 次提交
  9. 23 6月, 2008 11 次提交
    • S
      [ARM] add Marvell 78xx0 ARM SoC support · 794d15b2
      Stanislav Samsonov 提交于
      The Marvell Discovery Duo (MV78xx0) is a family of ARM SoCs featuring
      (depending on the model) one or two Feroceon CPU cores with 512K of L2
      cache and VFP coprocessors running at (depending on the model) between
      800 MHz and 1.2 GHz, and features a DDR2 controller, two PCIe
      interfaces that can each run either in x4 or quad x1 mode, three USB
      2.0 interfaces, two 3Gb/s SATA II interfaces, a SPI interface, two
      TWSI interfaces, a crypto accelerator, IDMA/XOR engines, a SPI
      interface, four UARTs, and depending on the model, two or four gigabit
      ethernet interfaces.
      
      This patch adds basic support for the platform, and allows booting
      on the MV78x00 development board, with functional UARTs, SATA, PCIe,
      GigE and USB ports.
      Signed-off-by: NStanislav Samsonov <samsonov@marvell.com>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      794d15b2
    • L
      [ARM] Feroceon: 88fr571-vd support · 0a17c7bc
      Lennert Buytenhek 提交于
      Add support for the Feroceon 88fr571-vd CPU core as found in e.g.
      the Marvell Discovery Duo family of ARM SoCs.
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      0a17c7bc
    • S
      [ARM] add Marvell Kirkwood (88F6000) SoC support · 651c74c7
      Saeed Bishara 提交于
      The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a
      Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface,
      a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS
      interface, and IDMA/XOR engines, and depending on the model, also
      features one or two Gigabit Ethernet interfaces, two SATA II
      interfaces, one or two TWSI interfaces, one or two UARTs, a
      TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and
      an SDIO interface.
      
      This patch adds supports for the Marvell DB-88F6281-BP Development
      Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs,
      enabling support for the PCIe interface, the USB interface, the
      ethernet interfaces, the SATA interfaces, the TWSI interfaces, the
      UARTs, and the NAND controller.
      Signed-off-by: NSaeed Bishara <saeed@marvell.com>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      651c74c7
    • L
      [ARM] Feroceon: 88fr131 support · 9c2af6c5
      Lennert Buytenhek 提交于
      Add support for the Shiva 88fr131 CPU core as found in e.g. the
      Marvell Kirkwood family of ARM SoCs.
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      9c2af6c5
    • L
      [ARM] Feroceon: L2 cache support · 99c6dc11
      Lennert Buytenhek 提交于
      This patch adds support for the unified Feroceon L2 cache controller
      as found in e.g. the Marvell Kirkwood and Marvell Discovery Duo
      families of ARM SoCs.
      
      Note that:
      
      - Page table walks are outer uncacheable on Kirkwood and Discovery
        Duo, since the ARMv5 spec provides no way to indicate outer
        cacheability of page table walks (specifying it in TTBR[4:3] is
        an ARMv6+ feature).
      
        This requires adding L2 cache clean instructions to
        proc-feroceon.S (dcache_clean_area(), set_pte()) as well as to
        tlbflush.h ({flush,clean}_pmd_entry()).  The latter case is handled
        by defining a new TLB type (TLB_FEROCEON) which is almost identical
        to the v4wbi one but provides a TLB_L2CLEAN_FR flag.
      
      - The Feroceon L2 cache controller supports L2 range (i.e. 'clean L2
        range by MVA' and 'invalidate L2 range by MVA') operations, and this
        patch uses those range operations for all Linux outer cache
        operations, as they are faster than the regular per-line operations.
      
        L2 range operations are not interruptible on this hardware, which
        avoids potential livelock issues, but can be bad for interrupt
        latency, so there is a compile-time tunable (MAX_RANGE_SIZE) which
        allows you to select the maximum range size to operate on at once.
        (Valid range is between one cache line and one 4KiB page, and must
        be a multiple of the line size.)
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      99c6dc11
    • S
      [ARM] Feroceon: L1 cache range operation support · 836a8051
      Stanislav Samsonov 提交于
      This patch adds support for the L1 D cache range operations that
      are supported by the Marvell Discovery Duo and Marvell Kirkwood
      ARM SoCs.
      Signed-off-by: NStanislav Samsonov <samsonov@marvell.com>
      Acked-by: NSaeed Bishara <saeed@marvell.com>
      Reviewed-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      836a8051
    • L
      [ARM] add Marvell Loki (88RC8480) SoC support · 777f9beb
      Lennert Buytenhek 提交于
      The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU
      core running at between 400 MHz and 1.0 GHz, and features a 64 bit
      DDR controller, 512K of internal SRAM, two x4 PCI-Express ports,
      two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs,
      two TWSI controllers, and IDMA/XOR engines.
      
      This patch adds support for the Marvell LB88RC8480 Development
      Board, enabling the use of the PCIe interfaces, the ethernet
      interfaces, the TWSI interfaces and the UARTs.
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      777f9beb
    • K
      [ARM] Feroceon: allow more old Feroceon IDs · ab6d15d5
      Ke Wei 提交于
      There are a couple more Feroceon-based SoCs out in the field that use
      different Variant and Architecture fields in their Main ID registers
      -- this patch tweaks the processor match/mask in proc-feroceon.S to
      catch those SoCs as well.
      Signed-off-by: NKe Wei <kewei@marvell.com>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      ab6d15d5
    • N
      [ARM] Feroceon: speed up flushing of the entire cache · 6c386e58
      Nicolas Pitre 提交于
      Flushing the L1 D cache with a test/clean/invalidate loop is very
      easy in software, but it is not the quickest way of doing it, as
      there is a lot of overhead involved in re-scanning the cache from
      the beginning every time we hit a dirty line.
      
      This patch makes proc-feroceon.S use "clean+invalidate by set/way"
      loops according to possible cache configuration of Feroceon CPUs
      (either direct-mapped or 4-way set associative).
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      6c386e58
    • L
      [ARM] Feroceon: annotate 88fr531-vd CPU entries · ee0dd840
      Lennert Buytenhek 提交于
      Annotate the entries for the 88fr531-vd CPU core in
      arch/arm/boot/compressed/head.S and arch/arm/mm/proc-feroceon.S
      with the full name of the core.
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      Acked-by: NRussell King <linux@arm.linux.org.uk>
      ee0dd840
    • L
      [ARM] Orion: fix various whitespace and coding style issues · e7068ad3
      Lennert Buytenhek 提交于
      More cosmetic cleanup:
      - Replace 8-space indents by proper tab indents.
      - In structure initialisers, use a trailing comma for every member.
      - Collapse "},\n{" in structure initialiers to "}, {".
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      Acked-by: NRussell King <linux@arm.linux.org.uk>
      e7068ad3
  10. 18 5月, 2008 1 次提交
  11. 29 4月, 2008 5 次提交
  12. 24 4月, 2008 1 次提交
  13. 19 4月, 2008 8 次提交
  14. 29 4月, 2008 1 次提交
  15. 28 3月, 2008 1 次提交
  16. 20 3月, 2008 1 次提交
  17. 02 3月, 2008 1 次提交