summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/usb-drv-as3525.c
diff options
context:
space:
mode:
authorTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-19 02:34:56 +0000
committerTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-19 02:34:56 +0000
commit1510777266752a886022c93c44dc435960f1d167 (patch)
tree1a4130f9b75524ccd47b1182568170376cf92d5f /firmware/target/arm/as3525/usb-drv-as3525.c
parent06fa365fef61ad00712dc17270e9b9c698e3fc5e (diff)
downloadrockbox-1510777266752a886022c93c44dc435960f1d167.tar.gz
rockbox-1510777266752a886022c93c44dc435960f1d167.zip
Add mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26948 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/usb-drv-as3525.c')
-rw-r--r--firmware/target/arm/as3525/usb-drv-as3525.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525.c b/firmware/target/arm/as3525/usb-drv-as3525.c
index 60c8cd7027..2f6fa20af8 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525.c
@@ -77,12 +77,6 @@ void usb_attach(void)
77 usb_enable(true); 77 usb_enable(true);
78} 78}
79 79
80/* delay is in milliseconds */
81static inline void usb_delay(int delay)
82{
83 udelay(1000 * delay);
84}
85
86static void usb_phy_on(void) 80static void usb_phy_on(void)
87{ 81{
88 /* PHY clock */ 82 /* PHY clock */
@@ -92,14 +86,14 @@ static void usb_phy_on(void)
92 86
93 /* UVDD on */ 87 /* UVDD on */
94 ascodec_write(AS3515_USB_UTIL, ascodec_read(AS3515_USB_UTIL) | (1<<4)); 88 ascodec_write(AS3515_USB_UTIL, ascodec_read(AS3515_USB_UTIL) | (1<<4));
95 usb_delay(100); 89 mdelay(100);
96 90
97 /* reset */ 91 /* reset */
98 CCU_SRC = CCU_SRC_USB_AHB_EN|CCU_SRC_USB_PHY_EN; 92 CCU_SRC = CCU_SRC_USB_AHB_EN|CCU_SRC_USB_PHY_EN;
99 CCU_SRL = CCU_SRL_MAGIC_NUMBER; 93 CCU_SRL = CCU_SRL_MAGIC_NUMBER;
100 usb_delay(1); 94 mdelay(1);
101 CCU_SRC = CCU_SRC_USB_AHB_EN; 95 CCU_SRC = CCU_SRC_USB_AHB_EN;
102 usb_delay(1); 96 mdelay(1);
103 CCU_SRC = CCU_SRL = 0; 97 CCU_SRC = CCU_SRL = 0;
104 98
105 USB_GPIO_CSR = USB_GPIO_TX_ENABLE_N 99 USB_GPIO_CSR = USB_GPIO_TX_ENABLE_N
@@ -113,9 +107,9 @@ static void usb_phy_suspend(void)
113 USB_GPIO_CSR |= USB_GPIO_ASESSVLD_EXT | 107 USB_GPIO_CSR |= USB_GPIO_ASESSVLD_EXT |
114 USB_GPIO_BSESSVLD_EXT | 108 USB_GPIO_BSESSVLD_EXT |
115 USB_GPIO_VBUS_VLD_EXT; 109 USB_GPIO_VBUS_VLD_EXT;
116 usb_delay(3); 110 mdelay(3);
117 USB_GPIO_CSR |= USB_GPIO_VBUS_VLD_EXT_SEL; 111 USB_GPIO_CSR |= USB_GPIO_VBUS_VLD_EXT_SEL;
118 usb_delay(10); 112 mdelay(10);
119} 113}
120 114
121static void usb_phy_resume(void) 115static void usb_phy_resume(void)
@@ -123,9 +117,9 @@ static void usb_phy_resume(void)
123 USB_GPIO_CSR &= ~(USB_GPIO_ASESSVLD_EXT | 117 USB_GPIO_CSR &= ~(USB_GPIO_ASESSVLD_EXT |
124 USB_GPIO_BSESSVLD_EXT | 118 USB_GPIO_BSESSVLD_EXT |
125 USB_GPIO_VBUS_VLD_EXT); 119 USB_GPIO_VBUS_VLD_EXT);
126 usb_delay(3); 120 mdelay(3);
127 USB_GPIO_CSR &= ~USB_GPIO_VBUS_VLD_EXT_SEL; 121 USB_GPIO_CSR &= ~USB_GPIO_VBUS_VLD_EXT_SEL;
128 usb_delay(10); 122 mdelay(10);
129} 123}
130 124
131static void setup_desc_init(struct usb_dev_setup_buf *desc) 125static void setup_desc_init(struct usb_dev_setup_buf *desc)
@@ -227,7 +221,7 @@ void usb_drv_init(void)
227 /* reset AHB */ 221 /* reset AHB */
228 CCU_SRC = CCU_SRC_USB_AHB_EN; 222 CCU_SRC = CCU_SRC_USB_AHB_EN;
229 CCU_SRL = CCU_SRL_MAGIC_NUMBER; 223 CCU_SRL = CCU_SRL_MAGIC_NUMBER;
230 usb_delay(1); 224 mdelay(1);
231 CCU_SRC = CCU_SRL = 0; 225 CCU_SRC = CCU_SRL = 0;
232 226
233 USB_GPIO_CSR = USB_GPIO_TX_ENABLE_N 227 USB_GPIO_CSR = USB_GPIO_TX_ENABLE_N