[info] name = "USB" desc = "USB Controller" [[int]] name = "USB_GEN" desc = "USB General Interrupt Request" vect = 10 [[int]] name = "USB_COM" desc = "USB Endpoint/Pipe Interrupt Communication Request" vect = 11 #---------------------------------------------------------------------# [[reg]] name = "UHWCON" desc = "USB Hardware Control" addr = "0xD7" fields = [ {name="UVREGE", desc="USB pad regulator enable", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "USBCON" desc = "USB Control" addr = "0xD8" cstm="0x20" fields = [ {name="USBE", desc="USB macro Enable", rnge="7:7"}, {name="FRZCLK", desc="Freeze USB Clock", rnge="5:5"}, {name="OTGPADE", desc="VBUS Pad Enable", rnge="4:4"}, {name="VBUSTE", desc="VBUS Transition Interrupt Enable", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "USBSTA" desc = "USB Status" addr = "0xD9" cstm="""\ read-only 0x02 """ fields = [ {name="ID", desc="ID Status (Always 1)", rnge="1:1"}, {name="VBUS", desc="VBus Flag", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "USBINT" desc = "USB Interrupt" addr = "0xDA" fields = [ {name="VBUSTI", desc="IVBUS Transition Interrupt Flag", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDCON" desc = "USB Device Control" addr = "0xE0" cstm="0x01" fields = [ {name="RSTCPU", desc="Reset CPU Bit", rnge="3:3", cstm="read-only"}, {name="LSM", desc="Low Speed Mode Selection", rnge="2:2"}, {name="RMWKUP", desc="Remote Wake-Up", rnge="1:1"}, {name="DETACH", desc="Detach Device", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDINT" desc = "USB Device Interrupt" addr = "0xE1" fields = [ {name="UPRSMI", desc="Upstream Resume Interrupt Flag", rnge="6:6"}, {name="EORSMI", desc="End Of Resume Interrupt Flag", rnge="5:5"}, {name="WAKEUPI", desc="Wake-up CPU Interrupt Flag", rnge="4:4"}, {name="EORSTI", desc="End Of Reset Interrupt Flag", rnge="3:3"}, {name="SOFI", desc="Start Of Frame Interrupt Flag", rnge="2:2"}, {name="SUSPI", desc="Suspend Interrupt Flag", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDIEN" desc = "USB Device Interrupt Enable" addr = "0xE2" fields = [ {name="UPRSME", desc="Upstream Resume Interrupt Enable", rnge="6:6"}, {name="EORSME", desc="End Of Resume Interrupt Enable", rnge="5:5"}, {name="WAKEUPE", desc="Wake-up CPU Interrupt Enable", rnge="4:4"}, {name="EORSTE", desc="End Of Reset Interrupt Enable", rnge="3:3"}, {name="SOFE", desc="Start Of Frame Interrupt Enable", rnge="2:2"}, {name="SUSPE", desc="Suspend Interrupt Enable", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDADDR" desc = "USB Device Address" addr = "0xE3" fields = [ {name="ADDEN", desc="Address Enable", rnge="7:7", cstm="write-only"}, {name="UADD", desc="USB Address", rnge="6:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDFNUMH" desc = "USB Frame Number High" addr = "0xE5" cstm = "read-only" fields = [ {name="FNUM", desc="Frame Number (High Bits)", rnge="2:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDFNUML" desc = "USB Frame Number Low" addr = "0xE4" cstm = "read-only" fields = [ {name="FNUM", desc="Frame Number (Low Bits)", rnge="7:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UDMFN" desc = "USB Frame Number CRC Error Flag" addr = "0xE6" cstm = "read-only" fields = [ {name="FNCERR", desc="Frame Number CRC Error Flag", rnge="4:4"}, ] #---------------------------------------------------------------------# [[reg]] name = "UENUM" desc = "USB Endpoint Number" addr = "0xE9" fields = [ {name="EPNUM", desc="Endpoint Number", rnge="2:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UERST" desc = "USB Endpoint Reset" addr = "0xEA" fields = [ {name="EPRST6", desc="Endpoint 6 FIFO Reset", rnge="6:6"}, {name="EPRST5", desc="Endpoint 5 FIFO Reset", rnge="5:5"}, {name="EPRST4", desc="Endpoint 4 FIFO Reset", rnge="4:4"}, {name="EPRST3", desc="Endpoint 3 FIFO Reset", rnge="3:3"}, {name="EPRST2", desc="Endpoint 2 FIFO Reset", rnge="2:2"}, {name="EPRST1", desc="Endpoint 1 FIFO Reset", rnge="1:1"}, {name="EPRST0", desc="Endpoint 0 FIFO Reset", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UECONX" desc = "USB Endpoint Control" addr = "0xEB" fields = [ {name="STALLRQ", desc="Stall Request Handshake", rnge="5:5", cstm="write-only"}, {name="STALLRQC", desc="Stall Request Clear Handshake", rnge="4:4", cstm="write-only"}, {name="RSTDT", desc="Reset Data Toggle", rnge="3:3", cstm="write-only"}, {name="EPEN", desc="Endpoint Enable", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UECFG0X" desc = "USB Endpoint Configuration 0" addr = "0xEC" fields = [ {name="EPTYPE", desc="Endpoint Type", rnge="7:6"}, {name="EPDIR", desc="Endpoint Direction", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UECFG1X" desc = "USB Endpoint Configuration 1" addr = "0xED" fields = [ {name="EPSIZE", desc="Endpoint Size", rnge="6:4"}, {name="EPBK", desc="Endpoint Bank", rnge="3:2"}, {name="ALLOC", desc="Endpoint Allocation", rnge="1:1"}, ] #---------------------------------------------------------------------# [[reg]] name = "UESTA0X" desc = "USB Endpoint Status 0" addr = "0xEE" cstm="read-only" fields = [ {name="CFGOK", desc="Configuration Status Flag", rnge="7:7"}, {name="OVERFI", desc="Overflow Error Interrupt Flag", rnge="6:6", cstm="read-write"}, {name="UNDERFI", desc="Underflow Error Interrupt Flag", rnge="5:5", cstm="read-write"}, {name="DTSEQ", desc="Data Toggle Sequencing Flag", rnge="3:2"}, {name="NBUSYBK", desc="Busy Bank Flag", rnge="1:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UESTA1X" desc = "USB Endpoint Status 1" addr = "0xEF" cstm="read-only" fields = [ {name="CTRLDIR", desc="Control Direction Flag", rnge="2:2"}, {name="CURRBK", desc="Current Bank Flag", rnge="1:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UEINTX" desc = "USB Endpoint Interrupt" addr = "0xE8" fields = [ {name="FIFOCON", desc="FIFO Control Bit", rnge="7:7"}, {name="NAKINI", desc="NAK IN Received Interrupt Flag", rnge="6:6"}, {name="RWAL", desc="Read/Write Allowed Flag", rnge="5:5"}, {name="NAKOUTI", desc="NAK OUT Received Interrupt Flag", rnge="4:4"}, {name="RXSTPI", desc="Received Setup Interrupt Flag", rnge="3:3"}, {name="RXOUTI", desc="Received Out Data Interrupt Flag", rnge="2:2"}, {name="STALLEDI", desc="STALLEDI Interrupt Flag", rnge="1:1"}, {name="TXINI", desc="Transmitter Ready Interrupt Flag", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UEIENX" desc = "USB Endpoint Interrupt Enable" addr = "0xF0" fields = [ {name="FLERRE", desc="Flow Error Interrupt Enable Flag", rnge="7:7"}, {name="NAKINE", desc="NAK IN Interrupt Enable Flag", rnge="6:6"}, {name="NAKOUTE", desc="NAK OUT Interrupt Enable Flag", rnge="4:4"}, {name="RXSTPE", desc="Received Setup Interrupt Enable Flag", rnge="3:3"}, {name="RXOUTE", desc="Received Out Data Interrupt Enable Flag", rnge="2:2"}, {name="STALLEDE", desc="Stalled Interrupt Enable Flag", rnge="1:1"}, {name="TXINE", desc="Transmitter Ready Interrupt Enable Flag", rnge="0:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UEDATX" desc = "USB Endpoint Data" addr = "0xF1" #---------------------------------------------------------------------# [[reg]] name = "UEBCHX" desc = "USB Endpoint Byte Count High" addr = "0xF3" cstm="read-only" fields = [ {name="BYCT_H", desc="Byte Count High Bits", rnge="2:0"}, ] #---------------------------------------------------------------------# [[reg]] name = "UEBCLX" desc = "USB Endpoint Byte Count Low" addr = "0xF2" cstm="read-only" #---------------------------------------------------------------------# [[reg]] name = "UEINT" desc = "USB Endpoint Interrupts" addr = "0xF4" fields = [ {name="D6", desc="Endpoint 6 Interrupt Bit", rnge="6:6"}, {name="D5", desc="Endpoint 5 Interrupt Bit", rnge="5:5"}, {name="D4", desc="Endpoint 4 Interrupt Bit", rnge="4:4"}, {name="D3", desc="Endpoint 3 Interrupt Bit", rnge="3:3"}, {name="D2", desc="Endpoint 2 Interrupt Bit", rnge="2:2"}, {name="D1", desc="Endpoint 1 Interrupt Bit", rnge="1:1"}, {name="D0", desc="Endpoint 0 Interrupt Bit", rnge="0:0"}, ]