1. 10 Jan, 2014 6 commits
    • Shengzhou Liu's avatar
      powerpc/85xx/dts: add third elo3 dma component · f4093e2e
      Shengzhou Liu authored
      Add elo3-dma-2.dtsi to support the third DMA controller.
      This is used on T2080, T4240, B4860, etc.
      
      FSL MPIC v4.3 adds a new discontiguous address range for internal interrupts,
      e.g. internal interrupt 0 is at offset 0x200 and thus interrupt number is:
      0x200 >> 5 = 16 in the device tree.  DMA controller 3 channel 0 internal
      interrupt 240 is at offset 0x3a00, and thus the corresponding interrupt
      number is: 0x3a00 >> 5 = 464, it's similar for other 7 interrupt numbers
      of DMA 3 channels.
      Signed-off-by: default avatarShengzhou Liu <Shengzhou.Liu@freescale.com>
      Signed-off-by: default avatarHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      f4093e2e
    • Diana Craciun's avatar
      powerpc: Replaced tlbilx with tlbwe in the initialization code · ed2ddc56
      Diana Craciun authored
      On Freescale e6500 cores EPCR[DGTMI] controls whether guest supervisor
      state can execute TLB management instructions. If EPCR[DGTMI]=0
      tlbwe and tlbilx are allowed to execute normally in the guest state.
      
      A hypervisor may choose to virtualize TLB1 and for this purpose it
      may use IPROT to protect the entries for being invalidated by the
      guest. However, because tlbwe and tlbilx execution in the guest state
      are sharing the same bit, it is not possible to have a scenario where
      tlbwe is allowed to be executed in guest state and tlbilx traps. When
      guest TLB management instructions are allowed to be executed in guest
      state the guest cannot use tlbilx to invalidate TLB1 guest entries.
      
      Linux is using tlbilx in the boot code to invalidate the temporary
      entries it creates when initializing the MMU. The patch is replacing
      the usage of tlbilx in initialization code with tlbwe with VALID bit
      cleared.
      
      Linux is also using tlbilx in other contexts (like huge pages or
      indirect entries) but removing the tlbilx from the initialization code
      offers the possibility to have scenarios under hypervisor which are
      not using huge pages or indirect entries.
      Signed-off-by: default avatarDiana Craciun <Diana.Craciun@freescale.com>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      ed2ddc56
    • Scott Wood's avatar
      powerpc/booke-64: fix tlbsrx. path in bolted tlb handler · 1149e8a7
      Scott Wood authored
      It was branching to the cleanup part of the non-bolted handler,
      which would have been bad if there were any chips with tlbsrx.
      that use the bolted handler.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      1149e8a7
    • Paul Gortmaker's avatar
      powerpc: fix 8xx and 6xx final link failures · 78f3d050
      Paul Gortmaker authored
      As of commit b81f18e5 ("powerpc/boot:
      Only build board support files when required.") the two defconfigs
      ep88xc_defconfig and storcenter_defconfig would fail final link as
      follows:
      
        WRAP    arch/powerpc/boot/dtbImage.ep88xc
      arch/powerpc/boot/wrapper.a(mpc8xx.o): In function `mpc885_get_clock':
      arch/powerpc/boot/mpc8xx.c:30: undefined reference to `fsl_get_immr'
      make[1]: *** [arch/powerpc/boot/dtbImage.ep88xc] Error 1
      
       ...and...
      
        WRAP    arch/powerpc/boot/cuImage.storcenter
      arch/powerpc/boot/cuboot-pq2.o: In function `pq2_platform_fixups':
      cuboot-pq2.c:(.text+0x324): undefined reference to `fsl_get_immr'
      make[1]: *** [arch/powerpc/boot/cuImage.storcenter] Error 1
      
      We need the fsl-soc board files built for these two platforms.
      
      Cc: Tony Breeds <tony@bakeyournoodle.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Fixes: b81f18e5 ("powerpc/boot: Only build board support files when required.")
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      78f3d050
    • Shaohui Xie's avatar
      powerpc/85xx: handle the eLBC error interrupt if it exists in dts · a655f724
      Shaohui Xie authored
      On P1020, P1021, P1022, and P1023, eLBC event interrupts are routed
      to internal interrupt 3 while ELBC error interrupts are routed to
      internal interrupt 0.  We need to call request_irq for each.
      Signed-off-by: default avatarShaohui Xie <Shaohui.Xie@freescale.com>
      Signed-off-by: default avatarWang Dongsheng <dongsheng.wang@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      [scottwood@freescale.com: reworded commit message and fixed author]
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      a655f724
    • Wang Dongsheng's avatar
      powerpc/dts: fix lbc lack of error interrupt · 297649b9
      Wang Dongsheng authored
      P1020, P1021, P1022, P1023 when the lbc get error, the error
      interrupt will be triggered. The corresponding interrupt is
      internal IRQ0. So system have to process the lbc IRQ0 interrupt.
      
      The corresponding lbc general interrupt is internal IRQ3.
      Signed-off-by: default avatarWang Dongsheng <dongsheng.wang@freescale.com>
      [scottwood@freescale.com: bracketed individual list elements]
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      297649b9
  2. 09 Jan, 2014 20 commits
  3. 08 Jan, 2014 14 commits