Merged in slorquet/nuttx/pr_fixes (pull request #95)

Pr_fixes
This commit is contained in:
Gregory Nutt 2016-07-11 17:07:40 -06:00
commit f816e7a69b
7 changed files with 196 additions and 180 deletions

View File

@ -57,7 +57,7 @@
* Private Functions * Private Functions
****************************************************************************/ ****************************************************************************/
static struct stm32l4_freerun_s *g_freerun; FAR static struct stm32l4_freerun_s *g_freerun;
/**************************************************************************** /****************************************************************************
* Private Functions * Private Functions
@ -81,9 +81,9 @@ static struct stm32l4_freerun_s *g_freerun;
* *
****************************************************************************/ ****************************************************************************/
static int stm32l4_freerun_handler(int irq, void *context) static int stm32l4_freerun_handler(int irq, FAR void *context)
{ {
struct stm32l4_freerun_s *freerun = g_freerun; FAR struct stm32l4_freerun_s *freerun = g_freerun;
DEBUGASSERT(freerun != NULL && freerun->overflow < UINT32_MAX); DEBUGASSERT(freerun != NULL && freerun->overflow < UINT32_MAX);
freerun->overflow++; freerun->overflow++;
@ -115,8 +115,8 @@ static int stm32l4_freerun_handler(int irq, void *context)
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_freerun_initialize(struct stm32l4_freerun_s *freerun, int chan, int stm32l4_freerun_initialize(FAR struct stm32l4_freerun_s *freerun, int chan,
uint16_t resolution) uint16_t resolution)
{ {
uint32_t frequency; uint32_t frequency;
@ -183,8 +183,8 @@ int stm32l4_freerun_initialize(struct stm32l4_freerun_s *freerun, int chan,
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_freerun_counter(struct stm32l4_freerun_s *freerun, int stm32l4_freerun_counter(FAR struct stm32l4_freerun_s *freerun,
struct timespec *ts) FAR struct timespec *ts)
{ {
uint64_t usec; uint64_t usec;
uint32_t counter; uint32_t counter;
@ -275,7 +275,7 @@ int stm32l4_freerun_counter(struct stm32l4_freerun_s *freerun,
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_freerun_uninitialize(struct stm32l4_freerun_s *freerun) int stm32l4_freerun_uninitialize(FAR struct stm32l4_freerun_s *freerun)
{ {
DEBUGASSERT(freerun && freerun->tch); DEBUGASSERT(freerun && freerun->tch);

View File

@ -83,11 +83,11 @@ static struct stm32l4_oneshot_s *g_oneshot;
* *
****************************************************************************/ ****************************************************************************/
static int stm32l4_oneshot_handler(int irq, void *context) static int stm32l4_oneshot_handler(int irq, FAR void *context)
{ {
struct stm32l4_oneshot_s *oneshot = g_oneshot; FAR struct stm32l4_oneshot_s *oneshot = g_oneshot;
oneshot_handler_t oneshot_handler; oneshot_handler_t oneshot_handler;
void *oneshot_arg; FAR void *oneshot_arg;
tmrinfo("Expired...\n"); tmrinfo("Expired...\n");
DEBUGASSERT(oneshot != NULL && oneshot->handler); DEBUGASSERT(oneshot != NULL && oneshot->handler);
@ -138,8 +138,8 @@ static int stm32l4_oneshot_handler(int irq, void *context)
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_oneshot_initialize(struct stm32l4_oneshot_s *oneshot, int chan, int stm32l4_oneshot_initialize(FAR struct stm32l4_oneshot_s *oneshot, int chan,
uint16_t resolution) uint16_t resolution)
{ {
uint32_t frequency; uint32_t frequency;
@ -181,7 +181,8 @@ int stm32l4_oneshot_initialize(struct stm32l4_oneshot_s *oneshot, int chan,
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_oneshot_max_delay(struct stm32l4_oneshot_s *oneshot, uint64_t *usec) int stm32l4_oneshot_max_delay(FAR struct stm32l4_oneshot_s *oneshot,
FAR uint64_t *usec)
{ {
DEBUGASSERT(oneshot != NULL && usec != NULL); DEBUGASSERT(oneshot != NULL && usec != NULL);
@ -210,9 +211,9 @@ int stm32l4_oneshot_max_delay(struct stm32l4_oneshot_s *oneshot, uint64_t *usec)
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_oneshot_start(struct stm32l4_oneshot_s *oneshot, int stm32l4_oneshot_start(FAR struct stm32l4_oneshot_s *oneshot,
oneshot_handler_t handler, void *arg, oneshot_handler_t handler, FAR void *arg,
const struct timespec *ts) FAR const struct timespec *ts)
{ {
uint64_t usec; uint64_t usec;
uint64_t period; uint64_t period;
@ -307,8 +308,8 @@ int stm32l4_oneshot_start(struct stm32l4_oneshot_s *oneshot,
* *
****************************************************************************/ ****************************************************************************/
int stm32l4_oneshot_cancel(struct stm32l4_oneshot_s *oneshot, int stm32l4_oneshot_cancel(FAR struct stm32l4_oneshot_s *oneshot,
struct timespec *ts) FAR struct timespec *ts)
{ {
irqstate_t flags; irqstate_t flags;
uint64_t usec; uint64_t usec;

View File

@ -295,7 +295,7 @@ static void stm32l4_putreg(uint32_t addr, uint32_t value);
#endif #endif
static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits, static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits,
uint32_t setbits); uint32_t setbits);
#ifdef CONFIG_STM32L4_USBHOST_PKTDUMP #ifdef CONFIG_STM32L4_USBHOST_PKTDUMP
# define stm32l4_pktdump(m,b,n) lib_dumpbuffer(m,b,n) # define stm32l4_pktdump(m,b,n) lib_dumpbuffer(m,b,n)
@ -305,12 +305,12 @@ static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits,
/* Semaphores ******************************************************************/ /* Semaphores ******************************************************************/
static void stm32l4_takesem(sem_t *sem); static void stm32l4_takesem(FAR sem_t *sem);
#define stm32l4_givesem(s) sem_post(s); #define stm32l4_givesem(s) sem_post(s);
/* Byte stream access helper functions *****************************************/ /* Byte stream access helper functions *****************************************/
static inline uint16_t stm32l4_getle16(const uint8_t *val); static inline uint16_t stm32l4_getle16(FAR const uint8_t *val);
/* Channel management **********************************************************/ /* Channel management **********************************************************/
@ -319,27 +319,27 @@ static inline void stm32l4_chan_free(FAR struct stm32l4_usbhost_s *priv, int chi
static inline void stm32l4_chan_freeall(FAR struct stm32l4_usbhost_s *priv); static inline void stm32l4_chan_freeall(FAR struct stm32l4_usbhost_s *priv);
static void stm32l4_chan_configure(FAR struct stm32l4_usbhost_s *priv, int chidx); static void stm32l4_chan_configure(FAR struct stm32l4_usbhost_s *priv, int chidx);
static void stm32l4_chan_halt(FAR struct stm32l4_usbhost_s *priv, int chidx, static void stm32l4_chan_halt(FAR struct stm32l4_usbhost_s *priv, int chidx,
enum stm32l4_chreason_e chreason); enum stm32l4_chreason_e chreason);
static int stm32l4_chan_waitsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_waitsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan); FAR struct stm32l4_chan_s *chan);
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_chan_asynchsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_asynchsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan, FAR struct stm32l4_chan_s *chan,
usbhost_asynch_t callback, FAR void *arg); usbhost_asynch_t callback, FAR void *arg);
#endif #endif
static int stm32l4_chan_wait(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_wait(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan); FAR struct stm32l4_chan_s *chan);
static void stm32l4_chan_wakeup(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_chan_wakeup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan); FAR struct stm32l4_chan_s *chan);
static int stm32l4_ctrlchan_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrlchan_alloc(FAR struct stm32l4_usbhost_s *priv,
uint8_t epno, uint8_t funcaddr, uint8_t speed, uint8_t epno, uint8_t funcaddr, uint8_t speed,
FAR struct stm32l4_ctrlinfo_s *ctrlep); FAR struct stm32l4_ctrlinfo_s *ctrlep);
static int stm32l4_ctrlep_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrlep_alloc(FAR struct stm32l4_usbhost_s *priv,
FAR const struct usbhost_epdesc_s *epdesc, FAR const struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep); FAR usbhost_ep_t *ep);
static int stm32l4_xfrep_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_xfrep_alloc(FAR struct stm32l4_usbhost_s *priv,
FAR const struct usbhost_epdesc_s *epdesc, FAR const struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep); FAR usbhost_ep_t *ep);
/* Control/data transfer logic *************************************************/ /* Control/data transfer logic *************************************************/
@ -348,44 +348,44 @@ static void stm32l4_transfer_start(FAR struct stm32l4_usbhost_s *priv, int chidx
static inline uint16_t stm32l4_getframe(void); static inline uint16_t stm32l4_getframe(void);
#endif #endif
static int stm32l4_ctrl_sendsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_sendsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR const struct usb_ctrlreq_s *req); FAR const struct usb_ctrlreq_s *req);
static int stm32l4_ctrl_senddata(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_senddata(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR uint8_t *buffer, unsigned int buflen); FAR uint8_t *buffer, unsigned int buflen);
static int stm32l4_ctrl_recvdata(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_recvdata(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR uint8_t *buffer, unsigned int buflen); FAR uint8_t *buffer, unsigned int buflen);
static int stm32l4_in_setup(FAR struct stm32l4_usbhost_s *priv, int chidx); static int stm32l4_in_setup(FAR struct stm32l4_usbhost_s *priv, int chidx);
static ssize_t stm32l4_in_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx, static ssize_t stm32l4_in_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen); FAR uint8_t *buffer, size_t buflen);
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static void stm32l4_in_next(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_in_next(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan); FAR struct stm32l4_chan_s *chan);
static int stm32l4_in_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx, static int stm32l4_in_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg); usbhost_asynch_t callback, FAR void *arg);
#endif #endif
static int stm32l4_out_setup(FAR struct stm32l4_usbhost_s *priv, int chidx); static int stm32l4_out_setup(FAR struct stm32l4_usbhost_s *priv, int chidx);
static ssize_t stm32l4_out_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx, static ssize_t stm32l4_out_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen); FAR uint8_t *buffer, size_t buflen);
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static void stm32l4_out_next(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_out_next(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan); FAR struct stm32l4_chan_s *chan);
static int stm32l4_out_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx, static int stm32l4_out_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg); usbhost_asynch_t callback, FAR void *arg);
#endif #endif
/* Interrupt handling **********************************************************/ /* Interrupt handling **********************************************************/
/* Lower level interrupt handlers */ /* Lower level interrupt handlers */
static void stm32l4_gint_wrpacket(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_gint_wrpacket(FAR struct stm32l4_usbhost_s *priv,
FAR uint8_t *buffer, int chidx, int buflen); FAR uint8_t *buffer, int chidx, int buflen);
static inline void stm32l4_gint_hcinisr(FAR struct stm32l4_usbhost_s *priv, static inline void stm32l4_gint_hcinisr(FAR struct stm32l4_usbhost_s *priv,
int chidx); int chidx);
static inline void stm32l4_gint_hcoutisr(FAR struct stm32l4_usbhost_s *priv, static inline void stm32l4_gint_hcoutisr(FAR struct stm32l4_usbhost_s *priv,
int chidx); int chidx);
static void stm32l4_gint_connected(FAR struct stm32l4_usbhost_s *priv); static void stm32l4_gint_connected(FAR struct stm32l4_usbhost_s *priv);
static void stm32l4_gint_disconnected(FAR struct stm32l4_usbhost_s *priv); static void stm32l4_gint_disconnected(FAR struct stm32l4_usbhost_s *priv);
@ -416,47 +416,47 @@ static void stm32l4_txfe_enable(FAR struct stm32l4_usbhost_s *priv, int chidx);
/* USB host controller operations **********************************************/ /* USB host controller operations **********************************************/
static int stm32l4_wait(FAR struct usbhost_connection_s *conn, static int stm32l4_wait(FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s **hport); FAR struct usbhost_hubport_s **hport);
static int stm32l4_rh_enumerate(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_rh_enumerate(FAR struct stm32l4_usbhost_s *priv,
FAR struct usbhost_connection_s *conn, FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s *hport); FAR struct usbhost_hubport_s *hport);
static int stm32l4_enumerate(FAR struct usbhost_connection_s *conn, static int stm32l4_enumerate(FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s *hport); FAR struct usbhost_hubport_s *hport);
static int stm32l4_ep0configure(FAR struct usbhost_driver_s *drvr, static int stm32l4_ep0configure(FAR struct usbhost_driver_s *drvr,
usbhost_ep_t ep0, uint8_t funcaddr, uint8_t speed, usbhost_ep_t ep0, uint8_t funcaddr, uint8_t speed,
uint16_t maxpacketsize); uint16_t maxpacketsize);
static int stm32l4_epalloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_epalloc(FAR struct usbhost_driver_s *drvr,
FAR const FAR struct usbhost_epdesc_s *epdesc, FAR const FAR struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep); FAR usbhost_ep_t *ep);
static int stm32l4_epfree(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep); static int stm32l4_epfree(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep);
static int stm32l4_alloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_alloc(FAR struct usbhost_driver_s *drvr,
FAR uint8_t **buffer, FAR size_t *maxlen); FAR uint8_t **buffer, FAR size_t *maxlen);
static int stm32l4_free(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer); static int stm32l4_free(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer);
static int stm32l4_ioalloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_ioalloc(FAR struct usbhost_driver_s *drvr,
FAR uint8_t **buffer, size_t buflen); FAR uint8_t **buffer, size_t buflen);
static int stm32l4_iofree(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer); static int stm32l4_iofree(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer);
static int stm32l4_ctrlin(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0, static int stm32l4_ctrlin(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
const struct usb_ctrlreq_s *req, FAR const struct usb_ctrlreq_s *req,
FAR uint8_t *buffer); FAR uint8_t *buffer);
static int stm32l4_ctrlout(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0, static int stm32l4_ctrlout(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
FAR const struct usb_ctrlreq_s *req, FAR const struct usb_ctrlreq_s *req,
FAR const uint8_t *buffer); FAR const uint8_t *buffer);
static ssize_t stm32l4_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep, static ssize_t stm32l4_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
FAR uint8_t *buffer, size_t buflen); FAR uint8_t *buffer, size_t buflen);
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_asynch(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep, static int stm32l4_asynch(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg); usbhost_asynch_t callback, FAR void *arg);
#endif #endif
static int stm32l4_cancel(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep); static int stm32l4_cancel(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep);
#ifdef CONFIG_USBHOST_HUB #ifdef CONFIG_USBHOST_HUB
static int stm32l4_connect(FAR struct usbhost_driver_s *drvr, static int stm32l4_connect(FAR struct usbhost_driver_s *drvr,
FAR struct usbhost_hubport_s *hport, FAR struct usbhost_hubport_s *hport,
bool connected); bool connected);
#endif #endif
static void stm32l4_disconnect(FAR struct usbhost_driver_s *drvr, static void stm32l4_disconnect(FAR struct usbhost_driver_s *drvr,
FAR struct usbhost_hubport_s *hport); FAR struct usbhost_hubport_s *hport);
/* Initialization **************************************************************/ /* Initialization **************************************************************/
@ -626,7 +626,8 @@ static void stm32l4_putreg(uint32_t addr, uint32_t val)
* *
****************************************************************************/ ****************************************************************************/
static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits, uint32_t setbits) static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits,
uint32_t setbits)
{ {
stm32l4_putreg(addr, (((stm32l4_getreg(addr)) & ~clrbits) | setbits)); stm32l4_putreg(addr, (((stm32l4_getreg(addr)) & ~clrbits) | setbits));
} }
@ -640,7 +641,7 @@ static inline void stm32l4_modifyreg(uint32_t addr, uint32_t clrbits, uint32_t s
* *
****************************************************************************/ ****************************************************************************/
static void stm32l4_takesem(sem_t *sem) static void stm32l4_takesem(FAR sem_t *sem)
{ {
/* Take the semaphore (perhaps waiting) */ /* Take the semaphore (perhaps waiting) */
@ -662,7 +663,7 @@ static void stm32l4_takesem(sem_t *sem)
* *
****************************************************************************/ ****************************************************************************/
static inline uint16_t stm32l4_getle16(const uint8_t *val) static inline uint16_t stm32l4_getle16(FAR const uint8_t *val)
{ {
return (uint16_t)val[1] << 8 | (uint16_t)val[0]; return (uint16_t)val[1] << 8 | (uint16_t)val[0];
} }
@ -909,7 +910,7 @@ static void stm32l4_chan_configure(FAR struct stm32l4_usbhost_s *priv, int chidx
****************************************************************************/ ****************************************************************************/
static void stm32l4_chan_halt(FAR struct stm32l4_usbhost_s *priv, int chidx, static void stm32l4_chan_halt(FAR struct stm32l4_usbhost_s *priv, int chidx,
enum stm32l4_chreason_e chreason) enum stm32l4_chreason_e chreason)
{ {
uint32_t hcchar; uint32_t hcchar;
uint32_t intmsk; uint32_t intmsk;
@ -999,7 +1000,7 @@ static void stm32l4_chan_halt(FAR struct stm32l4_usbhost_s *priv, int chidx,
****************************************************************************/ ****************************************************************************/
static int stm32l4_chan_waitsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_waitsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan) FAR struct stm32l4_chan_s *chan)
{ {
irqstate_t flags = enter_critical_section(); irqstate_t flags = enter_critical_section();
int ret = -ENODEV; int ret = -ENODEV;
@ -1040,8 +1041,8 @@ static int stm32l4_chan_waitsetup(FAR struct stm32l4_usbhost_s *priv,
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_chan_asynchsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_asynchsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan, FAR struct stm32l4_chan_s *chan,
usbhost_asynch_t callback, FAR void *arg) usbhost_asynch_t callback, FAR void *arg)
{ {
irqstate_t flags = enter_critical_section(); irqstate_t flags = enter_critical_section();
int ret = -ENODEV; int ret = -ENODEV;
@ -1077,7 +1078,7 @@ static int stm32l4_chan_asynchsetup(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static int stm32l4_chan_wait(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_chan_wait(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan) FAR struct stm32l4_chan_s *chan)
{ {
irqstate_t flags; irqstate_t flags;
int ret; int ret;
@ -1134,7 +1135,7 @@ static int stm32l4_chan_wait(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static void stm32l4_chan_wakeup(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_chan_wakeup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan) FAR struct stm32l4_chan_s *chan)
{ {
/* Is the transfer complete? */ /* Is the transfer complete? */
@ -1190,8 +1191,8 @@ static void stm32l4_chan_wakeup(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrlchan_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrlchan_alloc(FAR struct stm32l4_usbhost_s *priv,
uint8_t epno, uint8_t funcaddr, uint8_t speed, uint8_t epno, uint8_t funcaddr, uint8_t speed,
FAR struct stm32l4_ctrlinfo_s *ctrlep) FAR struct stm32l4_ctrlinfo_s *ctrlep)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
int inndx; int inndx;
@ -1266,8 +1267,8 @@ static int stm32l4_ctrlchan_alloc(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrlep_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrlep_alloc(FAR struct stm32l4_usbhost_s *priv,
FAR const struct usbhost_epdesc_s *epdesc, FAR const struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep) FAR usbhost_ep_t *ep)
{ {
FAR struct usbhost_hubport_s *hport; FAR struct usbhost_hubport_s *hport;
FAR struct stm32l4_ctrlinfo_s *ctrlep; FAR struct stm32l4_ctrlinfo_s *ctrlep;
@ -1328,8 +1329,8 @@ static int stm32l4_ctrlep_alloc(FAR struct stm32l4_usbhost_s *priv,
************************************************************************************/ ************************************************************************************/
static int stm32l4_xfrep_alloc(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_xfrep_alloc(FAR struct stm32l4_usbhost_s *priv,
FAR const struct usbhost_epdesc_s *epdesc, FAR const struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep) FAR usbhost_ep_t *ep)
{ {
struct usbhost_hubport_s *hport; struct usbhost_hubport_s *hport;
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
@ -1385,7 +1386,8 @@ static int stm32l4_xfrep_alloc(FAR struct stm32l4_usbhost_s *priv,
* *
****************************************************************************/ ****************************************************************************/
static void stm32l4_transfer_start(FAR struct stm32l4_usbhost_s *priv, int chidx) static void stm32l4_transfer_start(FAR struct stm32l4_usbhost_s *priv,
int chidx)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
uint32_t regval; uint32_t regval;
@ -1593,8 +1595,8 @@ static inline uint16_t stm32l4_getframe(void)
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrl_sendsetup(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_sendsetup(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR const struct usb_ctrlreq_s *req) FAR const struct usb_ctrlreq_s *req)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
systime_t start; systime_t start;
@ -1670,8 +1672,8 @@ static int stm32l4_ctrl_sendsetup(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrl_senddata(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_senddata(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR uint8_t *buffer, unsigned int buflen) FAR uint8_t *buffer, unsigned int buflen)
{ {
FAR struct stm32l4_chan_s *chan = &priv->chan[ep0->outndx]; FAR struct stm32l4_chan_s *chan = &priv->chan[ep0->outndx];
int ret; int ret;
@ -1723,8 +1725,8 @@ static int stm32l4_ctrl_senddata(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrl_recvdata(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_ctrl_recvdata(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_ctrlinfo_s *ep0, FAR struct stm32l4_ctrlinfo_s *ep0,
FAR uint8_t *buffer, unsigned int buflen) FAR uint8_t *buffer, unsigned int buflen)
{ {
FAR struct stm32l4_chan_s *chan = &priv->chan[ep0->inndx]; FAR struct stm32l4_chan_s *chan = &priv->chan[ep0->inndx];
int ret; int ret;
@ -1823,8 +1825,9 @@ static int stm32l4_in_setup(FAR struct stm32l4_usbhost_s *priv, int chidx)
* *
****************************************************************************/ ****************************************************************************/
static ssize_t stm32l4_in_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx, static ssize_t stm32l4_in_transfer(FAR struct stm32l4_usbhost_s *priv,
FAR uint8_t *buffer, size_t buflen) int chidx, FAR uint8_t *buffer,
size_t buflen)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
systime_t start; systime_t start;
@ -1910,7 +1913,7 @@ static ssize_t stm32l4_in_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static void stm32l4_in_next(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_in_next(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan) FAR struct stm32l4_chan_s *chan)
{ {
usbhost_asynch_t callback; usbhost_asynch_t callback;
FAR void *arg; FAR void *arg;
@ -1975,8 +1978,8 @@ static void stm32l4_in_next(FAR struct stm32l4_usbhost_s *priv,
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_in_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx, static int stm32l4_in_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg) usbhost_asynch_t callback, FAR void *arg)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
int ret; int ret;
@ -2082,8 +2085,9 @@ static int stm32l4_out_setup(FAR struct stm32l4_usbhost_s *priv, int chidx)
* *
****************************************************************************/ ****************************************************************************/
static ssize_t stm32l4_out_transfer(FAR struct stm32l4_usbhost_s *priv, int chidx, static ssize_t stm32l4_out_transfer(FAR struct stm32l4_usbhost_s *priv,
FAR uint8_t *buffer, size_t buflen) int chidx, FAR uint8_t *buffer,
size_t buflen)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
systime_t start; systime_t start;
@ -2196,7 +2200,7 @@ static ssize_t stm32l4_out_transfer(FAR struct stm32l4_usbhost_s *priv, int chid
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static void stm32l4_out_next(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_out_next(FAR struct stm32l4_usbhost_s *priv,
FAR struct stm32l4_chan_s *chan) FAR struct stm32l4_chan_s *chan)
{ {
usbhost_asynch_t callback; usbhost_asynch_t callback;
FAR void *arg; FAR void *arg;
@ -2261,8 +2265,8 @@ static void stm32l4_out_next(FAR struct stm32l4_usbhost_s *priv,
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_out_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx, static int stm32l4_out_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg) usbhost_asynch_t callback, FAR void *arg)
{ {
FAR struct stm32l4_chan_s *chan; FAR struct stm32l4_chan_s *chan;
int ret; int ret;
@ -2305,7 +2309,7 @@ static int stm32l4_out_asynch(FAR struct stm32l4_usbhost_s *priv, int chidx,
****************************************************************************/ ****************************************************************************/
static void stm32l4_gint_wrpacket(FAR struct stm32l4_usbhost_s *priv, static void stm32l4_gint_wrpacket(FAR struct stm32l4_usbhost_s *priv,
FAR uint8_t *buffer, int chidx, int buflen) FAR uint8_t *buffer, int chidx, int buflen)
{ {
FAR uint32_t *src; FAR uint32_t *src;
uint32_t fifo; uint32_t fifo;
@ -2355,7 +2359,7 @@ static void stm32l4_gint_wrpacket(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static inline void stm32l4_gint_hcinisr(FAR struct stm32l4_usbhost_s *priv, static inline void stm32l4_gint_hcinisr(FAR struct stm32l4_usbhost_s *priv,
int chidx) int chidx)
{ {
FAR struct stm32l4_chan_s *chan = &priv->chan[chidx]; FAR struct stm32l4_chan_s *chan = &priv->chan[chidx];
uint32_t regval; uint32_t regval;
@ -2616,7 +2620,7 @@ static inline void stm32l4_gint_hcinisr(FAR struct stm32l4_usbhost_s *priv,
****************************************************************************/ ****************************************************************************/
static inline void stm32l4_gint_hcoutisr(FAR struct stm32l4_usbhost_s *priv, static inline void stm32l4_gint_hcoutisr(FAR struct stm32l4_usbhost_s *priv,
int chidx) int chidx)
{ {
FAR struct stm32l4_chan_s *chan = &priv->chan[chidx]; FAR struct stm32l4_chan_s *chan = &priv->chan[chidx];
uint32_t regval; uint32_t regval;
@ -3732,7 +3736,7 @@ static void stm32l4_txfe_enable(FAR struct stm32l4_usbhost_s *priv, int chidx)
****************************************************************************/ ****************************************************************************/
static int stm32l4_wait(FAR struct usbhost_connection_s *conn, static int stm32l4_wait(FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s **hport) FAR struct usbhost_hubport_s **hport)
{ {
FAR struct stm32l4_usbhost_s *priv = &g_usbhost; FAR struct stm32l4_usbhost_s *priv = &g_usbhost;
struct usbhost_hubport_s *connport; struct usbhost_hubport_s *connport;
@ -3819,8 +3823,8 @@ static int stm32l4_wait(FAR struct usbhost_connection_s *conn,
****************************************************************************/ ****************************************************************************/
static int stm32l4_rh_enumerate(FAR struct stm32l4_usbhost_s *priv, static int stm32l4_rh_enumerate(FAR struct stm32l4_usbhost_s *priv,
FAR struct usbhost_connection_s *conn, FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s *hport) FAR struct usbhost_hubport_s *hport)
{ {
uint32_t regval; uint32_t regval;
int ret; int ret;
@ -3873,7 +3877,7 @@ static int stm32l4_rh_enumerate(FAR struct stm32l4_usbhost_s *priv,
} }
static int stm32l4_enumerate(FAR struct usbhost_connection_s *conn, static int stm32l4_enumerate(FAR struct usbhost_connection_s *conn,
FAR struct usbhost_hubport_s *hport) FAR struct usbhost_hubport_s *hport)
{ {
FAR struct stm32l4_usbhost_s *priv = &g_usbhost; FAR struct stm32l4_usbhost_s *priv = &g_usbhost;
int ret; int ret;
@ -3946,9 +3950,9 @@ static int stm32l4_enumerate(FAR struct usbhost_connection_s *conn,
* *
************************************************************************************/ ************************************************************************************/
static int stm32l4_ep0configure(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0, static int stm32l4_ep0configure(FAR struct usbhost_driver_s *drvr,
uint8_t funcaddr, uint8_t speed, usbhost_ep_t ep0, uint8_t funcaddr,
uint16_t maxpacketsize) uint8_t speed, uint16_t maxpacketsize)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0; FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0;
@ -4006,8 +4010,8 @@ static int stm32l4_ep0configure(FAR struct usbhost_driver_s *drvr, usbhost_ep_t
************************************************************************************/ ************************************************************************************/
static int stm32l4_epalloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_epalloc(FAR struct usbhost_driver_s *drvr,
FAR const struct usbhost_epdesc_s *epdesc, FAR const struct usbhost_epdesc_s *epdesc,
FAR usbhost_ep_t *ep) FAR usbhost_ep_t *ep)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
int ret; int ret;
@ -4129,9 +4133,9 @@ static int stm32l4_epfree(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep)
* - Never called from an interrupt handler. * - Never called from an interrupt handler.
* *
****************************************************************************/ ****************************************************************************/
#warning this function name is too generic
static int stm32l4_alloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_alloc(FAR struct usbhost_driver_s *drvr,
FAR uint8_t **buffer, FAR size_t *maxlen) FAR uint8_t **buffer, FAR size_t *maxlen)
{ {
FAR uint8_t *alloc; FAR uint8_t *alloc;
@ -4174,7 +4178,7 @@ static int stm32l4_alloc(FAR struct usbhost_driver_s *drvr,
* - Never called from an interrupt handler. * - Never called from an interrupt handler.
* *
****************************************************************************/ ****************************************************************************/
#warning this function name is too generic
static int stm32l4_free(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer) static int stm32l4_free(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer)
{ {
/* There is no special memory requirement */ /* There is no special memory requirement */
@ -4210,9 +4214,9 @@ static int stm32l4_free(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer)
* This function will *not* be called from an interrupt handler. * This function will *not* be called from an interrupt handler.
* *
************************************************************************************/ ************************************************************************************/
#warning this function name is too generic
static int stm32l4_ioalloc(FAR struct usbhost_driver_s *drvr, static int stm32l4_ioalloc(FAR struct usbhost_driver_s *drvr,
FAR uint8_t **buffer, size_t buflen) FAR uint8_t **buffer, size_t buflen)
{ {
FAR uint8_t *alloc; FAR uint8_t *alloc;
@ -4254,7 +4258,7 @@ static int stm32l4_ioalloc(FAR struct usbhost_driver_s *drvr,
* This function will *not* be called from an interrupt handler. * This function will *not* be called from an interrupt handler.
* *
************************************************************************************/ ************************************************************************************/
#warning this function name is too generic
static int stm32l4_iofree(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer) static int stm32l4_iofree(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer)
{ {
/* There is no special memory requirement */ /* There is no special memory requirement */
@ -4300,8 +4304,8 @@ static int stm32l4_iofree(FAR struct usbhost_driver_s *drvr, FAR uint8_t *buffer
****************************************************************************/ ****************************************************************************/
static int stm32l4_ctrlin(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0, static int stm32l4_ctrlin(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
FAR const struct usb_ctrlreq_s *req, FAR const struct usb_ctrlreq_s *req,
FAR uint8_t *buffer) FAR uint8_t *buffer)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0; FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0;
@ -4385,8 +4389,8 @@ static int stm32l4_ctrlin(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
} }
static int stm32l4_ctrlout(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0, static int stm32l4_ctrlout(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
FAR const struct usb_ctrlreq_s *req, FAR const struct usb_ctrlreq_s *req,
FAR const uint8_t *buffer) FAR const uint8_t *buffer)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0; FAR struct stm32l4_ctrlinfo_s *ep0info = (FAR struct stm32l4_ctrlinfo_s *)ep0;
@ -4510,7 +4514,7 @@ static int stm32l4_ctrlout(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep0,
****************************************************************************/ ****************************************************************************/
static ssize_t stm32l4_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep, static ssize_t stm32l4_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
FAR uint8_t *buffer, size_t buflen) FAR uint8_t *buffer, size_t buflen)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
unsigned int chidx = (unsigned int)ep; unsigned int chidx = (unsigned int)ep;
@ -4576,8 +4580,8 @@ static ssize_t stm32l4_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t
#ifdef CONFIG_USBHOST_ASYNCH #ifdef CONFIG_USBHOST_ASYNCH
static int stm32l4_asynch(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep, static int stm32l4_asynch(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
FAR uint8_t *buffer, size_t buflen, FAR uint8_t *buffer, size_t buflen,
usbhost_asynch_t callback, FAR void *arg) usbhost_asynch_t callback, FAR void *arg)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
unsigned int chidx = (unsigned int)ep; unsigned int chidx = (unsigned int)ep;
@ -4717,8 +4721,8 @@ static int stm32l4_cancel(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep)
#ifdef CONFIG_USBHOST_HUB #ifdef CONFIG_USBHOST_HUB
static int stm32l4_connect(FAR struct usbhost_driver_s *drvr, static int stm32l4_connect(FAR struct usbhost_driver_s *drvr,
FAR struct usbhost_hubport_s *hport, FAR struct usbhost_hubport_s *hport,
bool connected) bool connected)
{ {
FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr; FAR struct stm32l4_usbhost_s *priv = (FAR struct stm32l4_usbhost_s *)drvr;
irqstate_t flags; irqstate_t flags;
@ -4771,7 +4775,7 @@ static int stm32l4_connect(FAR struct usbhost_driver_s *drvr,
****************************************************************************/ ****************************************************************************/
static void stm32l4_disconnect(FAR struct usbhost_driver_s *drvr, static void stm32l4_disconnect(FAR struct usbhost_driver_s *drvr,
FAR struct usbhost_hubport_s *hport) FAR struct usbhost_hubport_s *hport)
{ {
DEBUGASSERT(hport != NULL); DEBUGASSERT(hport != NULL);
hport->devclass = NULL; hport->devclass = NULL;

View File

@ -535,7 +535,7 @@ static void rtc_resume(void)
************************************************************************************/ ************************************************************************************/
#ifdef CONFIG_RTC_ALARM #ifdef CONFIG_RTC_ALARM
static int stm32l4_rtc_alarm_handler(int irq, void *context) static int stm32l4_rtc_alarm_handler(int irq, FAR void *context)
{ {
FAR struct alm_cbinfo_s *cbinfo; FAR struct alm_cbinfo_s *cbinfo;
alm_callback_t cb; alm_callback_t cb;

View File

@ -152,7 +152,7 @@ static struct stm32l4_tickless_s g_tickless;
* *
****************************************************************************/ ****************************************************************************/
static void stm32l4_oneshot_handler(void *arg) static void stm32l4_oneshot_handler(FAR void *arg)
{ {
tmrinfo("Expired...\n"); tmrinfo("Expired...\n");
sched_timer_expiration(); sched_timer_expiration();

View File

@ -217,7 +217,7 @@
struct stm32l4_tim_priv_s struct stm32l4_tim_priv_s
{ {
const struct stm32l4_tim_ops_s *ops; FAR const struct stm32l4_tim_ops_s *ops;
stm32l4_tim_mode_t mode; stm32l4_tim_mode_t mode;
uint32_t base; /* TIMn base address */ uint32_t base; /* TIMn base address */
}; };
@ -229,16 +229,16 @@ struct stm32l4_tim_priv_s
/* Register helpers */ /* Register helpers */
static inline uint16_t stm32l4_getreg16(FAR struct stm32l4_tim_dev_s *dev, static inline uint16_t stm32l4_getreg16(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset); uint8_t offset);
static inline void stm32l4_putreg16(FAR struct stm32l4_tim_dev_s *dev, uint8_t offset, static inline void stm32l4_putreg16(FAR struct stm32l4_tim_dev_s *dev,
uint16_t value); uint8_t offset, uint16_t value);
static inline void stm32l4_modifyreg16(FAR struct stm32l4_tim_dev_s *dev, static inline void stm32l4_modifyreg16(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset, uint16_t clearbits, uint8_t offset, uint16_t clearbits,
uint16_t setbits); uint16_t setbits);
static inline uint32_t stm32l4_getreg32(FAR struct stm32l4_tim_dev_s *dev, static inline uint32_t stm32l4_getreg32(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset); uint8_t offset);
static inline void stm32l4_putreg32(FAR struct stm32l4_tim_dev_s *dev, uint8_t offset, static inline void stm32l4_putreg32(FAR struct stm32l4_tim_dev_s *dev,
uint32_t value); uint8_t offset, uint32_t value);
/* Timer helpers */ /* Timer helpers */
@ -254,21 +254,26 @@ static void stm32l4_tim_gpioconfig(uint32_t cfg, stm32l4_tim_channel_t mode);
/* Timer methods */ /* Timer methods */
static int stm32l4_tim_setmode(FAR struct stm32l4_tim_dev_s *dev, stm32l4_tim_mode_t mode); static int stm32l4_tim_setmode(FAR struct stm32l4_tim_dev_s *dev,
static int stm32l4_tim_setclock(FAR struct stm32l4_tim_dev_s *dev, uint32_t freq); stm32l4_tim_mode_t mode);
static int stm32l4_tim_setclock(FAR struct stm32l4_tim_dev_s *dev,
uint32_t freq);
static void stm32l4_tim_setperiod(FAR struct stm32l4_tim_dev_s *dev, static void stm32l4_tim_setperiod(FAR struct stm32l4_tim_dev_s *dev,
uint32_t period); uint32_t period);
static uint32_t stm32l4_tim_getcounter(FAR struct stm32l4_tim_dev_s *dev); static uint32_t stm32l4_tim_getcounter(FAR struct stm32l4_tim_dev_s *dev);
static int stm32l4_tim_setchannel(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel, static int stm32l4_tim_setchannel(FAR struct stm32l4_tim_dev_s *dev,
stm32l4_tim_channel_t mode); uint8_t channel, stm32l4_tim_channel_t mode);
static int stm32l4_tim_setcompare(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel, static int stm32l4_tim_setcompare(FAR struct stm32l4_tim_dev_s *dev,
uint32_t compare); uint8_t channel, uint32_t compare);
static int stm32l4_tim_getcapture(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel); static int stm32l4_tim_getcapture(FAR struct stm32l4_tim_dev_s *dev,
uint8_t channel);
static int stm32l4_tim_setisr(FAR struct stm32l4_tim_dev_s *dev, static int stm32l4_tim_setisr(FAR struct stm32l4_tim_dev_s *dev,
int (*handler)(int irq, void *context), int (*handler)(int irq, FAR void *context),
int source); int source);
static void stm32l4_tim_enableint(FAR struct stm32l4_tim_dev_s *dev, int source); static void stm32l4_tim_enableint(FAR struct stm32l4_tim_dev_s *dev,
static void stm32l4_tim_disableint(FAR struct stm32l4_tim_dev_s *dev, int source); int source);
static void stm32l4_tim_disableint(FAR struct stm32l4_tim_dev_s *dev,
int source);
static void stm32l4_tim_ackint(FAR struct stm32l4_tim_dev_s *dev, int source); static void stm32l4_tim_ackint(FAR struct stm32l4_tim_dev_s *dev, int source);
static int stm32l4_tim_checkint(FAR struct stm32l4_tim_dev_s *dev, int source); static int stm32l4_tim_checkint(FAR struct stm32l4_tim_dev_s *dev, int source);
@ -403,7 +408,7 @@ struct stm32l4_tim_priv_s stm32l4_tim17_priv =
************************************************************************************/ ************************************************************************************/
static inline uint16_t stm32l4_getreg16(FAR struct stm32l4_tim_dev_s *dev, static inline uint16_t stm32l4_getreg16(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset) uint8_t offset)
{ {
return getreg16(((struct stm32l4_tim_priv_s *)dev)->base + offset); return getreg16(((struct stm32l4_tim_priv_s *)dev)->base + offset);
} }
@ -416,8 +421,8 @@ static inline uint16_t stm32l4_getreg16(FAR struct stm32l4_tim_dev_s *dev,
* *
************************************************************************************/ ************************************************************************************/
static inline void stm32l4_putreg16(FAR struct stm32l4_tim_dev_s *dev, uint8_t offset, static inline void stm32l4_putreg16(FAR struct stm32l4_tim_dev_s *dev,
uint16_t value) uint8_t offset, uint16_t value)
{ {
putreg16(value, ((struct stm32l4_tim_priv_s *)dev)->base + offset); putreg16(value, ((struct stm32l4_tim_priv_s *)dev)->base + offset);
} }
@ -431,10 +436,11 @@ static inline void stm32l4_putreg16(FAR struct stm32l4_tim_dev_s *dev, uint8_t o
************************************************************************************/ ************************************************************************************/
static inline void stm32l4_modifyreg16(FAR struct stm32l4_tim_dev_s *dev, static inline void stm32l4_modifyreg16(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset, uint16_t clearbits, uint8_t offset, uint16_t clearbits,
uint16_t setbits) uint16_t setbits)
{ {
modifyreg16(((struct stm32l4_tim_priv_s *)dev)->base + offset, clearbits, setbits); modifyreg16(((struct stm32l4_tim_priv_s *)dev)->base + offset, clearbits,
setbits);
} }
/************************************************************************************ /************************************************************************************
@ -447,7 +453,7 @@ static inline void stm32l4_modifyreg16(FAR struct stm32l4_tim_dev_s *dev,
************************************************************************************/ ************************************************************************************/
static inline uint32_t stm32l4_getreg32(FAR struct stm32l4_tim_dev_s *dev, static inline uint32_t stm32l4_getreg32(FAR struct stm32l4_tim_dev_s *dev,
uint8_t offset) uint8_t offset)
{ {
return getreg32(((struct stm32l4_tim_priv_s *)dev)->base + offset); return getreg32(((struct stm32l4_tim_priv_s *)dev)->base + offset);
} }
@ -461,8 +467,8 @@ static inline uint32_t stm32l4_getreg32(FAR struct stm32l4_tim_dev_s *dev,
* *
************************************************************************************/ ************************************************************************************/
static inline void stm32l4_putreg32(FAR struct stm32l4_tim_dev_s *dev, uint8_t offset, static inline void stm32l4_putreg32(FAR struct stm32l4_tim_dev_s *dev,
uint32_t value) uint8_t offset, uint32_t value)
{ {
putreg32(value, ((struct stm32l4_tim_priv_s *)dev)->base + offset); putreg32(value, ((struct stm32l4_tim_priv_s *)dev)->base + offset);
} }
@ -541,7 +547,8 @@ static void stm32l4_tim_gpioconfig(uint32_t cfg, stm32l4_tim_channel_t mode)
* Name: stm32l4_tim_setmode * Name: stm32l4_tim_setmode
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_setmode(FAR struct stm32l4_tim_dev_s *dev, stm32l4_tim_mode_t mode) static int stm32l4_tim_setmode(FAR struct stm32l4_tim_dev_s *dev,
stm32l4_tim_mode_t mode)
{ {
uint16_t val = ATIM_CR1_CEN | ATIM_CR1_ARPE; uint16_t val = ATIM_CR1_CEN | ATIM_CR1_ARPE;
@ -611,7 +618,8 @@ static int stm32l4_tim_setmode(FAR struct stm32l4_tim_dev_s *dev, stm32l4_tim_mo
* Name: stm32l4_tim_setclock * Name: stm32l4_tim_setclock
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_setclock(FAR struct stm32l4_tim_dev_s *dev, uint32_t freq) static int stm32l4_tim_setclock(FAR struct stm32l4_tim_dev_s *dev,
uint32_t freq)
{ {
uint32_t freqin; uint32_t freqin;
int prescaler; int prescaler;
@ -747,8 +755,8 @@ static uint32_t stm32l4_tim_getcounter(FAR struct stm32l4_tim_dev_s *dev)
* Name: stm32l4_tim_setchannel * Name: stm32l4_tim_setchannel
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_setchannel(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel, static int stm32l4_tim_setchannel(FAR struct stm32l4_tim_dev_s *dev,
stm32l4_tim_channel_t mode) uint8_t channel, stm32l4_tim_channel_t mode)
{ {
uint16_t ccmr_orig = 0; uint16_t ccmr_orig = 0;
uint16_t ccmr_val = 0; uint16_t ccmr_val = 0;
@ -1096,8 +1104,8 @@ static int stm32l4_tim_setchannel(FAR struct stm32l4_tim_dev_s *dev, uint8_t cha
* Name: stm32l4_tim_setcompare * Name: stm32l4_tim_setcompare
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_setcompare(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel, static int stm32l4_tim_setcompare(FAR struct stm32l4_tim_dev_s *dev,
uint32_t compare) uint8_t channel, uint32_t compare)
{ {
DEBUGASSERT(dev != NULL); DEBUGASSERT(dev != NULL);
@ -1125,7 +1133,8 @@ static int stm32l4_tim_setcompare(FAR struct stm32l4_tim_dev_s *dev, uint8_t cha
* Name: stm32l4_tim_getcapture * Name: stm32l4_tim_getcapture
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_getcapture(FAR struct stm32l4_tim_dev_s *dev, uint8_t channel) static int stm32l4_tim_getcapture(FAR struct stm32l4_tim_dev_s *dev,
uint8_t channel)
{ {
DEBUGASSERT(dev != NULL); DEBUGASSERT(dev != NULL);
@ -1149,8 +1158,8 @@ static int stm32l4_tim_getcapture(FAR struct stm32l4_tim_dev_s *dev, uint8_t cha
************************************************************************************/ ************************************************************************************/
static int stm32l4_tim_setisr(FAR struct stm32l4_tim_dev_s *dev, static int stm32l4_tim_setisr(FAR struct stm32l4_tim_dev_s *dev,
int (*handler)(int irq, void *context), int (*handler)(int irq, FAR void *context),
int source) int source)
{ {
int vectorno; int vectorno;
@ -1256,7 +1265,8 @@ static void stm32l4_tim_enableint(FAR struct stm32l4_tim_dev_s *dev, int source)
* Name: stm32l4_tim_disableint * Name: stm32l4_tim_disableint
************************************************************************************/ ************************************************************************************/
static void stm32l4_tim_disableint(FAR struct stm32l4_tim_dev_s *dev, int source) static void stm32l4_tim_disableint(FAR struct stm32l4_tim_dev_s *dev,
int source)
{ {
DEBUGASSERT(dev != NULL); DEBUGASSERT(dev != NULL);
stm32l4_modifyreg16(dev, STM32L4_BTIM_DIER_OFFSET, ATIM_DIER_UIE, 0); stm32l4_modifyreg16(dev, STM32L4_BTIM_DIER_OFFSET, ATIM_DIER_UIE, 0);
@ -1386,7 +1396,7 @@ FAR struct stm32l4_tim_dev_s *stm32l4_tim_init(int timer)
* *
************************************************************************************/ ************************************************************************************/
int stm32l4_tim_deinit(FAR struct stm32l4_tim_dev_s * dev) int stm32l4_tim_deinit(FAR struct stm32l4_tim_dev_s *dev)
{ {
DEBUGASSERT(dev != NULL); DEBUGASSERT(dev != NULL);

View File

@ -144,9 +144,9 @@ static int stm32l4_timer_handler(FAR struct stm32l4_lowerhalf_s *lower);
static int stm32l4_start(FAR struct timer_lowerhalf_s *lower); static int stm32l4_start(FAR struct timer_lowerhalf_s *lower);
static int stm32l4_stop(FAR struct timer_lowerhalf_s *lower); static int stm32l4_stop(FAR struct timer_lowerhalf_s *lower);
static int stm32l4_settimeout(FAR struct timer_lowerhalf_s *lower, static int stm32l4_settimeout(FAR struct timer_lowerhalf_s *lower,
uint32_t timeout); uint32_t timeout);
static tccb_t stm32l4_sethandler(FAR struct timer_lowerhalf_s *lower, static tccb_t stm32l4_sethandler(FAR struct timer_lowerhalf_s *lower,
tccb_t handler); tccb_t handler);
/**************************************************************************** /****************************************************************************
* Private Data * Private Data
@ -437,9 +437,9 @@ static int stm32l4_start(FAR struct timer_lowerhalf_s *lower)
* *
****************************************************************************/ ****************************************************************************/
static int stm32l4_stop(struct timer_lowerhalf_s *lower) static int stm32l4_stop(FAR struct timer_lowerhalf_s *lower)
{ {
struct stm32l4_lowerhalf_s *priv = (struct stm32l4_lowerhalf_s *)lower; FAR struct stm32l4_lowerhalf_s *priv = (FAR struct stm32l4_lowerhalf_s *)lower;
if (priv->started) if (priv->started)
{ {
@ -471,7 +471,8 @@ static int stm32l4_stop(struct timer_lowerhalf_s *lower)
* *
****************************************************************************/ ****************************************************************************/
static int stm32l4_settimeout(FAR struct timer_lowerhalf_s *lower, uint32_t timeout) static int stm32l4_settimeout(FAR struct timer_lowerhalf_s *lower,
uint32_t timeout)
{ {
FAR struct stm32l4_lowerhalf_s *priv = (FAR struct stm32l4_lowerhalf_s *)lower; FAR struct stm32l4_lowerhalf_s *priv = (FAR struct stm32l4_lowerhalf_s *)lower;
uint64_t maxtimeout; uint64_t maxtimeout;
@ -517,7 +518,7 @@ static int stm32l4_settimeout(FAR struct timer_lowerhalf_s *lower, uint32_t time
****************************************************************************/ ****************************************************************************/
static tccb_t stm32l4_sethandler(FAR struct timer_lowerhalf_s *lower, static tccb_t stm32l4_sethandler(FAR struct timer_lowerhalf_s *lower,
tccb_t newhandler) tccb_t newhandler)
{ {
FAR struct stm32l4_lowerhalf_s *priv = (FAR struct stm32l4_lowerhalf_s *)lower; FAR struct stm32l4_lowerhalf_s *priv = (FAR struct stm32l4_lowerhalf_s *)lower;