linux/arch/arm/mach-imx
Philipp Zabel 00eb60a8b4 ARM: imx6: gpc: Add PU power domain for GPU/VPU
When generic pm domain support is enabled, the PGC can be used
to completely gate power to the PU power domain containing GPU3D,
GPU2D, and VPU cores.
This code triggers the PGC powerdown sequence to disable the GPU/VPU
isolation cells and gate power and then disables the PU regulator.
To reenable, the reverse powerup sequence is triggered after the PU
regulator is enabled again.
The GPU and VPU devices in the PU power domain temporarily need
to be clocked during powerup, so that the reset machinery can work.

[Avoid explicit regulator enabling in probe, unless !PM]
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2015-03-11 08:59:00 +08:00
..
devices ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
3ds_debugboard.c
3ds_debugboard.h
anatop.c ARM: imx: add anatop settings for LPDDR2 when enter DSM mode 2014-11-23 14:56:17 +08:00
avic.c ARM: imx: avic: Convert to handle_domain_irq 2014-09-03 13:10:56 +00:00
board-mx31lilly.h
board-mx31lite.h
board-mx31moboard.h
clk-busy.c
clk-cpu.c ARM: imx: add CPU clock type 2014-11-23 14:56:19 +08:00
clk-fixup-div.c
clk-fixup-mux.c
clk-gate2.c ARM: imx: correct the hardware clock gate setting for shared nodes 2015-01-05 20:53:05 +08:00
clk-gate-exclusive.c ARM: imx: add an exclusive gate clock type 2014-09-16 10:06:48 +08:00
clk-imx1.c ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets 2014-07-18 16:11:39 +08:00
clk-imx6q.c ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate 2015-03-02 20:52:16 +08:00
clk-imx6sl.c ARM: imx: fix register offset of pll7_usb_host gate clock 2014-09-16 10:09:40 +08:00
clk-imx6sx.c ARM: imx6sx: Set PLL2 as parent of QSPI clocks 2015-01-05 21:16:31 +08:00
clk-imx21.c ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets 2014-07-18 16:11:39 +08:00
clk-imx25.c ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets 2014-07-18 16:11:39 +08:00
clk-imx27.c ARM: i.MX: Use CLOCKSOURCE_OF_DECLARE() for DT targets 2014-07-18 16:11:39 +08:00
clk-imx31.c ARM: i.MX clk: Move clock check function in common location 2014-07-18 16:10:12 +08:00
clk-imx35.c ARM: i.MX clk: Move clock check function in common location 2014-07-18 16:10:12 +08:00
clk-imx51-imx53.c ARM: imx53: clk: add ARM clock 2014-11-23 14:56:20 +08:00
clk-pfd.c ARM: imx: add necessary interface for pfd 2013-12-31 09:36:45 +08:00
clk-pllv1.c
clk-pllv2.c
clk-pllv3.c ARM: imx: pllv3: add shift for frequency multiplier 2015-01-05 20:53:05 +08:00
clk-vf610.c ARM: imx: clk-vf610: Add clock for SNVS 2015-01-13 19:16:26 +08:00
clk.c ARM: i.MX clk: Move clock check function in common location 2014-07-18 16:10:12 +08:00
clk.h ARM: imx: pllv3: add shift for frequency multiplier 2015-01-05 20:53:05 +08:00
common.h ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
cpu-imx5.c ARM: imx5: retrieve iim base from device tree 2014-07-18 16:10:07 +08:00
cpu-imx25.c
cpu-imx27.c
cpu-imx31.c
cpu-imx35.c
cpu.c ARM: i.MX: allow disabling supervisor protect via DT 2014-07-18 16:11:39 +08:00
cpuidle-imx5.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
cpuidle-imx6q.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
cpuidle-imx6sl.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
cpuidle-imx6sx.c ARM: imx: drop CPUIDLE_FLAG_TIME_VALID from cpuidle-imx6sx 2015-01-06 20:14:50 +08:00
cpuidle.h ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
crmregs-imx3.h
devices-imx1.h
devices-imx21.h
devices-imx25.h ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
devices-imx27.h
devices-imx31.h
devices-imx35.h
ehci-imx25.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
ehci-imx27.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
ehci-imx31.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
ehci-imx35.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
ehci.h ARM: imx5: remove imx51 non-DT support files 2014-07-18 16:10:05 +08:00
epit.c
eukrea_mbimxsd25-baseboard.c
eukrea_mbimxsd35-baseboard.c
eukrea-baseboards.h ARM: i.MX: Remove mach-cpuimx27sd board file 2014-09-01 22:00:01 +08:00
gpc.c ARM: imx6: gpc: Add PU power domain for GPU/VPU 2015-03-11 08:59:00 +08:00
hardware.h ARM: imx5: remove mx51.h and mx53.h 2014-07-18 16:10:10 +08:00
headsmp.S ARM: imx6: drop .text.head section annotation from headsmp.S 2014-03-05 10:48:26 +08:00
hotplug.c
iim.h
imx1-dt.c ARM: i.MX1: Add devicetree support 2014-09-16 10:06:44 +08:00
imx25-dt.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
imx27-dt.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
imx31-dt.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
imx35-dt.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
iomux-imx31.c ARM: imx: refactor mxc_iomux_mode() 2014-11-22 07:39:36 +08:00
iomux-mx1.h
iomux-mx2x.h
iomux-mx3.h ARM: imx: refactor mxc_iomux_mode() 2014-11-22 07:39:36 +08:00
iomux-mx21.h
iomux-mx25.h
iomux-mx27.h
iomux-mx35.h
iomux-v1.c ARM: imx: iomux: Do not export symbol without public declaration 2014-09-01 22:00:01 +08:00
iomux-v1.h
iomux-v3.c ARM: imx: iomux: Do not export symbol without public declaration 2014-09-01 22:00:01 +08:00
iomux-v3.h
irq-common.c
irq-common.h
Kconfig ARM: imx6: gpc: Add PU power domain for GPU/VPU 2015-03-11 08:59:00 +08:00
mach-apf9328.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-armadillo5x0.c arm: mach-imx: Convert pr_warning to pr_warn 2014-09-16 10:09:41 +08:00
mach-bug.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-cpuimx35.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-eukrea_cpuimx25.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-imx6q.c ARM i.MX6q: unmap memory mapped at imx6q_opp_check_speed_grading() 2015-01-20 14:26:45 +08:00
mach-imx6sl.c ARM: imx: Remove unneeded .map_io initialization 2014-11-22 07:39:36 +08:00
mach-imx6sx.c ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
mach-imx27_visstrim_m10.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-imx50.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
mach-imx51.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
mach-imx53.c ARM: SoC platform changes for 3.19 2014-12-09 14:38:28 -08:00
mach-kzm_arm11_01.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-ls1021a.c ARM: imx: Add Freescale LS1021A SMP support 2014-11-23 14:56:21 +08:00
mach-mx21ads.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-mx25_3ds.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-mx27_3ds.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-mx27ads.c platform: Remove most references to platform_bus device 2014-07-23 19:09:03 -07:00
mach-mx31_3ds.c arm: mach-imx: Convert pr_warning to pr_warn 2014-09-16 10:09:41 +08:00
mach-mx31ads.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-mx31lilly.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-mx31lite.c arm: mach-imx: Convert pr_warning to pr_warn 2014-09-16 10:09:41 +08:00
mach-mx31moboard.c ARM: imx: use PTR_ERR_OR_ZERO 2014-07-18 16:11:36 +08:00
mach-mx35_3ds.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-pca100.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-pcm037_eet.c
mach-pcm037.c arm: mach-imx: Convert pr_warning to pr_warn 2014-09-16 10:09:41 +08:00
mach-pcm043.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
mach-qong.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-scb9328.c ARM: i.MX: Setup IRQ handler from IRQ driver 2014-05-12 22:58:51 +08:00
mach-vf610.c ARM vf610: add compatibilty strings of supported Vybrid SoC's 2015-01-05 20:53:05 +08:00
mach-vpr200.c ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
Makefile ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
mm-imx1.c
mm-imx3.c
mm-imx21.c
mm-imx25.c
mm-imx27.c
mmdc.c ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mx1.h
mx2x.h
mx3x.h
mx21.h
mx25.h
mx27.h
mx31.h
mx31lilly-db.c
mx31lite-db.c
mx31moboard-devboard.c ARM: imx: use PTR_ERR_OR_ZERO 2014-07-18 16:11:36 +08:00
mx31moboard-marxbot.c ARM: imx: use PTR_ERR_OR_ZERO 2014-07-18 16:11:36 +08:00
mx31moboard-smartbot.c ARM: imx: use PTR_ERR_OR_ZERO 2014-07-18 16:11:36 +08:00
mx35.h
mxc.h ARM: imx: replace cpu type check with ddr type check 2014-11-23 14:56:17 +08:00
pcm037.h
platsmp.c ARM: imx: Add Freescale LS1021A SMP support 2014-11-23 14:56:21 +08:00
pm-imx3.c
pm-imx5.c ARM: imx5: use dynamic mapping for Cortex and GPC block 2014-07-18 16:10:09 +08:00
pm-imx6.c ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
pm-imx27.c
src.c
ssi-fiq-ksym.c
ssi-fiq.S
suspend-imx6.S ARM: imx: replace cpu type check with ddr type check 2014-11-23 14:56:17 +08:00
system.c ARM: imx: clean up machine mxc_arch_reset_init_dt reset init 2014-11-22 07:39:36 +08:00
time.c ARM: imx: source gpt per clk from OSC for system timer 2014-09-16 10:09:41 +08:00
tzic.c ARM: imx: tzic: Convert to handle_domain_irq 2014-09-03 13:10:57 +00:00
ulpi.h