1. 16 9月, 2014 21 次提交
  2. 10 9月, 2014 1 次提交
  3. 01 9月, 2014 5 次提交
  4. 18 8月, 2014 4 次提交
    • A
      ARM: imx: correct gpu2d_axi and gpu3d_axi clock setting · 6248c273
      Anson Huang 提交于
      On i.MX6Q, gpu2d_axi and gpu3d_axi are either from AXI or
      AHB clock, but on i.MX6DL, gpu2d_axi and gpu3d_axi are
      from mmdc_ch0_axi_podf, and they can NOT be gated by mmdc_ch0_axi
      's clock gate, the mux option register field(CCM_CBCMR)
      is marked as "Reserved" now on i.MX6DL RM, so correct these
      two clks setting.
      Signed-off-by: NAnson Huang <b20788@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      6248c273
    • S
      ARM: imx: remove unnecessary ARCH_HAS_OPP select · df216074
      Shawn Guo 提交于
      Since ARCH_MXC already selects ARCH_HAS_OPP, it's really unnecessary for
      SOC_IMX27 and SOC_IMX5 to select it again.
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      df216074
    • S
      ARM: imx: fix TLB missing of IOMUXC base address during suspend · 59d05b51
      Shawn Guo 提交于
      After the suspend routine running in OCRAM puts DDR into self-refresh,
      it will access IOMUXC block to float DDR IO for power saving.  A TLB
      missing of IOMUXC base address may happen in this case, and triggers an
      access to DDR, and thus hangs the system.
      
      The failure is discovered by running suspend/resume on a Cubox-i board.
      Though the issue is not Cubox-i specific, it can be hit the on the board
      quite easily with the 3.15 or 3.16 kernel.
      
      Fix the issue with a dummy access to IOMUXC block at the beginning of
      suspend routine, so that the address translation can be filled into TLB
      before DDR is put into self-refresh.
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      Cc: <stable@vger.kernel.org>
      Acked-by: NAnson Huang <Anson.Huang@freescale.com>
      59d05b51
    • A
      ARM: imx6: fix SMP compilation again · 060d517d
      Arnd Bergmann 提交于
      My earlier patch 1fc593fe ("ARM: imx: build i.MX6 functions
      only when needed") fixed a problem with building an i.MX5 kernel,
      but now the problem has returned for the case where we allow
      ARMv6K SMP builds in multiplatform. With CONFIG_CPU_V7 disabled,
      but i.MX3 and SMP enabled, we get this build error:
      
      arch/arm/mach-imx/built-in.o: In function `v7_secondary_startup':
      :(.text+0x5124): undefined reference to `v7_invalidate_l1'
      
      This puts the code inside of an "ifdef CONFIG_SOC_IMX6" to hopefully
      do the right thing in all configurations.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      060d517d
  5. 02 8月, 2014 1 次提交
  6. 24 7月, 2014 1 次提交
  7. 23 7月, 2014 1 次提交
  8. 18 7月, 2014 6 次提交
    • R
      ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ · 6ebbf2ce
      Russell King 提交于
      ARMv6 and greater introduced a new instruction ("bx") which can be used
      to return from function calls.  Recent CPUs perform better when the
      "bx lr" instruction is used rather than the "mov pc, lr" instruction,
      and this sequence is strongly recommended to be used by the ARM
      architecture manual (section A.4.1.1).
      
      We provide a new macro "ret" with all its variants for the condition
      code which will resolve to the appropriate instruction.
      
      Rather than doing this piecemeal, and miss some instances, change all
      the "mov pc" instances to use the new macro, with the exception of
      the "movs" instruction and the kprobes code.  This allows us to detect
      the "mov pc, lr" case and fix it up - and also gives us the possibility
      of deploying this for other registers depending on the CPU selection.
      Reported-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: Stephen Warren <swarren@nvidia.com> # Tegra Jetson TK1
      Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> # mioa701_bootresume.S
      Tested-by: Andrew Lunn <andrew@lunn.ch> # Kirkwood
      Tested-by: NShawn Guo <shawn.guo@freescale.com>
      Tested-by: Tony Lindgren <tony@atomide.com> # OMAPs
      Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> # Armada XP, 375, 385
      Acked-by: Sekhar Nori <nsekhar@ti.com> # DaVinci
      Acked-by: Christoffer Dall <christoffer.dall@linaro.org> # kvm/hyp
      Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> # PXA3xx
      Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> # Xen
      Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> # ARMv7M
      Tested-by: Simon Horman <horms+renesas@verge.net.au> # Shmobile
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6ebbf2ce
    • S
      ARM: imx: clk-vf610: fix FlexCAN clock gating · 4349c429
      Stefan Agner 提交于
      Extend the clock control for FlexCAN with the second gate which
      enable the clocks in the Clock Divider (CCM_CSCDR2) register too.
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      4349c429
    • A
      ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets · fd4959d8
      Alexander Shiyan 提交于
      This patch uses clocksource_of_init() call for DT targets.
      Signed-off-by: NAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      fd4959d8
    • S
      ARM: i.MX53: globally disable supervisor protect · 6befda9a
      Steffen Trumtrar 提交于
      Most peripherals on the i.MX53 have an
        Off-Platform Peripheral Access Control Register (OPACR)
      in which the access rights (together with the MPROT registers) can be declared.
      However, this does not seem to work for example for SSI1+SDMA, because the
      supervisor bit is not set for the SDMA unit.
      It does work for SSI2, the QSB for example uses SSI2 for its audio. But SSI2 only
      works because it does NOT have an OPACR.
      
      The right solution would be to fix the access rights for the SDMA, but the unit
      responsible for this is the Central Security Unit (CSU), which of course is NOT
      documented. So, until documentation for this is openly available, turn off the
      supervisor protection because it cripples the hardware.
      Signed-off-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      6befda9a
    • S
      ARM: i.MX: allow disabling supervisor protect via DT · e57e4ab5
      Steffen Trumtrar 提交于
      The i.MX SoCs allow to setup fine grained access rights to peripherals on the
      AIPS bus.
      This is done via the Peripheral Access Register (PAR) in e.g. the i.MX21
      or in later SoC versions the Off-Platform Peripheral Access Control Register
      (OPACR), e.g. i.MX53.
      Under certain circumstances this leads to problems in which bus masters are
      not granted their access rights to peripherals.
      To be able to disable these restrictions on DT platforms, add a helper function
      that looks for AIPS nodes in the DT and disables them for every compatible node
      it finds.
      The compatible has to be declared in the mach-specific entry file, where this
      helper function should then be called.
      Signed-off-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      e57e4ab5
    • A
      ARM: i.MX27 clk: Add 26 MHz oscillator circuit clock gate · b4de5317
      Alexander Shiyan 提交于
      This patch adds missing 26 MHz oscillator circuit clock gate support.
      Signed-off-by: NAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      b4de5317