1. 15 11月, 2012 1 次提交
  2. 13 9月, 2012 1 次提交
  3. 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
  4. 11 7月, 2012 1 次提交
  5. 10 7月, 2012 1 次提交
    • T
      powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS · 6bd825f0
      Timur Tabi 提交于
      In order to enable the DIU video controller on the P1022DS, the FPGA needs
      to be switched to "indirect mode", where the localbus is disabled and
      the FPGA is accessed via writes to localbus chip select signals CS0 and CS1.
      
      To obtain the address of CS0 and CS1, the platform driver uses an "indirect
      pixis mode" device tree node.  This node assumes that the localbus 'ranges'
      property is sorted in chip-select order.  That is, reg value 0 maps to
      CS0, reg value 1 maps to CS1, etc.  This is how the 'ranges' property is
      supposed to be arranged.
      
      Unfortunately, the 'ranges' property is often mis-arranged, and not just on
      the P1022DS.  Linux normally does not care, since it does not program the
      localbus.  But the indirect-mode code on the P1022DS does care.
      
      The "proper" fix is to have U-Boot fix the 'ranges' property, but this would
      be too cumbersome.  The names and 'reg' properties of all the localbus
      devices would also need to be updated, and determining which localbus device
      maps to which chip select is board-specific.
      
      Instead, we determine the CS0/CS1 base addresses the same way that U-boot
      does -- by reading the BRx registers directly and mapping them to physical
      addresses.  This code is simpler and more reliable, and it does not require
      a U-boot or device tree change.
      
      Since the indirect pixis device tree node is no longer needed, the node is
      deleted from the DTS.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6bd825f0
  6. 03 7月, 2012 1 次提交
  7. 20 4月, 2012 1 次提交
    • T
      powerpc/85xx: don't call of_platform_bus_probe() twice · 8a95bc8d
      Timur Tabi 提交于
      Commit 46d026ac ("powerpc/85xx: consolidate of_platform_bus_probe calls")
      replaced platform-specific of_device_id tables with a single function
      that probes the most of the busses in 85xx device trees.  If a specific
      platform needed additional busses probed, then it could call
      of_platform_bus_probe() again.  Typically, the additional platform-specific
      busses are children of existing busses that have already been probed.
      of_platform_bus_probe() does not handle those child busses automatically.
      
      Unfortunately, this doesn't actually work.  The second (platform-specific)
      call to of_platform_bus_probe() never finds any of the busses it's asked
      to find.
      
      To remedy this, the platform-specific of_device_id tables are eliminated,
      and their entries are merged into mpc85xx_common_ids[], so that all busses
      are probed at once.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      8a95bc8d
  8. 29 3月, 2012 1 次提交
  9. 17 3月, 2012 1 次提交
  10. 16 3月, 2012 1 次提交
    • T
      powerpc/85xx: p1022ds: disable the NOR flash node if video is enabled · 4951896a
      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 NOR flash and the pixis FPGA.
      
      Therefore, if the DIU is going to be enabled, then memory-mapped devices on
      the localbus, like NOR flash, need to be disabled.
      
      This also means that the localbus is not a 'simple-bus' any more, so remove
      that string from the compatible node.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      4951896a
  11. 23 2月, 2012 2 次提交
    • K
      powerpc/mpic: Remove duplicate MPIC_WANTS_RESET flag · e55d7f73
      Kyle Moffett 提交于
      There are two separate flags controlling whether or not the MPIC is
      reset during initialization, which is completely unnecessary, and only
      one of them can be specified in the device tree.
      
      Also, most platforms in-tree right now do actually want to reset the
      MPIC during initialization anyways, which means lots of duplicate code
      passing the MPIC_WANTS_RESET flag.
      
      Fix all of the callers which currently do not pass the MPIC_WANTS_RESET
      flag to pass the MPIC_NO_RESET flag, then remove the MPIC_WANTS_RESET
      flag and make the code reset the MPIC by default.
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e55d7f73
    • K
      powerpc/mpic: Remove MPIC_BROKEN_FRR_NIRQS and duplicate irq_count · 5019609f
      Kyle Moffett 提交于
      The mpic->irq_count variable is only used as a software error-checking
      limit to determine whether or not an IRQ number is valid.  In board code
      which does not manually specify an IRQ count to mpic_alloc(), i.e. 0, it
      is automatically detected from the number of ISUs and the ISU size.
      
      In practice, all hardware ends up with irq_count == num_sources, so all
      of the runtime checks on mpic->irq_count should just check the value of
      mpic->num_sources instead.
      
      When platform hardware does not correctly report the number of IRQs,
      which only happens on the MPC85xx/MPC86xx, the MPIC_BROKEN_FRR_NIRQS
      flag is used to override the detected value of num_sources with the
      manual irq_count parameter.  Since there's no need to manually specify
      the number of IRQs except in this case, the extra flag can be eliminated
      and the test changed to "irq_count != 0".
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5019609f
  12. 18 1月, 2012 1 次提交
  13. 07 12月, 2011 4 次提交
  14. 24 11月, 2011 2 次提交
  15. 12 10月, 2011 1 次提交
    • T
      powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards · 499ccb27
      Timur Tabi 提交于
      Standarize and document the FPGA nodes used on Freescale QorIQ reference
      boards.  There are different kinds of FPGAs used on the boards, but
      only two are currently standard: "pixis", "ngpixis", and "qixis".  Although
      there are minor differences among the boards that have one kind of FPGA, most
      of the functionality is the same, so it makes sense to create common
      compatibility strings.
      
      We also need to update the P1022DS platform file, because the compatible
      string for its PIXIS node has changed.  This means that older kernels are
      not compatible with newer device trees.  This is not a real problem, however,
      since that particular function doesn't work anyway.  When the DIU is active,
      the PIXIS is in "indirect mode", and so cannot be accessed as a memory-mapped
      device.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      499ccb27
  16. 13 7月, 2011 1 次提交
  17. 27 6月, 2011 2 次提交
  18. 15 10月, 2010 1 次提交
  19. 14 10月, 2010 1 次提交
  20. 01 9月, 2010 1 次提交
    • K
      powerpc/85xx: Fix compile issue with p1022_ds due to lmb rename to memblock · dc1c41f4
      Kumar Gala 提交于
      arch/powerpc/platforms/85xx/p1022_ds.c:22:23: error: linux/lmb.h: No such file or directory
      arch/powerpc/platforms/85xx/p1022_ds.c: In function 'p1022_ds_setup_arch':
      arch/powerpc/platforms/85xx/p1022_ds.c:100: error: implicit declaration of function 'memblock_end_of_DRAM'
      arch/powerpc/platforms/85xx/p1022_ds.c: At top level:
      arch/powerpc/platforms/85xx/p1022_ds.c:147: error: 'udbg_progress' undeclared here (not in a function)
      make[2]: *** [arch/powerpc/platforms/85xx/p1022_ds.o] Error 1
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      dc1c41f4
  21. 05 8月, 2010 1 次提交