summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-09-29 21:01:59 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-10-21 01:23:14 +0200
commit71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b (patch)
tree49a984274fd99714ce6e45ea3e2121877a22951f /firmware
parent898b760e59c19425152050829664f2c915c9f667 (diff)
downloadrockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.tar.gz
rockbox-71c5a52addbe58ff1de6c1ab1f8b53ac7dd8b72b.zip
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.c20
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 fa2f8488cf..dbecce5c77 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)
120 BF_CLR(POWER_CTRL, VDD5V_GT_VDDIO_IRQ); 120 BF_CLR(POWER_CTRL, VDD5V_GT_VDDIO_IRQ);
121 } 121 }
122#endif 122#endif
123#if IMX233_SUBTARGET >= 3700
124 /* this IRQ is shared by several sources, disable them */
125 if(BF_RD(POWER_CTRL, PSWITCH_IRQ))
126 {
127 BF_CLR(POWER_CTRL, ENIRQ_PSWITCH);
128 BF_CLR(POWER_CTRL, PSWITCH_IRQ);
129 }
130#if IMX233_SUBTARGET < 3780
131 if(BF_RD(POWER_CTRL, LINREG_OK_IRQ))
132 {
133 BF_CLR(POWER_CTRL, ENIRQ_LINREG_OK);
134 BF_CLR(POWER_CTRL, LINREG_OK_IRQ);
135 }
136#endif /* IMX233_SUBTARGET < 3780 */
137 if(BF_RD(POWER_CTRL, DC_OK_IRQ))
138 {
139 BF_CLR(POWER_CTRL, ENIRQ_DC_OK);
140 BF_CLR(POWER_CTRL, DC_OK_IRQ);
141 }
142#endif /* IMX233_SUBTARGET >= 3700 */
123} 143}
124 144
125void imx233_power_init(void) 145void imx233_power_init(void)