diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2012-05-19 13:23:17 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2012-05-19 16:10:51 +0200 |
commit | 9ced006c06a4240cbd2a9ebe9196d9a0658810f9 (patch) | |
tree | 92f9bf71af3c76ba3b885cb372f0dc46d1482356 /firmware/target/arm/imx233/system-target.h | |
parent | 553aeae9c63f789c969a954983e537244934903a (diff) | |
download | rockbox-9ced006c06a4240cbd2a9ebe9196d9a0658810f9.tar.gz rockbox-9ced006c06a4240cbd2a9ebe9196d9a0658810f9.zip |
imx233: move icoll stuff to its own file
The icoll code now has an IRQ storm detection mechanism which
will prevent the device from hard freezing in case it happen.
Change-Id: I9861238dce61d29af1e48f9c534ec63a7f23465c
Diffstat (limited to 'firmware/target/arm/imx233/system-target.h')
-rw-r--r-- | firmware/target/arm/imx233/system-target.h | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/firmware/target/arm/imx233/system-target.h b/firmware/target/arm/imx233/system-target.h index d9a19efa8f..2e850e830d 100644 --- a/firmware/target/arm/imx233/system-target.h +++ b/firmware/target/arm/imx233/system-target.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "mmu-arm.h" | 25 | #include "mmu-arm.h" |
26 | #include "panic.h" | 26 | #include "panic.h" |
27 | #include "clkctrl-imx233.h" | 27 | #include "clkctrl-imx233.h" |
28 | #include "icoll-imx233.h" | ||
28 | #include "clock-target.h" /* CPUFREQ_* are defined here */ | 29 | #include "clock-target.h" /* CPUFREQ_* are defined here */ |
29 | 30 | ||
30 | /* Digital control */ | 31 | /* Digital control */ |
@@ -43,48 +44,6 @@ | |||
43 | 44 | ||
44 | #define HW_USBPHY_CTRL (*(volatile uint32_t *)(HW_USBPHY_BASE + 0x30)) | 45 | #define HW_USBPHY_CTRL (*(volatile uint32_t *)(HW_USBPHY_BASE + 0x30)) |
45 | 46 | ||
46 | /* Interrupt collector */ | ||
47 | #define HW_ICOLL_BASE 0x80000000 | ||
48 | |||
49 | #define HW_ICOLL_VECTOR (*(volatile uint32_t *)(HW_ICOLL_BASE + 0x0)) | ||
50 | |||
51 | #define HW_ICOLL_LEVELACK (*(volatile uint32_t *)(HW_ICOLL_BASE + 0x10)) | ||
52 | #define HW_ICOLL_LEVELACK__LEVEL0 0x1 | ||
53 | |||
54 | #define HW_ICOLL_CTRL (*(volatile uint32_t *)(HW_ICOLL_BASE + 0x20)) | ||
55 | #define HW_ICOLL_CTRL__IRQ_FINAL_ENABLE (1 << 16) | ||
56 | #define HW_ICOLL_CTRL__ARM_RSE_MODE (1 << 18) | ||
57 | |||
58 | #define HW_ICOLL_VBASE (*(volatile uint32_t *)(HW_ICOLL_BASE + 0x40)) | ||
59 | #define HW_ICOLL_INTERRUPT(i) (*(volatile uint32_t *)(HW_ICOLL_BASE + 0x120 + (i) * 0x10)) | ||
60 | #define HW_ICOLL_INTERRUPT__PRIORITY_BM 0x3 | ||
61 | #define HW_ICOLL_INTERRUPT__ENABLE 0x4 | ||
62 | #define HW_ICOLL_INTERRUPT__SOFTIRQ 0x8 | ||
63 | #define HW_ICOLL_INTERRUPT__ENFIQ 0x10 | ||
64 | |||
65 | #define INT_SRC_SSP2_ERROR 2 | ||
66 | #define INT_SRC_VDD5V 3 | ||
67 | #define INT_SRC_DAC_DMA 5 | ||
68 | #define INT_SRC_DAC_ERROR 6 | ||
69 | #define INT_SRC_ADC_DMA 7 | ||
70 | #define INT_SRC_ADC_ERROR 8 | ||
71 | #define INT_SRC_USB_CTRL 11 | ||
72 | #define INT_SRC_SSP1_DMA 14 | ||
73 | #define INT_SRC_SSP1_ERROR 15 | ||
74 | #define INT_SRC_GPIO0 16 | ||
75 | #define INT_SRC_GPIO1 17 | ||
76 | #define INT_SRC_GPIO2 18 | ||
77 | #define INT_SRC_GPIO(i) (INT_SRC_GPIO0 + (i)) | ||
78 | #define INT_SRC_SSP2_DMA 20 | ||
79 | #define INT_SRC_I2C_DMA 26 | ||
80 | #define INT_SRC_I2C_ERROR 27 | ||
81 | #define INT_SRC_TIMER(nr) (28 + (nr)) | ||
82 | #define INT_SRC_LRADC_CHx(x) (37 + (x)) | ||
83 | #define INT_SRC_LCDIF_DMA 45 | ||
84 | #define INT_SRC_LCDIF_ERROR 46 | ||
85 | #define INT_SRC_DCP 54 | ||
86 | #define INT_SRC_NR_SOURCES 66 | ||
87 | |||
88 | /** | 47 | /** |
89 | * Absolute maximum CPU speed: 454.74 MHz | 48 | * Absolute maximum CPU speed: 454.74 MHz |
90 | * Intermediate CPU speeds: 392.73 MHz, 360MHz, 261.82 MHz, 64 MHz | 49 | * Intermediate CPU speeds: 392.73 MHz, 360MHz, 261.82 MHz, 64 MHz |
@@ -101,8 +60,6 @@ | |||
101 | #define CPUFREQ_MAX IMX233_CPUFREQ_454_MHz | 60 | #define CPUFREQ_MAX IMX233_CPUFREQ_454_MHz |
102 | #define CPUFREQ_SLEEP IMX233_CPUFREQ_454_MHz | 61 | #define CPUFREQ_SLEEP IMX233_CPUFREQ_454_MHz |
103 | 62 | ||
104 | void imx233_enable_interrupt(int src, bool enable); | ||
105 | void imx233_softirq(int src, bool enable); | ||
106 | void udelay(unsigned us); | 63 | void udelay(unsigned us); |
107 | bool imx233_us_elapsed(uint32_t ref, unsigned us_delay); | 64 | bool imx233_us_elapsed(uint32_t ref, unsigned us_delay); |
108 | void imx233_reset_block(volatile uint32_t *block_reg); | 65 | void imx233_reset_block(volatile uint32_t *block_reg); |