1. 01 5月, 2018 1 次提交
    • T
      ARM: OMAP2+: Initialize SoC PM later · 02b83dcb
      Tony Lindgren 提交于
      There's no need to probe devices until at module_init time and we
      currently have at least PM trying to use I2C for PMICs early on.
      
      As only a part of the SoC init_early is SoC specific, we only need to call
      the SoC specific PM init function. And we can modify omap2_common_pm_late_init()
      so it becomes a late_initcall().
      
      Note that this changes am335x to call omap2_clk_enable_autoidle_all() that
      seems to be missing currently.
      
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      02b83dcb
  2. 17 4月, 2018 1 次提交
    • T
      ARM: OMAP2+: Drop unused pm-noop · 44773ba1
      Tony Lindgren 提交于
      Looks like these functions don't do anything in the mainline kernel so
      we can just drop it.
      
      Note that we must now also remove ir-rx51 pdata as it relies on the dummy
      platform data that does not do anything. And ir-rx51 is calling a pdata
      callback that doesn't do anything without checking if it exists first.
      
      For configuring device specific minimal latencies, the interface to use
      is pm_qos_add_request(). For an example, see what was done in commit
      9834ffd1 ("ASoC: omap-mcbsp: Add PM QoS support for McBSP to prevent
      glitches"). I've added some comments to ir-rx51 so people using it can
      add pm_qos support and test it.
      
      Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
      Cc: Kevin Hilman <khilman@kernel.org>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      44773ba1
  3. 28 2月, 2018 1 次提交
    • D
      ARM: OMAP2+: pm33xx-core: Add platform code needed for PM · 41d9d44d
      Dave Gerlach 提交于
      Most of the PM code needed for am335x and am437x can be moved into a
      module under drivers but some core code must remain in mach-omap2 at the
      moment. This includes some internal clockdomain APIs and low-level ARM
      APIs which are also not exported for use by modules.
      
      Implement a few functions that handle these low-level platform
      operations can be passed to the pm33xx module through the use of
      platform data.
      
      In addition to this, to be able to share data structures between C and
      the sleep33xx and sleep43xx assembly code, we can automatically generate
      all of the C struct member offsets and sizes as macros by processing
      pm-asm-offsets.c into assembly code and then extracting the relevant
      data as is done for the generated platform asm-offsets.h files.
      
      Finally, add amx3_common_pm_init to create a dummy platform_device for
      pm33xx so that our soon to be introduced pm33xx module can probe on
      am335x and am437x platforms to enable basic suspend to mem and standby
      support.
      Signed-off-by: NDave Gerlach <d-gerlach@ti.com>
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      41d9d44d
  4. 15 8月, 2017 1 次提交
  5. 28 7月, 2017 1 次提交
  6. 08 6月, 2017 1 次提交
  7. 11 11月, 2016 1 次提交
  8. 08 11月, 2016 1 次提交
  9. 23 6月, 2016 2 次提交
    • T
      ARM: OMAP4+: Prevent CPU1 related hang with kexec · 0573b957
      Tony Lindgren 提交于
      Kexec booted kernels on omap4 will hang early during the boot if the
      booted kernel is different version from the previous kernel.
      
      This is because the previous kernel may have configured low-power mode
      using CPU1_WAKEUP_NS_PA_ADDR. In that case it points to the previous
      kernel's omap4_secondary_startup(), and CPU1 can be in low power mode
      from the previous kernel. When the new kernel configures the CPU1
      clockdomain, CPU1 can wake from low power state prematurely during
      omap44xx_clockdomains_init() running random code.
      
      Let's fix the issue by configuring CPU1_WAKEUP_NS_PA_ADDR before we
      call omap44xx_clockdomains_init(). Note that this is very early during
      the init, and we will do proper CPU1 reset during SMP init a bit later
      on in omap4_smp_prepare_cpus(). And we need to do this when SMP is
      not enabled as the previous kernel may have had it enabled.
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Tested-by: NKeerthy <j-keerthy@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0573b957
    • T
      ARM: OMAP4+: Initialize SAR RAM base early for proper CPU1 reset for kexec · f4b9f40a
      Tony Lindgren 提交于
      Prepare things for making kexec work on SMP omap variants by initializing
      SARM RAM base early. This allows us to configure CPU1 for kexec in case
      the previous kernel has put CPU1 in low power mode.
      
      Note that this should not prevent moving other SAR RAM code to live
      under drivers. However for kexec, we will need this very early.
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Tested-by: NKeerthy <j-keerthy@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      f4b9f40a
  10. 08 4月, 2016 1 次提交
  11. 31 3月, 2016 1 次提交
  12. 10 12月, 2015 1 次提交
  13. 17 9月, 2015 1 次提交
  14. 25 7月, 2015 1 次提交
  15. 24 7月, 2015 1 次提交
  16. 16 7月, 2015 3 次提交
  17. 02 6月, 2015 2 次提交
  18. 01 4月, 2015 4 次提交
  19. 27 3月, 2015 4 次提交
  20. 25 3月, 2015 4 次提交
  21. 17 3月, 2015 1 次提交
  22. 31 1月, 2015 1 次提交
  23. 27 1月, 2015 2 次提交
  24. 15 1月, 2015 2 次提交
    • T
      ARM: OMAP2+: Disable omap3 PM init for ti81xx · 13efcb18
      Tony Lindgren 提交于
      We cannot use the omap3 pm support on 81xx.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      13efcb18
    • T
      ARM: OMAP2+: Fix ti81xx class type · c27964b5
      Tony Lindgren 提交于
      Otherwise it will return true for cpu_is_omap34xx() which we don't
      want for the clocks and hwmod. It's closer to am33xx for the clocks
      and hwmod than to the omap34xx. We also want to be able to detect
      814x and 816x separately as at least the clocks are different with
      814x using a apll and 816x using a fapll for the source clocks.
      
      Note that we can also remove omap3xxx_clk_init() call as it's wrong
      and ti81xx are booting in device tree only mode.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c27964b5
  25. 13 12月, 2014 1 次提交