forked from Minki/linux
090727b880
The following error is seen after a suspend/resume cycle on a mx53qsb with a
MC34708 PMIC:
root@freescale /$ echo mem > /sys/power/state
[ 32.630592] PM: Syncing filesystems ... done.
[ 32.643924] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 32.652384] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 32.679156] PM: suspend of devices complete after 13.113 msecs
[ 32.685128] PM: suspend devices took 0.030 seconds
[ 32.696109] PM: late suspend of devices complete after 6.133 msecs
[ 33.313032] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 33.322009] PM: noirq suspend of devices complete after 619.667 msecs
[ 33.328544] Disabling non-boot CPUs ...
[ 33.335031] PM: noirq resume of devices complete after 2.352 msecs
[ 33.842940] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 33.976095] [sched_delayed] sched: RT throttling activated
[ 33.984804] PM: early resume of devices complete after 642.642 msecs
[ 34.352954] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 34.862910] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 34.996595] PM: resume of devices complete after 1005.367 msecs
[ 35.372925] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 35.882911] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 35.955707] PM: resume devices took 1.970 seconds
[ 35.960445] Restarting tasks ... done.
[ 35.993386] fec 63fec000.ethernet eth0: Link is Down
[ 36.392980] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 36.902908] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 36.953036] ata1: SATA link down (SStatus 0 SControl 300)
[ 37.412922] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 37.922906] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 37.993379] fec 63fec000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 38.432938] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 38.942920] mc13xxx 0-0008: Failed to read IRQ status: -110
[ 39.452933] mc13xxx 0-0008: Failed to read IRQ status: -110
(flood of this error message continues forever)
Commit 5169df8be0
("ARM: dts: i.MX53: add support for MCIMX53-START-R")
missed to configure the IOMUX for the PMIC IRQ pin.
Configure the PMIC IRQ pin so that the suspend/resume sequence behaves cleanly
as expected.
Cc: <stable@vger.kernel.org> # 3.16
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
167 lines
3.5 KiB
Plaintext
167 lines
3.5 KiB
Plaintext
/*
|
|
* Copyright 2011 Freescale Semiconductor, Inc.
|
|
* Copyright 2011 Linaro Ltd.
|
|
*
|
|
* The code contained herein is licensed under the GNU General Public
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
* Version 2 or later at the following locations:
|
|
*
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "imx53-qsb-common.dtsi"
|
|
|
|
/ {
|
|
model = "Freescale i.MX53 Quick Start-R Board";
|
|
compatible = "fsl,imx53-qsrb", "fsl,imx53";
|
|
};
|
|
|
|
&iomuxc {
|
|
i2c1 {
|
|
/* open drain */
|
|
pinctrl_i2c1_qsrb: i2c1grp-1 {
|
|
fsl,pins = <
|
|
MX53_PAD_CSI0_DAT8__I2C1_SDA 0x400001ec
|
|
MX53_PAD_CSI0_DAT9__I2C1_SCL 0x400001ec
|
|
>;
|
|
};
|
|
|
|
pinctrl_pmic: pmicgrp {
|
|
fsl,pins = <
|
|
MX53_PAD_CSI0_DAT5__GPIO5_23 0x1e4 /* IRQ */
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c1_qsrb>;
|
|
status = "okay";
|
|
|
|
pmic: mc34708@8 {
|
|
compatible = "fsl,mc34708";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pmic>;
|
|
reg = <0x08>;
|
|
interrupt-parent = <&gpio5>;
|
|
interrupts = <23 0x8>;
|
|
regulators {
|
|
sw1_reg: sw1a {
|
|
regulator-name = "SW1";
|
|
regulator-min-microvolt = <650000>;
|
|
regulator-max-microvolt = <1437500>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw1b_reg: sw1b {
|
|
regulator-name = "SW1B";
|
|
regulator-min-microvolt = <650000>;
|
|
regulator-max-microvolt = <1437500>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw2_reg: sw2 {
|
|
regulator-name = "SW2";
|
|
regulator-min-microvolt = <650000>;
|
|
regulator-max-microvolt = <1437500>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw3_reg: sw3 {
|
|
regulator-name = "SW3";
|
|
regulator-min-microvolt = <650000>;
|
|
regulator-max-microvolt = <1425000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
sw4a_reg: sw4a {
|
|
regulator-name = "SW4A";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw4b_reg: sw4b {
|
|
regulator-name = "SW4B";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw5_reg: sw5 {
|
|
regulator-name = "SW5";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1975000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
swbst_reg: swbst {
|
|
regulator-name = "SWBST";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vpll_reg: vpll {
|
|
regulator-name = "VPLL";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vrefddr_reg: vrefddr {
|
|
regulator-name = "VREFDDR";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vusb_reg: vusb {
|
|
regulator-name = "VUSB";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vusb2_reg: vusb2 {
|
|
regulator-name = "VUSB2";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdac_reg: vdac {
|
|
regulator-name = "VDAC";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2775000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen1_reg: vgen1 {
|
|
regulator-name = "VGEN1";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1550000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen2_reg: vgen2 {
|
|
regulator-name = "VGEN2";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
};
|