* [PATCH v8 0/4] This is the 1st version of suspend for RK3288. @ 2014-11-15 11:45 Chris Zhong 2014-11-15 11:45 ` [PATCH v8 2/4] ARM: rockchip: Add pmu-sram binding Chris Zhong ` (3 more replies) 0 siblings, 4 replies; 6+ messages in thread From: Chris Zhong @ 2014-11-15 11:45 UTC (permalink / raw) To: heiko-4mtYJXux2i+zQB+pC5nmwQ, dianders-F7+t8E8rja9g9hUCZPvPmw Cc: mturquette-QSEj5FYQhm4dnm+yROfE0A, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman-DgEjT+Ai2ygdnm+yROfE0A, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Chris Zhong, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Kumar Gala, Tony Xie, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r This suspend patch is only support cut off the power of cpu and some external devices, since we still lack power_domain driver, so the other power rail of rk3288 need keep power on. I have tested it on rk3288-evb board, atop next-20141112. goto suspend by type "echo mem > /sys/power/state", vdd_cpu is about 0mv by measuring, so it can be determined in sleep mode, then press power button to wakeup it. Based on: [v5,1/6] ARM: rockchip: convert to regmap and use pmu syscon if available https://patchwork.kernel.org/patch/5086341/ [v5,2/6] ARM: rockchip: add option to access the pmu via a phandle in smp_operations https://patchwork.kernel.org/patch/5086441/ [v5,3/6] ARM: dts: rockchip: add pmu references to cpus nodes https://patchwork.kernel.org/patch/5086351/ [v5,4/6] ARM: rockchip: add basic smp support for rk3288 https://patchwork.kernel.org/patch/5086371/ [v5,5/6] ARM: dts: rockchip: add intmem node for rk3288 smp support https://patchwork.kernel.org/patch/5086361/ [v5,6/6] ARM: dts: rockchip: add reset for CPU nodes https://patchwork.kernel.org/patch/5086381/ [v3] usb: dwc2: add bus suspend/resume for dwc2 https://patchwork.kernel.org/patch/5266281/ Changes in v8: - use enum for define sleep mode - move rk3288_config_bootdata to the front of sram memcpy - add ddr pinctrl for suspend - keep all except cpu&tp power rail on during suspend - add regulator-on-in-suspend before set suspend voltage - add a reference of ddrio_pwroff and ddr0_retention Changes in v7: - get rid all of unused code - add regulator-state-mem sub node for suspend Changes in v6: - get rid of the save/restore of SRAM - doing the copy of resume code once at init time - remove ROCKCHIP_ARM_OFF_LOGIC_DEEP from rk3288_fill_in_bootram - add of_platform_populate in rockchip_dt_init - change pmu_intmem@ff720000 to sram@ff720000 - change pmu_intmem@ff720000 to sram@ff720000 Changes in v5: - use rk3288_bootram_sz for memcpy size - fixed error of sram save and restore - change the size of sram in example - change size to 4k Changes in v4: - remove grf regmap Changes in v3: - move the pinmux of gpio6_c6 save and restore to pinctrl-rockchip Changes in v2: - add the regulator calls in prepare and finish. - add the pinmux of gpio6_c6 save and restore - put "rockchip,rk3288-pmu-sram" to first Chris Zhong (4): ARM: rockchip: add suspend and resume for RK3288 ARM: rockchip: Add pmu-sram binding ARM: dts: add RK3288 suspend support ARM: dts: add suspend voltage setting for RK808 .../devicetree/bindings/arm/rockchip/pmu-sram.txt | 16 ++ arch/arm/boot/dts/rk3288-evb-rk808.dts | 55 ++++- arch/arm/boot/dts/rk3288-evb.dtsi | 12 + arch/arm/boot/dts/rk3288.dtsi | 23 ++ arch/arm/mach-rockchip/Makefile | 1 + arch/arm/mach-rockchip/pm.c | 264 +++++++++++++++++++++ arch/arm/mach-rockchip/pm.h | 99 ++++++++ arch/arm/mach-rockchip/rockchip.c | 2 + arch/arm/mach-rockchip/sleep.S | 73 ++++++ 9 files changed, 544 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt create mode 100644 arch/arm/mach-rockchip/pm.c create mode 100644 arch/arm/mach-rockchip/pm.h create mode 100644 arch/arm/mach-rockchip/sleep.S -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v8 2/4] ARM: rockchip: Add pmu-sram binding 2014-11-15 11:45 [PATCH v8 0/4] This is the 1st version of suspend for RK3288 Chris Zhong @ 2014-11-15 11:45 ` Chris Zhong 2014-11-15 11:45 ` [PATCH v8 3/4] ARM: dts: add RK3288 suspend support Chris Zhong ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Chris Zhong @ 2014-11-15 11:45 UTC (permalink / raw) To: heiko, dianders Cc: mturquette, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman, linux-rockchip, Chris Zhong, Tony Xie, Kumar Gala, devicetree, linux-kernel The pmu-sram is used to store resume code, suspend/resume need get the address of it. Therefore add a binding and documentation for it. Signed-off-by: Tony Xie <xxx@rock-chips.com> Signed-off-by: Chris Zhong <zyw@rock-chips.com> Reviewed-by: Doug Anderson <dianders@chromium.org> --- Changes in v8: None Changes in v7: None Changes in v6: - change pmu_intmem@ff720000 to sram@ff720000 Changes in v5: - change the size of sram in example Changes in v4: None Changes in v3: None Changes in v2: None .../devicetree/bindings/arm/rockchip/pmu-sram.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt diff --git a/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt b/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt new file mode 100644 index 0000000..6b42fda --- /dev/null +++ b/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt @@ -0,0 +1,16 @@ +Rockchip SRAM for pmu: +------------------------------ + +The sram of pmu is used to store the function of resume from maskrom(the 1st +level loader). This is a common use of the "pmu-sram" because it keeps power +even in low power states in the system. + +Required node properties: +- compatible : should be "rockchip,rk3288-pmu-sram" +- reg : physical base address and the size of the registers window + +Example: + sram@ff720000 { + compatible = "rockchip,rk3288-pmu-sram", "mmio-sram"; + reg = <0xff720000 0x1000>; + }; -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v8 3/4] ARM: dts: add RK3288 suspend support 2014-11-15 11:45 [PATCH v8 0/4] This is the 1st version of suspend for RK3288 Chris Zhong 2014-11-15 11:45 ` [PATCH v8 2/4] ARM: rockchip: Add pmu-sram binding Chris Zhong @ 2014-11-15 11:45 ` Chris Zhong 2014-11-15 11:45 ` [PATCH v8 4/4] ARM: dts: add suspend voltage setting for RK808 Chris Zhong [not found] ` <1416051910-16730-1-git-send-email-zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> 3 siblings, 0 replies; 6+ messages in thread From: Chris Zhong @ 2014-11-15 11:45 UTC (permalink / raw) To: heiko, dianders Cc: mturquette, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman, linux-rockchip, Chris Zhong, Tony Xie, Kumar Gala, linux-arm-kernel, devicetree, linux-kernel add pmu sram node for suspend, add global_pwroff pinctrl. The pmu sram is used to store the resume code. global_pwroff is held low level at work, it would be pull to high when entering suspend. reference this in the board DTS file since some boards need it. ddrio_pwroff is power switch of ddr_controller, if you want to cut off power rail of ddr_controller during suspend, please reference it. ddr0_retention/ddr1_retention are the retention mode switches, if you want to use the retention mode during suspend, please reference them. Signed-off-by: Tony Xie <xxx@rock-chips.com> Signed-off-by: Chris Zhong <zyw@rock-chips.com> Reviewed-by: Doug Anderson <dianders@chromium.org> Tested-by: Doug Anderson <dianders@chromium.org> --- Changes in v8: - add ddr pinctrl for suspend Changes in v7: None Changes in v6: - change pmu_intmem@ff720000 to sram@ff720000 Changes in v5: - change size to 4k Changes in v4: None Changes in v3: None Changes in v2: - put "rockchip,rk3288-pmu-sram" to first arch/arm/boot/dts/rk3288.dtsi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index df30437..60bccff 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -482,6 +482,11 @@ }; }; + sram@ff720000 { + compatible = "rockchip,rk3288-pmu-sram", "mmio-sram"; + reg = <0xff720000 0x1000>; + }; + pmu: power-management@ff730000 { compatible = "rockchip,rk3288-pmu", "syscon"; reg = <0xff730000 0x100>; @@ -687,6 +692,24 @@ bias-disable; }; + sleep { + global_pwroff: global-pwroff { + rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>; + }; + + ddrio_pwroff: ddrio-pwroff { + rockchip,pins = <0 1 RK_FUNC_1 &pcfg_pull_none>; + }; + + ddr0_retention: ddr0-retention { + rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_up>; + }; + + ddr1_retention: ddr1-retention { + rockchip,pins = <0 3 RK_FUNC_1 &pcfg_pull_up>; + }; + }; + i2c0 { i2c0_xfer: i2c0-xfer { rockchip,pins = <0 15 RK_FUNC_1 &pcfg_pull_none>, -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v8 4/4] ARM: dts: add suspend voltage setting for RK808 2014-11-15 11:45 [PATCH v8 0/4] This is the 1st version of suspend for RK3288 Chris Zhong 2014-11-15 11:45 ` [PATCH v8 2/4] ARM: rockchip: Add pmu-sram binding Chris Zhong 2014-11-15 11:45 ` [PATCH v8 3/4] ARM: dts: add RK3288 suspend support Chris Zhong @ 2014-11-15 11:45 ` Chris Zhong 2014-11-24 23:01 ` Heiko Stübner [not found] ` <1416051910-16730-1-git-send-email-zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> 3 siblings, 1 reply; 6+ messages in thread From: Chris Zhong @ 2014-11-15 11:45 UTC (permalink / raw) To: heiko, dianders Cc: mturquette, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman, linux-rockchip, Chris Zhong, Kumar Gala, linux-arm-kernel, devicetree, linux-kernel global_pwroff would be pull to high when RK3288 entering suspend, this pin is a sleep signal for RK808, so RK808 could goto sleep mode, and some regulators would be disable. Signed-off-by: Chris Zhong <zyw@rock-chips.com> --- Changes in v8: - keep all except cpu&tp power rail on during suspend - add regulator-on-in-suspend before set suspend voltage - add a reference of ddrio_pwroff and ddr0_retention Changes in v7: - add regulator-state-mem sub node for suspend Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/boot/dts/rk3288-evb-rk808.dts | 55 +++++++++++++++++++++++++++++++++- arch/arm/boot/dts/rk3288-evb.dtsi | 12 ++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts index d8c775e6..e4a8884 100644 --- a/arch/arm/boot/dts/rk3288-evb-rk808.dts +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts @@ -31,7 +31,7 @@ interrupt-parent = <&gpio0>; interrupts = <4 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; - pinctrl-0 = <&pmic_int>; + pinctrl-0 = <&pmic_int &global_pwroff>; rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; @@ -50,6 +50,9 @@ regulator-min-microvolt = <750000>; regulator-max-microvolt = <1350000>; regulator-name = "vdd_arm"; + regulator-state-mem { + regulator-off-in-suspend; + }; }; vdd_gpu: DCDC_REG2 { @@ -58,12 +61,20 @@ regulator-min-microvolt = <850000>; regulator-max-microvolt = <1250000>; regulator-name = "vdd_gpu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; }; vcc_ddr: DCDC_REG3 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_ddr"; + regulator-suspend-mem-enabled; + regulator-state-mem { + regulator-on-in-suspend; + }; }; vcc_io: DCDC_REG4 { @@ -72,6 +83,10 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_io"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; }; vccio_pmu: LDO_REG1 { @@ -80,6 +95,10 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; }; vcc_tp: LDO_REG2 { @@ -88,6 +107,9 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc_tp"; + regulator-state-mem { + regulator-off-in-suspend; + }; }; vdd_10: LDO_REG3 { @@ -96,6 +118,10 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd_10"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; }; vcc18_lcd: LDO_REG4 { @@ -104,6 +130,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc18_lcd"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; }; vccio_sd: LDO_REG5 { @@ -112,6 +142,10 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-name = "vccio_sd"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; }; vdd10_lcd: LDO_REG6 { @@ -120,6 +154,10 @@ regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-name = "vdd10_lcd"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1000000>; + }; }; vcc_18: LDO_REG7 { @@ -128,6 +166,11 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc_18"; + regulator-suspend-mem-microvolt = <1800000>; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; }; vcca_codec: LDO_REG8 { @@ -136,18 +179,28 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcca_codec"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; }; vcc_wl: SWITCH_REG1 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_wl"; + regulator-state-mem { + regulator-on-in-suspend; + }; }; vcc_lcd: SWITCH_REG2 { regulator-always-on; regulator-boot-on; regulator-name = "vcc_lcd"; + regulator-state-mem { + regulator-on-in-suspend; + }; }; }; }; diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index cb83cea..8d90fab 100644 --- a/arch/arm/boot/dts/rk3288-evb.dtsi +++ b/arch/arm/boot/dts/rk3288-evb.dtsi @@ -149,6 +149,18 @@ }; &pinctrl { + pinctrl-names = "default", "sleep"; + pinctrl-0 = < + /* Common for sleep and wake, but no owners */ + &ddr0_retention + &ddrio_pwroff + >; + pinctrl-1 = < + /* Common for sleep and wake, but no owners */ + &ddr0_retention + &ddrio_pwroff + >; + backlight { bl_en: bl-en { rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v8 4/4] ARM: dts: add suspend voltage setting for RK808 2014-11-15 11:45 ` [PATCH v8 4/4] ARM: dts: add suspend voltage setting for RK808 Chris Zhong @ 2014-11-24 23:01 ` Heiko Stübner 0 siblings, 0 replies; 6+ messages in thread From: Heiko Stübner @ 2014-11-24 23:01 UTC (permalink / raw) To: Chris Zhong Cc: dianders, mturquette, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman, linux-rockchip, Kumar Gala, linux-arm-kernel, devicetree, linux-kernel Hi Chris, The subject above should reflect the pinctrl settings, something like: "ARM: dts: rockchip: add suspend settings for rk3288-evb-rk808" Same for the description: Add suspend-voltages and necessary pin-states for suspend on rk3288-evb-rk808 boards. global_pwroff would be pulled high when RK3288 entering suspend, this pin is a sleep signal for RK808, so RK808 could goto sleep mode, and some regulators would be disable. Am Samstag, 15. November 2014, 19:45:10 schrieb Chris Zhong: > global_pwroff would be pull to high when RK3288 entering suspend, > this pin is a sleep signal for RK808, so RK808 could goto sleep > mode, and some regulators would be disable. > > Signed-off-by: Chris Zhong <zyw@rock-chips.com> > > --- > > Changes in v8: > - keep all except cpu&tp power rail on during suspend > - add regulator-on-in-suspend before set suspend voltage > - add a reference of ddrio_pwroff and ddr0_retention > > Changes in v7: > - add regulator-state-mem sub node for suspend > > Changes in v6: None > Changes in v5: None > Changes in v4: None > Changes in v3: None > Changes in v2: None > > arch/arm/boot/dts/rk3288-evb-rk808.dts | 55 > +++++++++++++++++++++++++++++++++- arch/arm/boot/dts/rk3288-evb.dtsi | > 12 ++++++++ > 2 files changed, 66 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts > b/arch/arm/boot/dts/rk3288-evb-rk808.dts index d8c775e6..e4a8884 100644 > --- a/arch/arm/boot/dts/rk3288-evb-rk808.dts > +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts > @@ -31,7 +31,7 @@ > interrupt-parent = <&gpio0>; > interrupts = <4 IRQ_TYPE_LEVEL_LOW>; > pinctrl-names = "default"; > - pinctrl-0 = <&pmic_int>; > + pinctrl-0 = <&pmic_int &global_pwroff>; > rockchip,system-power-controller; > wakeup-source; > #clock-cells = <1>; > @@ -50,6 +50,9 @@ > regulator-min-microvolt = <750000>; > regulator-max-microvolt = <1350000>; > regulator-name = "vdd_arm"; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > vdd_gpu: DCDC_REG2 { > @@ -58,12 +61,20 @@ > regulator-min-microvolt = <850000>; > regulator-max-microvolt = <1250000>; > regulator-name = "vdd_gpu"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > }; > > vcc_ddr: DCDC_REG3 { > regulator-always-on; > regulator-boot-on; > regulator-name = "vcc_ddr"; > + regulator-suspend-mem-enabled; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > vcc_io: DCDC_REG4 { > @@ -72,6 +83,10 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vcc_io"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > }; > > vccio_pmu: LDO_REG1 { > @@ -80,6 +95,10 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vccio_pmu"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > }; > > vcc_tp: LDO_REG2 { > @@ -88,6 +107,9 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vcc_tp"; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > vdd_10: LDO_REG3 { > @@ -96,6 +118,10 @@ > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > regulator-name = "vdd_10"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > }; > > vcc18_lcd: LDO_REG4 { > @@ -104,6 +130,10 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-name = "vcc18_lcd"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > }; > > vccio_sd: LDO_REG5 { > @@ -112,6 +142,10 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vccio_sd"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > }; > > vdd10_lcd: LDO_REG6 { > @@ -120,6 +154,10 @@ > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > regulator-name = "vdd10_lcd"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > }; > > vcc_18: LDO_REG7 { > @@ -128,6 +166,11 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-name = "vcc_18"; > + regulator-suspend-mem-microvolt = <1800000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > }; > > vcca_codec: LDO_REG8 { > @@ -136,18 +179,28 @@ > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vcca_codec"; > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > }; > > vcc_wl: SWITCH_REG1 { > regulator-always-on; > regulator-boot-on; > regulator-name = "vcc_wl"; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > vcc_lcd: SWITCH_REG2 { > regulator-always-on; > regulator-boot-on; > regulator-name = "vcc_lcd"; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > }; > }; > diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi > b/arch/arm/boot/dts/rk3288-evb.dtsi index cb83cea..8d90fab 100644 > --- a/arch/arm/boot/dts/rk3288-evb.dtsi > +++ b/arch/arm/boot/dts/rk3288-evb.dtsi > @@ -149,6 +149,18 @@ > }; > > &pinctrl { > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = < > + /* Common for sleep and wake, but no owners */ > + &ddr0_retention > + &ddrio_pwroff > + >; > + pinctrl-1 = < > + /* Common for sleep and wake, but no owners */ > + &ddr0_retention > + &ddrio_pwroff > + >; > + > backlight { > bl_en: bl-en { > rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <1416051910-16730-1-git-send-email-zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>]
* Re: [PATCH v8 0/4] This is the 1st version of suspend for RK3288. [not found] ` <1416051910-16730-1-git-send-email-zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> @ 2014-11-24 22:50 ` Heiko Stübner 0 siblings, 0 replies; 6+ messages in thread From: Heiko Stübner @ 2014-11-24 22:50 UTC (permalink / raw) To: Chris Zhong Cc: dianders-F7+t8E8rja9g9hUCZPvPmw, mturquette-QSEj5FYQhm4dnm+yROfE0A, Ian Campbell, Russell King, Rob Herring, Pawel Moll, Mark Rutland, Linus Walleij, khilman-DgEjT+Ai2ygdnm+yROfE0A, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Kumar Gala, Tony Xie, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Chris, Am Samstag, 15. November 2014, 19:45:06 schrieb Chris Zhong: > This suspend patch is only support cut off the power of cpu and some > external devices, since we still lack power_domain driver, so the other > power rail of rk3288 need keep power on. > I have tested it on rk3288-evb board, atop next-20141112. goto suspend by > type "echo mem > /sys/power/state", vdd_cpu is about 0mv by measuring, so > it can be determined in sleep mode, then press power button to wakeup it. with this version my board can finally wake up again. Although it wakes immediatly again. But as it wakes at all, I'm quite happy :-) . I remember this being mentioned before, but I don't remember what was responsible for that. Was it because we only enter the light suspend mode instead of the deep one or some interrupt somewhere? I've been running on top of linux-next from 20141124 with the following patches applied on top of your v8 series: pinctrl: rockchip: Fix enable/disable/mask/unmask pinctrl: rockchip: Handle wakeup pins serial: 8250_dw: Handle no_console_suspend when uart loses state Heiko -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-11-24 23:01 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-15 11:45 [PATCH v8 0/4] This is the 1st version of suspend for RK3288 Chris Zhong 2014-11-15 11:45 ` [PATCH v8 2/4] ARM: rockchip: Add pmu-sram binding Chris Zhong 2014-11-15 11:45 ` [PATCH v8 3/4] ARM: dts: add RK3288 suspend support Chris Zhong 2014-11-15 11:45 ` [PATCH v8 4/4] ARM: dts: add suspend voltage setting for RK808 Chris Zhong 2014-11-24 23:01 ` Heiko Stübner [not found] ` <1416051910-16730-1-git-send-email-zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org> 2014-11-24 22:50 ` [PATCH v8 0/4] This is the 1st version of suspend for RK3288 Heiko Stübner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).