diff options
author | Bill Richardson <wfrichar@chromium.org> | 2015-12-09 09:59:08 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-12-11 11:22:01 -0800 |
commit | 5618054f952963e04be7aa886d5dcd8a1c55aa4f (patch) | |
tree | 24799ccf3e759aec7c9b07766d611e862919970d | |
parent | 229bc28b06b60dcbf19d8db301a70a49b5ff657f (diff) | |
download | chrome-ec-5618054f952963e04be7aa886d5dcd8a1c55aa4f.tar.gz |
Cr50: Add a few more symbolic names for constants
No functional changes, just making the code prettier.
BUG=chrome-os-partner:34893
BRANCH=none
TEST=make buildall, manual
Connect the Cr50 to my workstation via USB:
* /bin/dmesg reports no errors
* verify EP0 with lsusb -v -d 18d1:5014
* verify EP1 with './extra/usb_console -e 1 -p 5014' (reverses
case of input text)
* verify EP2 with the 'hid' command on the EC console (types a 'g')
Change-Id: I1301c035eafc054567c1f317a80539197fcdeef4
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/317354
-rw-r--r-- | chip/g/registers.h | 56 | ||||
-rw-r--r-- | chip/g/usb_blob.c | 2 | ||||
-rw-r--r-- | chip/g/usb_hid.c | 4 |
3 files changed, 55 insertions, 7 deletions
diff --git a/chip/g/registers.h b/chip/g/registers.h index f3c724fb37..a7ab14e67c 100644 --- a/chip/g/registers.h +++ b/chip/g/registers.h @@ -365,6 +365,8 @@ static inline int x_timehs_addr(unsigned int module, unsigned int timer, #define GR_USB_DOEPMSK GR_USB_REG(GC_USB_DOEPMSK_OFFSET) #define GR_USB_DAINT GR_USB_REG(GC_USB_DAINT_OFFSET) #define GR_USB_DAINTMSK GR_USB_REG(GC_USB_DAINTMSK_OFFSET) +#define DAINT_INEP(ep) (1 << (ep + GC_USB_DAINTMSK_INEPMSK0_LSB)) +#define DAINT_OUTEP(ep) (1 << (ep + GC_USB_DAINTMSK_OUTEPMSK0_LSB)) #define GR_USB_DTHRCTL GR_USB_REG(GC_USB_DTHRCTL_OFFSET) #define GR_USB_DIEPEMPMSK GR_USB_REG(GC_USB_DIEPEMPMSK_OFFSET) @@ -454,17 +456,63 @@ static inline int x_timehs_addr(unsigned int module, unsigned int timer, #define DCTL_CGNPINNAK (1 << GC_USB_DCTL_CGNPINNAK_LSB) #define DCTL_PWRONPRGDONE (1 << GC_USB_DCTL_PWRONPRGDONE_LSB) -#define DIEPMSK_TIMEOUTMSK (1 << GC_USB_DIEPMSK_TIMEOUTMSK_LSB) +/* Device Endpoint Common IN Interrupt Mask bits */ #define DIEPMSK_AHBERRMSK (1 << GC_USB_DIEPMSK_AHBERRMSK_LSB) +#define DIEPMSK_BNAININTRMSK (1 << GC_USB_DIEPMSK_BNAININTRMSK_LSB) #define DIEPMSK_EPDISBLDMSK (1 << GC_USB_DIEPMSK_EPDISBLDMSK_LSB) -#define DIEPMSK_XFERCOMPLMSK (1 << GC_USB_DIEPMSK_XFERCOMPLMSK_LSB) -#define DIEPMSK_INTKNTXFEMPMSK (1 << GC_USB_DIEPMSK_INTKNTXFEMPMSK_LSB) +#define DIEPMSK_INEPNAKEFFMSK (1 << GC_USB_DIEPMSK_INEPNAKEFFMSK_LSB) #define DIEPMSK_INTKNEPMISMSK (1 << GC_USB_DIEPMSK_INTKNEPMISMSK_LSB) -#define DOEPMSK_SETUPMSK (1 << GC_USB_DOEPMSK_SETUPMSK_LSB) +#define DIEPMSK_INTKNTXFEMPMSK (1 << GC_USB_DIEPMSK_INTKNTXFEMPMSK_LSB) +#define DIEPMSK_NAKMSK (1 << GC_USB_DIEPMSK_NAKMSK_LSB) +#define DIEPMSK_TIMEOUTMSK (1 << GC_USB_DIEPMSK_TIMEOUTMSK_LSB) +#define DIEPMSK_TXFIFOUNDRNMSK (1 << GC_USB_DIEPMSK_TXFIFOUNDRNMSK_LSB) +#define DIEPMSK_XFERCOMPLMSK (1 << GC_USB_DIEPMSK_XFERCOMPLMSK_LSB) + +/* Device Endpoint Common OUT Interrupt Mask bits */ #define DOEPMSK_AHBERRMSK (1 << GC_USB_DOEPMSK_AHBERRMSK_LSB) +#define DOEPMSK_BBLEERRMSK (1 << GC_USB_DOEPMSK_BBLEERRMSK_LSB) +#define DOEPMSK_BNAOUTINTRMSK (1 << GC_USB_DOEPMSK_BNAOUTINTRMSK_LSB) #define DOEPMSK_EPDISBLDMSK (1 << GC_USB_DOEPMSK_EPDISBLDMSK_LSB) +#define DOEPMSK_NAKMSK (1 << GC_USB_DOEPMSK_NAKMSK_LSB) +#define DOEPMSK_NYETMSK (1 << GC_USB_DOEPMSK_NYETMSK_LSB) +#define DOEPMSK_OUTPKTERRMSK (1 << GC_USB_DOEPMSK_OUTPKTERRMSK_LSB) +#define DOEPMSK_OUTTKNEPDISMSK (1 << GC_USB_DOEPMSK_OUTTKNEPDISMSK_LSB) +#define DOEPMSK_SETUPMSK (1 << GC_USB_DOEPMSK_SETUPMSK_LSB) +#define DOEPMSK_STSPHSERCVDMSK (1 << GC_USB_DOEPMSK_STSPHSERCVDMSK_LSB) #define DOEPMSK_XFERCOMPLMSK (1 << GC_USB_DOEPMSK_XFERCOMPLMSK_LSB) +/* Device Endpoint-n IN Interrupt Register bits */ +#define DIEPINT_AHBERR (1 << GC_USB_DIEPINT0_AHBERR_LSB) +#define DIEPINT_BBLEERR (1 << GC_USB_DIEPINT0_BBLEERR_LSB) +#define DIEPINT_BNAINTR (1 << GC_USB_DIEPINT0_BNAINTR_LSB) +#define DIEPINT_EPDISBLD (1 << GC_USB_DIEPINT0_EPDISBLD_LSB) +#define DIEPINT_INEPNAKEFF (1 << GC_USB_DIEPINT0_INEPNAKEFF_LSB) +#define DIEPINT_INTKNEPMIS (1 << GC_USB_DIEPINT0_INTKNEPMIS_LSB) +#define DIEPINT_INTKNTXFEMP (1 << GC_USB_DIEPINT0_INTKNTXFEMP_LSB) +#define DIEPINT_NAKINTRPT (1 << GC_USB_DIEPINT0_NAKINTRPT_LSB) +#define DIEPINT_NYETINTRPT (1 << GC_USB_DIEPINT0_NYETINTRPT_LSB) +#define DIEPINT_PKTDRPSTS (1 << GC_USB_DIEPINT0_PKTDRPSTS_LSB) +#define DIEPINT_TIMEOUT (1 << GC_USB_DIEPINT0_TIMEOUT_LSB) +#define DIEPINT_TXFEMP (1 << GC_USB_DIEPINT0_TXFEMP_LSB) +#define DIEPINT_TXFIFOUNDRN (1 << GC_USB_DIEPINT0_TXFIFOUNDRN_LSB) +#define DIEPINT_XFERCOMPL (1 << GC_USB_DIEPINT0_XFERCOMPL_LSB) + +/* Device Endpoint-n OUT Interrupt Register bits */ +#define DOEPINT_AHBERR (1 << GC_USB_DOEPINT0_AHBERR_LSB) +#define DOEPINT_BACK2BACKSETUP (1 << GC_USB_DOEPINT0_BACK2BACKSETUP_LSB) +#define DOEPINT_BBLEERR (1 << GC_USB_DOEPINT0_BBLEERR_LSB) +#define DOEPINT_BNAINTR (1 << GC_USB_DOEPINT0_BNAINTR_LSB) +#define DOEPINT_EPDISBLD (1 << GC_USB_DOEPINT0_EPDISBLD_LSB) +#define DOEPINT_NAKINTRPT (1 << GC_USB_DOEPINT0_NAKINTRPT_LSB) +#define DOEPINT_NYETINTRPT (1 << GC_USB_DOEPINT0_NYETINTRPT_LSB) +#define DOEPINT_OUTPKTERR (1 << GC_USB_DOEPINT0_OUTPKTERR_LSB) +#define DOEPINT_OUTTKNEPDIS (1 << GC_USB_DOEPINT0_OUTTKNEPDIS_LSB) +#define DOEPINT_PKTDRPSTS (1 << GC_USB_DOEPINT0_PKTDRPSTS_LSB) +#define DOEPINT_SETUP (1 << GC_USB_DOEPINT0_SETUP_LSB) +#define DOEPINT_STSPHSERCVD (1 << GC_USB_DOEPINT0_STSPHSERCVD_LSB) +#define DOEPINT_STUPPKTRCVD (1 << GC_USB_DOEPINT0_STUPPKTRCVD_LSB) +#define DOEPINT_XFERCOMPL (1 << GC_USB_DOEPINT0_XFERCOMPL_LSB) + #define DXEPCTL_EPTYPE_CTRL (0 << GC_USB_DIEPCTL0_EPTYPE_LSB) #define DXEPCTL_EPTYPE_ISO (1 << GC_USB_DIEPCTL0_EPTYPE_LSB) #define DXEPCTL_EPTYPE_BULK (2 << GC_USB_DIEPCTL0_EPTYPE_LSB) diff --git a/chip/g/usb_blob.c b/chip/g/usb_blob.c index 060573635b..8a0f350549 100644 --- a/chip/g/usb_blob.c +++ b/chip/g/usb_blob.c @@ -206,7 +206,7 @@ static void ep_reset(void) GR_USB_DIEPCTL(USB_EP_BLOB) = DXEPCTL_MPS(64) | DXEPCTL_USBACTEP | DXEPCTL_EPTYPE_BULK | DXEPCTL_TXFNUM(USB_EP_BLOB); - GR_USB_DAINTMSK |= (1<<USB_EP_BLOB) | (1 << (USB_EP_BLOB+16)); + GR_USB_DAINTMSK |= DAINT_INEP(USB_EP_BLOB) | DAINT_OUTEP(USB_EP_BLOB); is_reset = 1; diff --git a/chip/g/usb_hid.c b/chip/g/usb_hid.c index 2c4d515bfc..27393525b5 100644 --- a/chip/g/usb_hid.c +++ b/chip/g/usb_hid.c @@ -114,7 +114,7 @@ static void hid_reset(void) GR_USB_DIEPCTL(USB_EP_HID) = DXEPCTL_MPS(HID_REPORT_SIZE) | DXEPCTL_USBACTEP | DXEPCTL_EPTYPE_INT | DXEPCTL_TXFNUM(USB_EP_HID); - GR_USB_DAINTMSK |= (1<<USB_EP_HID); + GR_USB_DAINTMSK |= DAINT_INEP(USB_EP_HID); } USB_DECLARE_EP(USB_EP_HID, hid_tx, hid_tx, hid_reset); @@ -160,7 +160,7 @@ static int command_hid(int argc, char **argv) /* press then release the key */ set_keyboard_report((uint32_t)keycode << 16); - udelay(50000); + udelay(50 * MSEC); set_keyboard_report(0x000000); return EC_SUCCESS; |