summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/tcc780x/system-target.h7
-rw-r--r--firmware/target/arm/tcc780x/system-tcc780x.c3
-rw-r--r--firmware/target/arm/usb-tcc.c8
3 files changed, 10 insertions, 8 deletions
diff --git a/firmware/target/arm/tcc780x/system-target.h b/firmware/target/arm/tcc780x/system-target.h
index aa3cc7aa4f..0802bb92e0 100644
--- a/firmware/target/arm/tcc780x/system-target.h
+++ b/firmware/target/arm/tcc780x/system-target.h
@@ -34,4 +34,11 @@
34#define inw(a) (*(volatile unsigned short *) (a)) 34#define inw(a) (*(volatile unsigned short *) (a))
35#define outw(a,b) (*(volatile unsigned short *) (b) = (a)) 35#define outw(a,b) (*(volatile unsigned short *) (b) = (a))
36 36
37/* TC32 is configured to 1MHz in clock_init() */
38static inline void udelay(unsigned usecs)
39{
40 unsigned stop = TC32MCNT + usecs;
41 while (TIME_BEFORE(TC32MCNT, stop));
42}
43
37#endif /* SYSTEM_TARGET_H */ 44#endif /* SYSTEM_TARGET_H */
diff --git a/firmware/target/arm/tcc780x/system-tcc780x.c b/firmware/target/arm/tcc780x/system-tcc780x.c
index bf3c64cd7a..77ae3a4cd9 100644
--- a/firmware/target/arm/tcc780x/system-tcc780x.c
+++ b/firmware/target/arm/tcc780x/system-tcc780x.c
@@ -231,6 +231,9 @@ static void clock_init(void)
231 231
232 /* configure PCK_TCT to 2Mhz (clock source 4 (Xin) divided by 6) */ 232 /* configure PCK_TCT to 2Mhz (clock source 4 (Xin) divided by 6) */
233 PCLK_TCT = PCK_EN | (CKSEL_XIN<<24) | 5; 233 PCLK_TCT = PCK_EN | (CKSEL_XIN<<24) | 5;
234
235 /* set TC32 timer to XIN divided by 12 (1MHz) */
236 TC32EN = (1<<24) | 11;
234} 237}
235#endif 238#endif
236 239
diff --git a/firmware/target/arm/usb-tcc.c b/firmware/target/arm/usb-tcc.c
index 6f15e68af8..611e4be195 100644
--- a/firmware/target/arm/usb-tcc.c
+++ b/firmware/target/arm/usb-tcc.c
@@ -133,14 +133,6 @@ void usb_drv_release_endpoint(int ep)
133 restore_irq(flags); 133 restore_irq(flags);
134} 134}
135 135
136static void udelay(unsigned long msecs)
137{
138 /* TODO: implement me other way */
139 msecs*=126;
140 while (msecs--)
141 asm("nop;");
142}
143
144static inline void pullup_on(void) 136static inline void pullup_on(void)
145{ 137{
146 TCC7xx_USB_PHY_CFG = 0x000c; 138 TCC7xx_USB_PHY_CFG = 0x000c;