summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/icoll-imx233.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-02-02 04:20:41 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-02-10 23:14:24 +0100
commit0ba4c3b0787eb349458b0187623bc260d3789ebc (patch)
treee39d75cd87da2921423bd1c3f15c619ff5af07f1 /firmware/target/arm/imx233/icoll-imx233.h
parentab5dfd55aaa37da65a4168d0dc46f9a3a7d8844a (diff)
downloadrockbox-0ba4c3b0787eb349458b0187623bc260d3789ebc.tar.gz
rockbox-0ba4c3b0787eb349458b0187623bc260d3789ebc.zip
imx233: enhance icoll with priority and soft IRQ
Change-Id: If9568ab6e11bf933b2cc607e5a86866a975886bc
Diffstat (limited to 'firmware/target/arm/imx233/icoll-imx233.h')
-rw-r--r--firmware/target/arm/imx233/icoll-imx233.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/icoll-imx233.h b/firmware/target/arm/imx233/icoll-imx233.h
index 81d7695ec5..cf87305e11 100644
--- a/firmware/target/arm/imx233/icoll-imx233.h
+++ b/firmware/target/arm/imx233/icoll-imx233.h
@@ -62,16 +62,23 @@
62#if IMX233_SUBTARGET >= 3600 && IMX233_SUBTARGET < 3780 62#if IMX233_SUBTARGET >= 3600 && IMX233_SUBTARGET < 3780
63#define BP_ICOLL_PRIORITYn_ENABLEx(x) (2 + 8 * (x)) 63#define BP_ICOLL_PRIORITYn_ENABLEx(x) (2 + 8 * (x))
64#define BM_ICOLL_PRIORITYn_ENABLEx(x) (1 << (2 + 8 * (x))) 64#define BM_ICOLL_PRIORITYn_ENABLEx(x) (1 << (2 + 8 * (x)))
65#define BP_ICOLL_PRIORITYn_PRIORITYx(x) (0 + 8 * (x))
66#define BM_ICOLL_PRIORITYn_PRIORITYx(x) (3 << (0 + 8 * (x)))
67#define BP_ICOLL_PRIORITYn_SOFTIRQx(x) (3 + 8 * (x))
68#define BM_ICOLL_PRIORITYn_SOFTIRQx(x) (1 << (3 + 8 * (x)))
65#endif 69#endif
66 70
67struct imx233_icoll_irq_info_t 71struct imx233_icoll_irq_info_t
68{ 72{
69 bool enabled; 73 bool enabled;
70 unsigned freq; 74 unsigned freq;
75 unsigned priority;
71}; 76};
72 77
73void imx233_icoll_init(void); 78void imx233_icoll_init(void);
74void imx233_icoll_enable_interrupt(int src, bool enable); 79void imx233_icoll_enable_interrupt(int src, bool enable);
80void imx233_icoll_set_priority(int src, unsigned prio);
75struct imx233_icoll_irq_info_t imx233_icoll_get_irq_info(int src); 81struct imx233_icoll_irq_info_t imx233_icoll_get_irq_info(int src);
82void imx233_icoll_force_irq(unsigned src, bool enable);
76 83
77#endif /* ICOLL_IMX233_H */ 84#endif /* ICOLL_IMX233_H */