summaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol/arm_atsam/usb
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/arm_atsam/usb')
-rw-r--r--tmk_core/protocol/arm_atsam/usb/compiler.h4
-rw-r--r--tmk_core/protocol/arm_atsam/usb/udi_cdc.c8
-rw-r--r--tmk_core/protocol/arm_atsam/usb/usb2422.c15
3 files changed, 14 insertions, 13 deletions
diff --git a/tmk_core/protocol/arm_atsam/usb/compiler.h b/tmk_core/protocol/arm_atsam/usb/compiler.h
index 7d8350896..b2ccfd73e 100644
--- a/tmk_core/protocol/arm_atsam/usb/compiler.h
+++ b/tmk_core/protocol/arm_atsam/usb/compiler.h
@@ -134,13 +134,15 @@
* heuristics and inline the function no matter how big it thinks it
* becomes.
*/
+#if !defined(__always_inline)
#if defined(__CC_ARM)
# define __always_inline __forceinline
-#elif (defined __GNUC__ && __GNUC__ <= 6)
+#elif (defined __GNUC__)
# define __always_inline __attribute__((__always_inline__))
#elif (defined __ICCARM__)
# define __always_inline _Pragma("inline=forced")
#endif
+#endif
/**
* \def __no_inline
diff --git a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c
index 5f3c289e8..ffe3526db 100644
--- a/tmk_core/protocol/arm_atsam/usb/udi_cdc.c
+++ b/tmk_core/protocol/arm_atsam/usb/udi_cdc.c
@@ -1227,9 +1227,9 @@ uint32_t cdc_tx_send_time_next;
void CDC_send(void)
{
- while (CLK_get_ms() < cdc_tx_send_time_next);
+ while (timer_read64() < cdc_tx_send_time_next);
udi_cdc_tx_send(0);
- cdc_tx_send_time_next = CLK_get_ms() + CDC_SEND_INTERVAL;
+ cdc_tx_send_time_next = timer_read64() + CDC_SEND_INTERVAL;
}
uint32_t CDC_print(char *printbuf)
@@ -1238,7 +1238,7 @@ uint32_t CDC_print(char *printbuf)
char *buf = printbuf;
char c;
- if (CLK_get_ms() < 5000) return 0;
+ if (timer_read64() < 5000) return 0;
while ((c = *buf++) != 0 && !(count >= MAX_PRINT))
{
@@ -1339,7 +1339,7 @@ void CDC_init(void)
inbuf.count = 0;
inbuf.lastcount = 0;
printbuf[0] = 0;
- cdc_tx_send_time_next = CLK_get_ms() + CDC_SEND_INTERVAL;
+ cdc_tx_send_time_next = timer_read64() + CDC_SEND_INTERVAL;
}
#else //CDC line 62
diff --git a/tmk_core/protocol/arm_atsam/usb/usb2422.c b/tmk_core/protocol/arm_atsam/usb/usb2422.c
index ac19bf4ea..d6e192242 100644
--- a/tmk_core/protocol/arm_atsam/usb/usb2422.c
+++ b/tmk_core/protocol/arm_atsam/usb/usb2422.c
@@ -64,7 +64,7 @@ void USB_write2422_block(void)
i2c0_transmit(USB2422_ADDR, dest, 34, 50000);
SERCOM0->I2CM.CTRLB.bit.CMD = 0x03;
while (SERCOM0->I2CM.SYNCBUSY.bit.SYSOP) { DBGC(DC_USB_WRITE2422_BLOCK_SYNC_SYSOP); }
- CLK_delay_us(100);
+ wait_us(100);
}
DBGC(DC_USB_WRITE2422_BLOCK_COMPLETE);
@@ -135,7 +135,7 @@ void USB2422_init(void)
sr_exp_data.bit.HUB_RESET_N = 1; //reset high
SR_EXP_WriteData();
- CLK_delay_us(100);
+ wait_us(100);
#ifndef MD_BOOTLOADER
@@ -154,10 +154,9 @@ void USB_reset(void)
//pulse reset for at least 1 usec
sr_exp_data.bit.HUB_RESET_N = 0; //reset low
SR_EXP_WriteData();
- CLK_delay_us(1);
+ wait_us(2);
sr_exp_data.bit.HUB_RESET_N = 1; //reset high to run
SR_EXP_WriteData();
- CLK_delay_us(1);
DBGC(DC_USB_RESET_COMPLETE);
}
@@ -247,7 +246,7 @@ void USB_set_host_by_voltage(void)
SR_EXP_WriteData();
- CLK_delay_ms(250);
+ wait_ms(250);
while ((v_5v = adc_get(ADC_5V)) < ADC_5V_START_LEVEL) { DBGC(DC_USB_SET_HOST_5V_LOW_WAITING); }
@@ -313,11 +312,11 @@ uint8_t USB2422_Port_Detect_Init(void)
USB_set_host_by_voltage();
- port_detect_retry_ms = CLK_get_ms() + PORT_DETECT_RETRY_INTERVAL;
+ port_detect_retry_ms = timer_read64() + PORT_DETECT_RETRY_INTERVAL;
while (!USB_active())
{
- tmod = CLK_get_ms() % PORT_DETECT_RETRY_INTERVAL;
+ tmod = timer_read64() % PORT_DETECT_RETRY_INTERVAL;
if (v_con_1 > v_con_2) //Values updated from USB_set_host_by_voltage();
{
@@ -333,7 +332,7 @@ uint8_t USB2422_Port_Detect_Init(void)
else { DBG_LED_OFF; }
}
- if (CLK_get_ms() > port_detect_retry_ms)
+ if (timer_read64() > port_detect_retry_ms)
{
DBGC(DC_PORT_DETECT_INIT_FAILED);
return 0;