Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / src / lpc / ao_usb_lpc.c
index 5c13eb4b40f9ceda4ea620f62606163842ea5c68..594114b62ed856a8b4babc8f9ccf47f3597d9624 100644 (file)
@@ -477,7 +477,7 @@ ao_usb_ep0_in_start(uint16_t max)
        ao_usb_ep0_flush();
 }
 
-static struct ao_usb_line_coding ao_usb_line_coding = {115200, 0, 0, 8};
+struct ao_usb_line_coding ao_usb_line_coding = {115200, 0, 0, 8};
 
 /* Walk through the list of descriptors and find a match
  */
@@ -857,7 +857,7 @@ ao_usb_disable(void)
        ao_arch_block_interrupts();
 
 #if HAS_USB_PULLUP
-       ao_gpio_set(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, AO_USB_PULLUP, 0);
+       ao_gpio_set(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, 0);
 #endif
        /* Disable interrupts */
        lpc_usb.inten = 0;
@@ -975,7 +975,7 @@ ao_usb_enable(void)
        ao_usb_set_ep0();
 
 #if HAS_USB_PULLUP
-       ao_gpio_set(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, AO_USB_PULLUP, 1);
+       ao_gpio_set(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, 1);
 #endif
 }
 
@@ -1003,7 +1003,7 @@ ao_usb_irq(void)
                control_count, out_count, in_count, int_count, reset_count);
 }
 
-__code struct ao_cmds ao_usb_cmds[] = {
+const struct ao_cmds ao_usb_cmds[] = {
        { ao_usb_irq, "I\0Show USB interrupt counts" },
        { 0, NULL }
 };
@@ -1013,7 +1013,11 @@ void
 ao_usb_init(void)
 {
 #if HAS_USB_PULLUP
-       ao_enable_output(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, AO_USB_PULLUP, 0);
+       int     i;
+       ao_enable_output(AO_USB_PULLUP_PORT, AO_USB_PULLUP_PIN, 0);
+
+       for (i = 0; i < 40000; i++)
+               ao_arch_nop();
 #endif
        ao_usb_enable();