1. 03 6月, 2015 3 次提交
  2. 30 3月, 2015 2 次提交
  3. 13 3月, 2015 2 次提交
  4. 05 1月, 2015 1 次提交
  5. 05 12月, 2014 1 次提交
  6. 23 11月, 2014 2 次提交
  7. 22 11月, 2014 1 次提交
    • J
      ARM: imx: clean up machine mxc_arch_reset_init_dt reset init · 08ae9646
      Jingchang Lu 提交于
      System restart mechanism has been changed with the introduction
      of "kernel restart handler call chain support". The imx2 watchdog
      based restart handler has been moved to the driver, and these
      restart can be removed from the machine layer.
      
      This patch cleans up the device tree version machine reset init with
      mxc_arch_reset_init_dt and removes corresponding .restart handler,
      for the .init_machine that can be handled by system default after
      removing the mxc_arch_reset_init_dt, the .init_machine is also removed.
      Signed-off-by: NJingchang Lu <jingchang.lu@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      08ae9646
  8. 01 9月, 2014 1 次提交
  9. 18 7月, 2014 15 次提交
  10. 12 5月, 2014 1 次提交
  11. 30 4月, 2014 1 次提交
  12. 05 3月, 2014 4 次提交
  13. 19 2月, 2014 1 次提交
    • S
      ARM: imx6: build pm-imx6q.c independently of CONFIG_PM · 28a9f3b0
      Shawn Guo 提交于
      When building a kernel image with only CONFIG_CPU_IDLE but no CONFIG_PM,
      we will get the following link error.
      
        LD      init/built-in.o
      arch/arm/mach-imx/built-in.o: In function `imx6q_enter_wait':
      platform-spi_imx.c:(.text+0x25c0): undefined reference to `imx6q_set_lpm'
      platform-spi_imx.c:(.text+0x25d4): undefined reference to `imx6q_set_lpm'
      arch/arm/mach-imx/built-in.o: In function `imx6q_cpuidle_init':
      platform-spi_imx.c:(.init.text+0x75d4): undefined reference to `imx6q_set_chicken_bit'
      make[1]: *** [vmlinux] Error 1
      
      Since pm-imx6q.c has been a collection of library functions that access
      CCM low-power registers used by not only suspend but also cpuidle and
      other drivers, let's build pm-imx6q.c independently of CONFIG_PM to fix
      above error.
      Reported-by: NLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Cc: stable@vger.kernel.org
      Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      28a9f3b0
  14. 09 12月, 2013 1 次提交
    • G
      ARM: imx: add support code for IMX50 based machines · 374daac4
      Greg Ungerer 提交于
      Add machine support code for the Freescale IMX50 SoC.
      
      The IMX50 is quite similar to the Freescale IMX53, and contains many of the
      same periperhal hardware modules, at the same address offsets as the IMX53.
      (Notable exceptions are that the IMX50 contains no CAN bus hardware, less
      GPIO, no VPU, it does contain an Electrophoretic display controller though).
      
      This support code uses some of the IMX53 setup code to reduce duplication
      of what would be identical init IO setup.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      374daac4
  15. 11 11月, 2013 1 次提交
    • S
      ARM: imx: remove imx_src_prepare_restart() call · b6e23bb6
      Shawn Guo 提交于
      There is ~10% possibility that the following emergency restart command
      fails to reboot imx6q.
      
      $ echo b > /proc/sysrq-trigger
      
      The IMX restart routine mxc_restart() assumes that it will always run on
      primary core, and will call imx_src_prepare_restart() to disable
      secondary cores in order to get them come to online in the following
      boot.  However, the assumption is only true for normal kernel_restart()
      case where migrate_to_reboot_cpu() will be called to migrate to primary
      core, but not necessarily true for emergency_restart() case.  So when
      emergency_restart() calls into mxc_restart() on any secondary core,
      system will hang immediately once imx_src_prepare_restart() is called
      to disabled secondary cores.  Since emergency_restart() is defined as a
      function that is safe to call in interrupt context, we cannot just call
      migrate_to_reboot_cpu() to fix the issue.
      
      Fortunately, we just found that the issue can be fixed at imx6q platform
      level.  We used to call imx_src_prepare_restart() to disable all
      secondary cores before resetting hardware.  Otherwise, the secondary
      will fail come to online in the reboot.  However, we recently found that
      after commit 6050d181 (ARM: imx: reset core along with enable/disable
      operation) comes to play, we do not need to reset the secondary cores
      any more.  That said, mxc_restart() now can run on any core to reboot
      the system, as long as we remove the imx_src_prepare_restart() call from
      mxc_restart().
      
      So let's simply remove imx_src_prepare_restart() call to fix the above
      emergency restart failure.
      Reported-by: NJiada Wang <jiada_wang@mentor.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      b6e23bb6
  16. 21 10月, 2013 3 次提交
    • S
      ARM: imx: ensure dsm_request signal is not asserted when setting LPM · d48866fe
      Shawn Guo 提交于
      There is a defect in imx6 LPM design.  When SW tries to enter low power
      mode with following sequence, the chip will enter low power mode before
      A9 CPU execute WFI instruction:
      
      1. Set CCM_CLPCR[1:0] to 2'b00;
      2. ARM CPU enters WFI;
      3. ARM CPU wakeup from an interrupt event, which is masked by GPC or not
         visible to GPC, such as interrupt from local timer;
      4. Set CCM_CLPCR[1:0] to 2'b01 or 2'b10;
      5. ARM CPU execute WFI.
      
      Before the last step, the chip will enter WAIT mode if CCM_CLPCR[1:0] is
      set to 2'b01, or enter STOP mode if CCM_CLPCR[1:0] is set to 2'b10.
      
      The patch implements a recommended workaround for this issue.
      
      1. SW triggers irq #32(IOMUX) to be always pending manually by setting
         IOMUX_GPR1_GINT bit;
      2. SW should then unmask it in GPC before setting CCM LPM;
      3. SW should mask it right after CCM LPM is set (bit0-1 of CCM_CLPCR).
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      d48866fe
    • S
      ARM: imx6q: move low-power code out of clock driver · 9e8147bb
      Shawn Guo 提交于
      The LPM (Low Power Mode) code that currently sits in imx6q clock driver
      will be reused by imx6sl.  Let's move it into pm-imx6q.c, so that we
      can keep clock driver SoC specific and reuse pm-imx6q.c on imx6sl.
      
      In order to avoid adding another ioremap for CCM block,
      imx6q_pm_set_ccm_base() is created to let clock driver set up ccm_base
      for pm code.
      
      During the move, the unused CCGR macros get removed.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      9e8147bb
    • S
      ARM: imx: drop extern with function prototypes in common.h · 803648db
      Shawn Guo 提交于
      Since commit 70dc8a48 (checkpatch: warn when using extern with function
      prototypes in .h files), we will get checkpatch warning when updating
      common.h following the existing convention which has extern for function
      prototypes.
      
      Let's change the convention to not use extern with function prototypes
      in this header.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      803648db