diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2013-06-16 17:56:10 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2013-06-16 18:21:48 +0200 |
commit | 96b1d02b057164d4e521d7e9aa50ee5e1223008a (patch) | |
tree | 24783034c863c27e42dae5638b24239a804dd5cc /firmware | |
parent | a759242b559cab9c2cd02bf0888945edfd146ac0 (diff) | |
download | rockbox-96b1d02b057164d4e521d7e9aa50ee5e1223008a.tar.gz rockbox-96b1d02b057164d4e521d7e9aa50ee5e1223008a.zip |
imx233: rewrite digctl using new register headers
Change-Id: I910a09e07b9f5a82bb6cb150739fcebc942cb7c1
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/imx233/system-imx233.c | 22 | ||||
-rw-r--r-- | firmware/target/arm/imx233/system-target.h | 29 |
2 files changed, 12 insertions, 39 deletions
diff --git a/firmware/target/arm/imx233/system-imx233.c b/firmware/target/arm/imx233/system-imx233.c index 3bf6ebb0f7..8d705264bd 100644 --- a/firmware/target/arm/imx233/system-imx233.c +++ b/firmware/target/arm/imx233/system-imx233.c | |||
@@ -167,12 +167,8 @@ void udelay(unsigned us) | |||
167 | 167 | ||
168 | void imx233_digctl_set_arm_cache_timings(unsigned timings) | 168 | void imx233_digctl_set_arm_cache_timings(unsigned timings) |
169 | { | 169 | { |
170 | HW_DIGCTL_ARMCACHE = | 170 | HW_DIGCTL_ARMCACHE = BF_OR5(DIGCTL_ARMCACHE, ITAG_SS(timings), |
171 | timings << HW_DIGCTL_ARMCACHE__ITAG_SS_BP | | 171 | DTAG_SS(timings), CACHE_SS(timings), DRTY_SS(timings), VALID_SS(timings)); |
172 | timings << HW_DIGCTL_ARMCACHE__DTAG_SS_BP | | ||
173 | timings << HW_DIGCTL_ARMCACHE__CACHE_SS_BP | | ||
174 | timings << HW_DIGCTL_ARMCACHE__DRTY_SS_BP | | ||
175 | timings << HW_DIGCTL_ARMCACHE__VALID_SS_BP; | ||
176 | } | 172 | } |
177 | 173 | ||
178 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 174 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
@@ -264,21 +260,23 @@ void set_cpu_frequency(long frequency) | |||
264 | void imx233_enable_usb_controller(bool enable) | 260 | void imx233_enable_usb_controller(bool enable) |
265 | { | 261 | { |
266 | if(enable) | 262 | if(enable) |
267 | __REG_CLR(HW_DIGCTL_CTRL) = HW_DIGCTL_CTRL__USB_CLKGATE; | 263 | BF_CLR(DIGCTL_CTRL, USB_CLKGATE); |
268 | else | 264 | else |
269 | __REG_SET(HW_DIGCTL_CTRL) = HW_DIGCTL_CTRL__USB_CLKGATE; | 265 | BF_SET(DIGCTL_CTRL, USB_CLKGATE); |
270 | } | 266 | } |
271 | 267 | ||
272 | void imx233_enable_usb_phy(bool enable) | 268 | void imx233_enable_usb_phy(bool enable) |
273 | { | 269 | { |
274 | if(enable) | 270 | if(enable) |
275 | { | 271 | { |
276 | __REG_CLR(HW_USBPHY_CTRL) = __BLOCK_CLKGATE | __BLOCK_SFTRST; | 272 | BF_CLR(USBPHY_CTRL, SFTRST); |
277 | __REG_CLR(HW_USBPHY_PWD) = HW_USBPHY_PWD__ALL; | 273 | BF_CLR(USBPHY_CTRL, CLKGATE); |
274 | HW_USBPHY_PWD_CLR = 0xffffffff; | ||
278 | } | 275 | } |
279 | else | 276 | else |
280 | { | 277 | { |
281 | __REG_SET(HW_USBPHY_PWD) = HW_USBPHY_PWD__ALL; | 278 | HW_USBPHY_PWD_SET = 0xffffffff; |
282 | __REG_SET(HW_USBPHY_CTRL) = __BLOCK_CLKGATE | __BLOCK_SFTRST; | 279 | BF_SET(USBPHY_CTRL, SFTRST); |
280 | BF_SET(USBPHY_CTRL, CLKGATE); | ||
283 | } | 281 | } |
284 | } | 282 | } |
diff --git a/firmware/target/arm/imx233/system-target.h b/firmware/target/arm/imx233/system-target.h index c6073a9ae3..407369af7e 100644 --- a/firmware/target/arm/imx233/system-target.h +++ b/firmware/target/arm/imx233/system-target.h | |||
@@ -28,33 +28,8 @@ | |||
28 | #include "icoll-imx233.h" | 28 | #include "icoll-imx233.h" |
29 | #include "clock-target.h" /* CPUFREQ_* are defined here */ | 29 | #include "clock-target.h" /* CPUFREQ_* are defined here */ |
30 | 30 | ||
31 | /* Digital control */ | 31 | #include "regs/regs-digctl.h" |
32 | #define HW_DIGCTL_BASE 0x8001C000 | 32 | #include "regs/regs-usbphy.h" |
33 | #define HW_DIGCTL_CTRL (*(volatile uint32_t *)(HW_DIGCTL_BASE + 0)) | ||
34 | #define HW_DIGCTL_CTRL__USB_CLKGATE (1 << 2) | ||
35 | |||
36 | #define HW_DIGCTL_HCLKCOUNT (*(volatile uint32_t *)(HW_DIGCTL_BASE + 0x20)) | ||
37 | |||
38 | #define HW_DIGCTL_MICROSECONDS (*(volatile uint32_t *)(HW_DIGCTL_BASE + 0xC0)) | ||
39 | |||
40 | #define HW_DIGCTL_ARMCACHE (*(volatile uint32_t *)(HW_DIGCTL_BASE + 0x2b0)) | ||
41 | #define HW_DIGCTL_ARMCACHE__ITAG_SS_BP 0 | ||
42 | #define HW_DIGCTL_ARMCACHE__ITAG_SS_BM (3 << 0) | ||
43 | #define HW_DIGCTL_ARMCACHE__DTAG_SS_BP 4 | ||
44 | #define HW_DIGCTL_ARMCACHE__DTAG_SS_BM (3 << 4) | ||
45 | #define HW_DIGCTL_ARMCACHE__CACHE_SS_BP 8 | ||
46 | #define HW_DIGCTL_ARMCACHE__CACHE_SS_BM (3 << 8) | ||
47 | #define HW_DIGCTL_ARMCACHE__DRTY_SS_BP 12 | ||
48 | #define HW_DIGCTL_ARMCACHE__DRTY_SS_BM (3 << 12) | ||
49 | #define HW_DIGCTL_ARMCACHE__VALID_SS_BP 16 | ||
50 | #define HW_DIGCTL_ARMCACHE__VALID_SS_BM (3 << 16) | ||
51 | |||
52 | /* USB Phy */ | ||
53 | #define HW_USBPHY_BASE 0x8007C000 | ||
54 | #define HW_USBPHY_PWD (*(volatile uint32_t *)(HW_USBPHY_BASE + 0)) | ||
55 | #define HW_USBPHY_PWD__ALL (7 << 10 | 0xf << 17) | ||
56 | |||
57 | #define HW_USBPHY_CTRL (*(volatile uint32_t *)(HW_USBPHY_BASE + 0x30)) | ||
58 | 33 | ||
59 | /** | 34 | /** |
60 | * Absolute maximum CPU speed: 454.74 MHz | 35 | * Absolute maximum CPU speed: 454.74 MHz |