diff options
| author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-09-29 21:01:59 +0200 |
|---|---|---|
| committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-10-21 01:23:14 +0200 |
| commit | 71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b (patch) | |
| tree | 49a984274fd99714ce6e45ea3e2121877a22951f /firmware | |
| parent | 898b760e59c19425152050829664f2c915c9f667 (diff) | |
| download | rockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.zip rockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.tar.gz rockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.tar.bz2 rockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.tar.xz | |
imx233: fix power irq storm
When bootloader is too intelligent, like on Creative devices, it might leave
some unexpected IRQs sources on, this is problematic when those sources share
the same IRQ line.
Change-Id: Ie9333918eb1048b1f2de4ea738cddf556aa75ee2
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/target/arm/imx233/power-imx233.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/power-imx233.c b/firmware/target/arm/imx233/power-imx233.c index fa2f848..dbecce5 100644 --- a/firmware/target/arm/imx233/power-imx233.c +++ b/firmware/target/arm/imx233/power-imx233.c @@ -120,6 +120,26 @@ void INT_VDD5V(void) BF_CLR(POWER_CTRL, VDD5V_GT_VDDIO_IRQ); } #endif +#if IMX233_SUBTARGET >= 3700 + /* this IRQ is shared by several sources, disable them */ + if(BF_RD(POWER_CTRL, PSWITCH_IRQ)) + { + BF_CLR(POWER_CTRL, ENIRQ_PSWITCH); + BF_CLR(POWER_CTRL, PSWITCH_IRQ); + } +#if IMX233_SUBTARGET < 3780 + if(BF_RD(POWER_CTRL, LINREG_OK_IRQ)) + { + BF_CLR(POWER_CTRL, ENIRQ_LINREG_OK); + BF_CLR(POWER_CTRL, LINREG_OK_IRQ); + } +#endif /* IMX233_SUBTARGET < 3780 */ + if(BF_RD(POWER_CTRL, DC_OK_IRQ)) + { + BF_CLR(POWER_CTRL, ENIRQ_DC_OK); + BF_CLR(POWER_CTRL, DC_OK_IRQ); + } +#endif /* IMX233_SUBTARGET >= 3700 */ } void imx233_power_init(void) |