1. 24 8月, 2013 2 次提交
  2. 21 8月, 2013 2 次提交
    • S
      powerpc: Convert some mftb/mftbu into mfspr · beb2dc0a
      Scott Wood 提交于
      Some CPUs (such as e500v1/v2) don't implement mftb and will take a
      trap.  mfspr should work on everything that has a timebase, and is the
      preferred instruction according to ISA v2.06.
      
      Currently we get away with mftb on 85xx because the assembler converts
      it to mfspr due to -Wa,-me500.  However, that flag has other effects
      that are undesireable for certain targets (e.g.  lwsync is converted to
      sync), and is hostile to multiplatform kernels.  Thus we would like to
      stop setting it for all e500-family builds.
      
      mftb/mftbu instances which are in 85xx code or common code are
      converted.  Instances which will never run on 85xx are left alone.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      beb2dc0a
    • S
      powerpc/fsl-booke: Work around erratum A-006958 · d52459ca
      Scott Wood 提交于
      Erratum A-006598 says that 64-bit mftb is not atomic -- it's subject
      to a similar race condition as doing mftbu/mftbl on 32-bit.  The lower
      half of timebase is updated before the upper half; thus, we can share
      the workaround for a similar bug on Cell.  This workaround involves
      looping if the lower half of timebase is zero, thus avoiding the need
      for a scratch register (other than CR0).  This workaround must be
      avoided when the timebase is frozen, such as during the timebase sync
      code.
      
      This deals with kernel and vdso accesses, but other userspace accesses
      will of course need to be fixed elsewhere.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      d52459ca
  3. 14 8月, 2013 1 次提交
  4. 08 8月, 2013 2 次提交
  5. 02 7月, 2013 1 次提交
  6. 01 7月, 2013 1 次提交
    • P
      powerpc: Delete __cpuinit usage from all users · 061d19f2
      Paul Gortmaker 提交于
      The __cpuinit type of throwaway sections might have made sense
      some time ago when RAM was more constrained, but now the savings
      do not offset the cost and complications.  For example, the fix in
      commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time")
      is a good example of the nasty type of bugs that can be created
      with improper use of the various __init prefixes.
      
      After a discussion on LKML[1] it was decided that cpuinit should go
      the way of devinit and be phased out.  Once all the users are gone,
      we can then finally remove the macros themselves from linux/init.h.
      
      This removes all the powerpc uses of the __cpuinit macros.  There
      are no __CPUINIT users in assembly files in powerpc.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Josh Boyer <jwboyer@gmail.com>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      061d19f2
  7. 10 4月, 2013 1 次提交
    • S
      powerpc/fsl-booke: Add B4_QDS board support · af7837c7
      Shaveta Leekha 提交于
      - Add support for B4 board in board file b4_qds.c,
        It is common for B4860, B4420 and B4220QDS as they share same QDS board
      - Add B4QDS support in Kconfig and Makefile
      
      B4860QDS is a high-performance computing evaluation, development and
      test platform supporting the B4860 QorIQ Power Architecture processor,
      with following major features:
      
          - Four dual-threaded e6500 Power Architecture processors
            organized in one cluster-each core runs up to 1.8 GHz
          - Two DDR3/3L controllers for high-speed memory interface each
            runs at up to 1866.67 MHz
          - CoreNet fabric that fully supports coherency using MESI protocol
            between the e6500 cores, SC3900 FVP cores, memories and
            external interfaces.
          - Data Path Acceleration Architecture having FMAN, QMan, BMan,
            SEC 5.3 and RMAN
          - Large internal cache memory with snooping and stashing capabilities
          - Sixteen 10-GHz SerDes lanes that serve:
              - Two SRIO interfaces. Each supports up to 4 lanes and
                a total of up to 8 lanes
              - Up to 8-lanes Common Public Radio Interface (CPRI) controller
                for glue-less antenna connection
              - Two 10-Gbit Ethernet controllers (10GEC)
              - Six 1G/2.5-Gbit Ethernet controllers for network communications
              - PCI Express controller
              - Debug (Aurora)
          - Various system peripherals
      
      B4420 and B4220 have some differences in comparison to B4860 with fewer
      core/clusters(both SC3900 and e6500), fewer DDR controllers,
      fewer serdes lanes, fewer SGMII interfaces and reduced target frequencies.
      
      Key differences between B4860 and B4420:
      B4420 has:
          - Fewer e6500 cores:
              1 cluster with 2 e6500 cores
          - Fewer SC3900 cores/clusters:
              1 cluster with 2 SC3900 cores per cluster
          - Single DDRC @ 1.6GHz
          - 2 X 4 lane serdes
          - 3 SGMII interfaces
          - no sRIO
          - no 10G
      
      Key differences between B4860 and B4220:
      B4220 has:
          - Fewer e6500 cores:
              1 cluster with 1 e6500 core
          - Fewer SC3900 cores/clusters:
              1 cluster with 2 SC3900 cores per cluster
          - Single DDRC @ 1.33GHz
          - 2 X 2 lane serdes
          - 2 SGMII interfaces
          - no sRIO
          - no 10G
      Signed-off-by: NShaveta Leekha <shaveta@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      af7837c7
  8. 04 4月, 2013 2 次提交
  9. 20 3月, 2013 1 次提交
  10. 19 3月, 2013 1 次提交
  11. 13 3月, 2013 1 次提交
  12. 16 2月, 2013 4 次提交
  13. 13 2月, 2013 1 次提交
  14. 29 1月, 2013 1 次提交
    • B
      powerpc: Add support for CTS-1000 GPIO controlled system poweroff · 5611fe48
      Benjamin Collins 提交于
      CTS-1000 is based on P4080. GPIO 27 is used to signal the FPGA to
      switch off power, and also associates IRQ 8 with front-panel button
      press (which we use to call orderly_poweroff()).
      
      The relevant device-tree looks like this:
      
      	gpio0: gpio@130000 {
      		compatible = "fsl,qoriq-gpio";
      		reg = <0x130000 0x1000>;
      		interrupts = <55 2 0 0>;
      		#gpio-cells = <2>;
      		gpio-controller;
      
      		/* Allows powering off the system via GPIO signal. */
      		gpio-halt@27 {
      			compatible = "sgy,gpio-halt";
      			gpios = <&gpio0 27 0>;
      			interrupts = <8 1 0 0>;
      		};
      	};
      
      Because the driver cannot match on sgy,gpio-halt (because the node is never
      processed through of_platform), it matches on fsl,qoriq-gpio and then
      checks child nodes for the matching sgy,gpio-halt. This also ensures that
      the GPIO controller is detected prior to sgy_cts1000's probe callback,
      since that node wont match via of_platform until the controller is
      registered.
      
      Also, because the GPIO handler for triggering system poweroff might sleep,
      the IRQ uses a workqueue to call orderly_poweroff().
      
      As a final note, this driver may be expanded for other features specific to
      the CTS-1000.
      Signed-off-by: NBen Collins <ben.c@servergy.com>
      Cc: Jack Smith <jack.s@servergy.com>
      Cc: Vihar Rai <vihar.r@servergy.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5611fe48
  15. 22 1月, 2013 1 次提交
  16. 09 1月, 2013 1 次提交
  17. 04 1月, 2013 1 次提交
    • G
      POWERPC: drivers: remove __dev* attributes. · cad5cef6
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cad5cef6
  18. 25 11月, 2012 2 次提交
  19. 15 11月, 2012 2 次提交
  20. 06 10月, 2012 1 次提交
  21. 13 9月, 2012 7 次提交
  22. 27 7月, 2012 2 次提交
    • T
      powerpc/85xx: p1022ds: fix DIU/LBC switching with NAND enabled · 896c01cb
      Timur Tabi 提交于
      In order for indirect mode on the PIXIS to work properly, both chip selects
      need to be set to GPCM mode, otherwise writes to the chip select base
      addresses will not actually post to the local bus -- they'll go to the
      NAND controller instead.  Therefore, we need to set BR0 and BR1 to GPCM
      mode before switching to indirect mode.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      896c01cb
    • T
      powerpc/85xx: p1022ds: disable the NAND flash node if video is enabled · 6269f258
      Timur Tabi 提交于
      The Freescale P1022 has a unique pin muxing "feature" where the DIU video
      controller's video signals are muxed with 24 of the local bus address signals.
      When the DIU is enabled, the bulk of the local bus is disabled, preventing
      access to memory-mapped devices like NAND flash and the pixis FPGA.
      
      Therefore, if the DIU is going to be enabled, then memory-mapped devices on
      the localbus, like NAND flash, need to be disabled.
      
      This patch is similar to "powerpc/85xx: p1022ds: disable the NOR flash node
      if video is enabled", except that it disables the NAND flash node instead.
      This PIXIS node needs to remain enabled because it is used by platform code
      to switch into indirect mode.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6269f258
  23. 11 7月, 2012 2 次提交