summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-12 09:46:58 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-12 09:46:58 -0600
commit9f9e34c861d1764ef038a03ecb4626f29301fd21 (patch)
treea030f3f20ce10e8b9bb13ad26b82f3ed425669d1 /nuttx
parent3e77986a862836ddad3f82a6fd0a715c25e16631 (diff)
downloadpx4-nuttx-9f9e34c861d1764ef038a03ecb4626f29301fd21.tar.gz
px4-nuttx-9f9e34c861d1764ef038a03ecb4626f29301fd21.tar.bz2
px4-nuttx-9f9e34c861d1764ef038a03ecb4626f29301fd21.zip
EFM32: More USB register name corrections. Still incomplete
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/arch/arm/src/efm32/chip/efm32_usb.h1
-rw-r--r--nuttx/arch/arm/src/efm32/efm32_usbdev.c34
-rw-r--r--nuttx/arch/arm/src/efm32/efm32_usbhost.c38
3 files changed, 37 insertions, 36 deletions
diff --git a/nuttx/arch/arm/src/efm32/chip/efm32_usb.h b/nuttx/arch/arm/src/efm32/chip/efm32_usb.h
index db848d6c0..8844d0d95 100644
--- a/nuttx/arch/arm/src/efm32/chip/efm32_usb.h
+++ b/nuttx/arch/arm/src/efm32/chip/efm32_usb.h
@@ -846,6 +846,7 @@
#define _USB_GUSBCFG_USBTRDTIM_MASK 0x3c00UL /* Bit mask for USB_USBTRDTIM */
#define _USB_GUSBCFG_USBTRDTIM_DEFAULT 0x00000005UL /* Mode DEFAULT for USB_GUSBCFG */
#define USB_GUSBCFG_USBTRDTIM_DEFAULT (_USB_GUSBCFG_USBTRDTIM_DEFAULT << 10) /* Shifted mode DEFAULT for USB_GUSBCFG */
+#define USB_GUSBCFG_USBTRDTIM(n) ((uint32_t)(n) << 10) /* Variable setting for USB_GUSBCFG */
#define USB_GUSBCFG_TERMSELDLPULSE (0x1UL << 22) /* TermSel DLine Pulsing Selection (device only) */
#define _USB_GUSBCFG_TERMSELDLPULSE_SHIFT 22 /* Shift value for USB_TERMSELDLPULSE */
#define _USB_GUSBCFG_TERMSELDLPULSE_MASK 0x400000UL /* Bit mask for USB_TERMSELDLPULSE */
diff --git a/nuttx/arch/arm/src/efm32/efm32_usbdev.c b/nuttx/arch/arm/src/efm32/efm32_usbdev.c
index b35007e11..761bf1771 100644
--- a/nuttx/arch/arm/src/efm32/efm32_usbdev.c
+++ b/nuttx/arch/arm/src/efm32/efm32_usbdev.c
@@ -3116,7 +3116,7 @@ static inline void efm32_rxinterrupt(FAR struct efm32_usbdev_s *priv)
/* Disable the Rx status queue level interrupt */
regval = efm32_getreg(EFM32_USB_GINTMSK);
- regval &= ~USB_GINTMSK_RXFLVL;
+ regval &= ~USB_GINTMSK_RXFLVLMSK;
efm32_putreg(regval, EFM32_USB_GINTMSK);
/* Get the status from the top of the FIFO */
@@ -3280,8 +3280,8 @@ static inline void efm32_enuminterrupt(FAR struct efm32_usbdev_s *priv)
/* Set USB turn-around time for the full speed device with internal PHY interface. */
regval = efm32_getreg(EFM32_USB_GUSBCFG);
- regval &= ~_USB_GUSBCFG_TRDT_MASK;
- regval |= USB_GUSBCFG_TRDT(5);
+ regval &= ~_USB_GUSBCFG_USBTRDTIM_MASK;
+ regval |= USB_GUSBCFG_USBTRDTIM(5);
efm32_putreg(regval, EFM32_USB_GUSBCFG);
}
@@ -3533,22 +3533,22 @@ static int efm32_usbinterrupt(int irq, FAR void *context)
* interrupt is pending on one of the OUT endpoints of the core.
*/
- if ((regval & USB_GINTSTS_OEP) != 0)
+ if ((regval & USB_GINTSTS_OEPINT) != 0)
{
usbtrace(TRACE_INTDECODE(EFM32_TRACEINTID_EPOUT), (uint16_t)regval);
efm32_epout_interrupt(priv);
- efm32_putreg(USB_GINTSTS_OEP, EFM32_USB_GINTSTS);
+ efm32_putreg(USB_GINTSTS_OEPINT, EFM32_USB_GINTSTS);
}
/* IN endpoint interrupt. The core sets this bit to indicate that
* an interrupt is pending on one of the IN endpoints of the core.
*/
- if ((regval & USB_GINTSTS_IEP) != 0)
+ if ((regval & USB_GINTSTS_IEPINT) != 0)
{
usbtrace(TRACE_INTDECODE(EFM32_TRACEINTID_EPIN), (uint16_t)regval);
efm32_epin_interrupt(priv);
- efm32_putreg(USB_GINTSTS_IEP, EFM32_USB_GINTSTS);
+ efm32_putreg(USB_GINTSTS_IEPINT, EFM32_USB_GINTSTS);
}
/* Host/device mode mismatch error interrupt */
@@ -3563,11 +3563,11 @@ static int efm32_usbinterrupt(int irq, FAR void *context)
/* Resume/remote wakeup detected interrupt */
- if ((regval & USB_GINTSTS_WKUP) != 0)
+ if ((regval & USB_GINTSTS_WKUPINT) != 0)
{
usbtrace(TRACE_INTDECODE(EFM32_TRACEINTID_WAKEUP), (uint16_t)regval);
efm32_resumeinterrupt(priv);
- efm32_putreg(USB_GINTSTS_WKUP, EFM32_USB_GINTSTS);
+ efm32_putreg(USB_GINTSTS_WKUPINT, EFM32_USB_GINTSTS);
}
/* USB suspend interrupt */
@@ -3616,11 +3616,11 @@ static int efm32_usbinterrupt(int irq, FAR void *context)
/* Enumeration done interrupt */
- if ((regval & USB_GINTSTS_ENUMDNE) != 0)
+ if ((regval & USB_GINTSTS_ENUMDONE) != 0)
{
usbtrace(TRACE_INTDECODE(EFM32_TRACEINTID_ENUMDNE), (uint16_t)regval);
efm32_enuminterrupt(priv);
- efm32_putreg(USB_GINTSTS_ENUMDNE, EFM32_USB_GINTSTS);
+ efm32_putreg(USB_GINTSTS_ENUMDONE, EFM32_USB_GINTSTS);
}
/* Incomplete isochronous IN transfer interrupt. When the core finds
@@ -3782,19 +3782,19 @@ static int efm32_epout_configure(FAR struct efm32_ep_s *privep, uint8_t eptype,
switch (maxpacket)
{
case 8:
- mpsiz = USB_DOEP0CTL_MPS_8;
+ mpsiz = USB_DOEP0CTL_MPS_8B;
break;
case 16:
- mpsiz = USB_DOEP0CTL_MPS_16;
+ mpsiz = USB_DOEP0CTL_MPS_16B;
break;
case 32:
- mpsiz = USB_DOEP0CTL_MPS_32;
+ mpsiz = USB_DOEP0CTL_MPS_32B;
break;
case 64:
- mpsiz = USB_DOEP0CTL_MPS_64;
+ mpsiz = USB_DOEP0CTL_MPS_64B;
break;
default:
@@ -5241,8 +5241,8 @@ static void efm32_hwinitialize(FAR struct efm32_usbdev_s *priv)
/* Force Device Mode */
regval = efm32_getreg(EFM32_USB_GUSBCFG);
- regval &= ~USB_GUSBCFG_FHMOD;
- regval |= USB_GUSBCFG_FDMOD;
+ regval &= ~_USB_GUSBCFG_FORCEHSTMODE_MASK;
+ regval |= USB_GUSBCFG_FORCEDEVMODE;
efm32_putreg(regval, EFM32_USB_GUSBCFG);
up_mdelay(50);
diff --git a/nuttx/arch/arm/src/efm32/efm32_usbhost.c b/nuttx/arch/arm/src/efm32/efm32_usbhost.c
index 32857e7d4..9dc68ac2f 100644
--- a/nuttx/arch/arm/src/efm32/efm32_usbhost.c
+++ b/nuttx/arch/arm/src/efm32/efm32_usbhost.c
@@ -809,7 +809,7 @@ static void efm32_chan_configure(FAR struct efm32_usbhost_s *priv, int chidx)
/* Make sure host channel interrupts are enabled. */
- efm32_modifyreg(EFM32_USB_GINTMSK, 0, USB_GINTMSK_HCHINTMSK);
+ efm32_modifyreg(EFM32_USB_GINTMSK, 0, USB_GINTMSK_PTXFEMPMSKHCHINTMSK);
/* Program the HCCHAR register */
@@ -2329,7 +2329,7 @@ static inline void efm32_gint_rxflvlisr(FAR struct efm32_usbhost_s *priv)
/* Disable the RxFIFO non-empty interrupt */
intmsk = efm32_getreg(EFM32_USB_GINTMSK);
- intmsk &= ~USB_GINTMSK_RXFLVLMSK;
+ intmsk &= ~USB_GINTMSK_PTXFEMPMSKRXFLVLMSK;
efm32_putreg(EFM32_USB_GINTMSK, intmsk);
/* Read and pop the next status from the Rx FIFO */
@@ -2402,7 +2402,7 @@ static inline void efm32_gint_rxflvlisr(FAR struct efm32_usbhost_s *priv)
/* Re-enable the RxFIFO non-empty interrupt */
- intmsk |= USB_GINTMSK_RXFLVLMSK;
+ intmsk |= USB_GINTMSK_PTXFEMPMSKRXFLVLMSK;
efm32_putreg(EFM32_USB_GINTMSK, intmsk);
}
@@ -2446,7 +2446,7 @@ static inline void efm32_gint_nptxfeisr(FAR struct efm32_usbhost_s *priv)
{
/* Disable further Tx FIFO empty interrupts and bail. */
- efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_NPTXFE, 0);
+ efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFEMPMSKNPTXFEMPMSK, 0);
return;
}
@@ -2484,7 +2484,7 @@ static inline void efm32_gint_nptxfeisr(FAR struct efm32_usbhost_s *priv)
else
{
- efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_NPTXFE, 0);
+ efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFEMPMSKNPTXFEMPMSK, 0);
}
/* Write the next group of packets into the Tx FIFO */
@@ -2535,7 +2535,7 @@ static inline void efm32_gint_ptxfeisr(FAR struct efm32_usbhost_s *priv)
{
/* Disable further Tx FIFO empty interrupts and bail. */
- efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFE, 0);
+ efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFEMPMSKPTXFEMPMSK, 0);
return;
}
@@ -2573,7 +2573,7 @@ static inline void efm32_gint_ptxfeisr(FAR struct efm32_usbhost_s *priv)
else
{
- efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFE, 0);
+ efm32_modifyreg(EFM32_USB_GINTMSK, USB_GINTMSK_PTXFEMPMSKPTXFEMPMSK, 0);
}
/* Write the next group of packets into the Tx FIFO */
@@ -2782,7 +2782,7 @@ static inline void efm32_gint_discisr(FAR struct efm32_usbhost_s *priv)
/* Clear the dicsonnect interrupt */
- efm32_putreg(EFM32_USB_GINTSTS, USB_GINTSTS_DISC);
+ efm32_putreg(EFM32_USB_GINTSTS, USB_GINTSTS_DISCONNINT);
}
/*******************************************************************************
@@ -2807,7 +2807,7 @@ static inline void efm32_gint_ipxfrisr(FAR struct efm32_usbhost_s *priv)
/* Clear the incomplete isochronous OUT interrupt */
- efm32_putreg(EFM32_USB_GINTSTS, USB_GINTSTS_IPXFR);
+ efm32_putreg(EFM32_USB_GINTSTS, USB_GINTSTS_INCOMPLP);
}
/*******************************************************************************
@@ -2877,7 +2877,7 @@ static int efm32_gint_isr(int irq, FAR void *context)
/* Handle the non-periodic TxFIFO empty interrupt */
- if ((pending & USB_GINTSTS_NPTXFE) != 0)
+ if ((pending & USB_GINTSTS_NPTXFEMP) != 0)
{
usbhost_vtrace1(OTGFS_VTRACE1_GINT_NPTXFE, 0);
efm32_gint_nptxfeisr(priv);
@@ -2885,7 +2885,7 @@ static int efm32_gint_isr(int irq, FAR void *context)
/* Handle the periodic TxFIFO empty interrupt */
- if ((pending & USB_GINTSTS_PTXFE) != 0)
+ if ((pending & USB_GINTSTS_PTXFEMP) != 0)
{
usbhost_vtrace1(OTGFS_VTRACE1_GINT_PTXFE, 0);
efm32_gint_ptxfeisr(priv);
@@ -2893,7 +2893,7 @@ static int efm32_gint_isr(int irq, FAR void *context)
/* Handle the host channels interrupt */
- if ((pending & USB_GINTSTS_HC) != 0)
+ if ((pending & USB_GINTSTS_HCHINT) != 0)
{
usbhost_vtrace1(OTGFS_VTRACE1_GINT_HC, 0);
efm32_gint_hcisr(priv);
@@ -2901,14 +2901,14 @@ static int efm32_gint_isr(int irq, FAR void *context)
/* Handle the host port interrupt */
- if ((pending & USB_GINTSTS_HPRT) != 0)
+ if ((pending & USB_GINTSTS_PRTINT) != 0)
{
efm32_gint_hprtisr(priv);
}
/* Handle the disconnect detected interrupt */
- if ((pending & USB_GINTSTS_DISC) != 0)
+ if ((pending & USB_GINTSTS_DISCONNINT) != 0)
{
usbhost_vtrace1(OTGFS_VTRACE1_GINT_DISC, 0);
efm32_gint_discisr(priv);
@@ -2916,7 +2916,7 @@ static int efm32_gint_isr(int irq, FAR void *context)
/* Handle the incomplete periodic transfer */
- if ((pending & USB_GINTSTS_IPXFR) != 0)
+ if ((pending & USB_GINTSTS_INCOMPLP) != 0)
{
usbhost_vtrace1(OTGFS_VTRACE1_GINT_IPXFR, 0);
efm32_gint_ipxfrisr(priv);
@@ -3076,12 +3076,12 @@ static void efm32_txfe_enable(FAR struct efm32_usbhost_s *priv, int chidx)
default:
case OTGFS_EPTYPE_CTRL: /* Non periodic transfer */
case OTGFS_EPTYPE_BULK:
- regval |= USB_GINTMSK_NPTXFE;
+ regval |= USB_GINTMSK_NPTXFEMPMSK;
break;
case OTGFS_EPTYPE_INTR: /* Periodic transfer */
case OTGFS_EPTYPE_ISOC:
- regval |= USB_GINTMSK_PTXFE;
+ regval |= USB_GINTMSK_PTXFEMPMSK;
break;
}
@@ -4332,8 +4332,8 @@ static inline int efm32_hw_initialize(FAR struct efm32_usbhost_s *priv)
/* Force Host Mode */
regval = efm32_getreg(EFM32_USB_GUSBCFG);
- regval &= ~USB_GUSBCFG_FDMOD;
- regval |= USB_GUSBCFG_FHMOD;
+ regval &= ~_USB_GUSBCFG_FORCEDEVMODE_MASK;
+ regval |= USB_GUSBCFG_FORCEHSTMODE;
efm32_putreg(EFM32_USB_GUSBCFG, regval);
up_mdelay(50);