1. 24 6月, 2016 1 次提交
  2. 21 6月, 2016 1 次提交
  3. 14 2月, 2016 1 次提交
  4. 15 9月, 2015 2 次提交
  5. 03 6月, 2015 1 次提交
    • S
      ARM: imx6: initialize CCM_CLPCR_LPM into RUN mode earlier · 35e2916f
      Shawn Guo 提交于
      Commit 4631960d26da ("ARM: imx6: set initial power mode in pm function")
      moves imx6_set_lpm() from clock init function into
      imx6_pm_common_init().  This causes a hang when cpuidle support is
      enabled.  The reason for that is ARM core clock is shut down
      unexpectedly by WAIT mode.  It happens with the following call stack:
      
          cpuidle_register_governor()
              cpuidle_switch_governor()
                  cpuidle_uninstall_idle_handler()
                      synchronize_sched()
                          wait_rcu_gp()
                              wait_for_completion()
      
      When wait_for_completion() is called as above, all cores are idle/WFI.
      Hence, the reset value of CCM_CLPCR_LPM - WAIT mode, will trigger a
      hardware shutdown of the ARM core clock.
      
      To fix the regression, we need to ensure that CCM_CLPCR_LPM is
      initialized into RUN mode earlier than cpuidle governor registration,
      which is a postcore_initcall.  This patch creates function
      imx6_pm_ccm_init() to map CCM block and initialize CCM_CLPCR_LPM into
      RUN mode, and have the function called from machine .init_irq hook,
      which should be early enough.
      Reported-by: NKevin Hilman <khilman@kernel.org>
      Fixes: 8fb76a07 ("ARM: imx6: set initial power mode in pm function")
      Tested-by: NKevin Hilman <khilman@linaro.org>
      Tested-by: NTyler Baker <tyler.baker@linaro.org>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      35e2916f
  6. 30 3月, 2015 2 次提交
  7. 12 3月, 2015 1 次提交
    • S
      ARM: imx: fix struct clk pointer comparing · a51139fd
      Shawn Guo 提交于
      Since commit 035a61c3 ("clk: Make clk API return per-user struct clk
      instances"), clk API users can no longer check if two struct clk
      pointers are pointing to the same hardware clock, i.e. struct clk_hw, by
      simply comparing two pointers.  That's because with the per-user clk
      change, a brand new struct clk is created whenever clients try to look
      up the clock by calling clk_get() or sister functions like clk_get_sys()
      and of_clk_get().  This changes the original behavior where the struct
      clk is only created for once when clock driver registers the clock to
      CCF in the first place.  The net change here is before commit
      035a61c3 the struct clk pointer is unique for given hardware
      clock, while after the commit the pointers returned by clk lookup calls
      become different for the same hardware clock.
      
      That said, the struct clk pointer comparing in the code doesn't work any
      more.  Call helper function clk_is_match() instead to fix the problem.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMichael Turquette <mturquette@linaro.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      a51139fd
  8. 20 1月, 2015 1 次提交
  9. 09 1月, 2015 1 次提交
  10. 01 1月, 2015 1 次提交
  11. 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
  12. 18 7月, 2014 2 次提交
  13. 05 3月, 2014 4 次提交
  14. 27 1月, 2014 1 次提交
  15. 31 12月, 2013 1 次提交
  16. 09 12月, 2013 1 次提交
  17. 26 10月, 2013 2 次提交
  18. 21 10月, 2013 4 次提交
    • S
      ARM: imx: replace imx6q_restart() with mxc_restart() · 87a84b69
      Shawn Guo 提交于
      The imx6q_restart() works fine with normal reboot but will run into
      problem with emergency reboot like sysrq-b.  In that case, of_iomap()
      gets called from interrupt context and hence triggers the BUG_ON in
      __get_vm_area_node().
      
      Actually, since commit c1e31d12 (ARM: imx: create
      mxc_arch_reset_init_dt() for DT boot), imx6q/dl should try to use
      mxc_restart() by calling mxc_arch_reset_init_dt() beforehand, where
      things like of_iomap() can be done.
      
      The patch updates mxc_restart() a little bit to get it work for imx6q/dl
      and kill imx6q_restart() completely.
      Reported-by: NNathan Lynch <nathan_lynch@mentor.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      87a84b69
    • S
      ARM: imx6: report soc info via soc device · a2887546
      Shawn Guo 提交于
      The patch enables soc bus infrastructure and adds a function
      imx_soc_device_init() to report soc info via soc device interface for
      imx6qdl and imx6sl.  With the support, user space can get soc related
      info by looking at sysfs like below.
      
        $ cat /sys/devices/soc0/machine
        Freescale i.MX6 Quad SABRE Smart Device Board
        $ cat /sys/devices/soc0/family
        Freescale i.MX
        $ cat /sys/devices/soc0/soc_id
        i.MX6Q
        $ cat /sys/devices/soc0/revision
        1.2
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      a2887546
    • S
      ARM: imx: add a common function to initialize revision from anatop · f1c6f314
      Shawn Guo 提交于
      The patch creates a common function imx_init_revision_from_anatop() by
      merging imx6q_init_revision() and imx_anatop_get_digprog(), so that any
      SoC that encodes revision info in anatop can use it to initialize
      revision.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      f1c6f314
    • S
      ARM: imx6q: use common soc revision helpers · 3f75978b
      Shawn Guo 提交于
      It calls imx_set_soc_revision() to set up soc revision in
      imx6q_init_revision(), and replaces all the occurrences of
      imx6q_revision() with common helper imx_get_soc_revision().
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      3f75978b
  19. 30 9月, 2013 1 次提交
  20. 19 9月, 2013 1 次提交
  21. 22 8月, 2013 3 次提交
  22. 21 8月, 2013 1 次提交
  23. 16 8月, 2013 5 次提交
  24. 10 7月, 2013 1 次提交