diff --git a/data/registers/otgfs_v3.yaml b/data/registers/otgfs_v3.yaml new file mode 100644 index 0000000..9323360 --- /dev/null +++ b/data/registers/otgfs_v3.yaml @@ -0,0 +1,598 @@ +--- +block/OTG_FS: + description: USB on the go full speed + items: + - name: GOTGCTL + description: Control and status register + byte_offset: 0 + fieldset: GOTGCTL + - name: GOTGINT + description: Interrupt register + byte_offset: 4 + fieldset: GOTGINT + - name: GAHBCFG + description: AHB configuration register + byte_offset: 8 + fieldset: GAHBCFG + - name: GUSBCFG + description: USB configuration register + byte_offset: 12 + fieldset: GUSBCFG + - name: GRSTCTL + description: Reset register + byte_offset: 16 + fieldset: GRSTCTL + - name: GINTSTS + description: Core interrupt register + byte_offset: 20 + fieldset: GINTSTS + - name: GINTMSK + description: Interrupt mask register + byte_offset: 24 + fieldset: GINTMSK + - name: GRXSTSR_Device + description: Receive status debug read (Device mode) + byte_offset: 28 + access: Read + fieldset: GRXSTSR_Device + - name: GRXSTSR_Host + description: Receive status debug read (Host mode) + byte_offset: 28 + access: Read + fieldset: GRXSTSR_Host + - name: GRXSTSP_Device + description: Status read and pop (Device mode) + byte_offset: 32 + access: Read + fieldset: GRXSTSP_Device + - name: GRXSTSP_Host + description: Status read and pop (Host mode) + byte_offset: 32 + access: Read + fieldset: GRXSTSP_Host + - name: GRXFSIZ + description: Receive FIFO size register + byte_offset: 36 + fieldset: GRXFSIZ + - name: DIEPTXF0 + description: Non-periodic transmit FIFO size register (Device mode) + byte_offset: 40 + fieldset: DIEPTXF0 + - name: HNPTXFSIZ + description: Non-periodic transmit FIFO size register (Host mode) + byte_offset: 40 + fieldset: HNPTXFSIZ + - name: GNPTXSTS + description: Non-periodic transmit FIFO/queue status register + byte_offset: 44 + access: Read + fieldset: GNPTXSTS + - name: GCCFG + description: General core configuration register + byte_offset: 56 + fieldset: GCCFG + - name: CID + description: Core ID register + byte_offset: 60 + fieldset: CID + - name: HPTXFSIZ + description: Host periodic transmit FIFO size register + byte_offset: 256 + fieldset: HPTXFSIZ + - name: DIEPTXF + description: Device IN endpoint transmit FIFO size register + array: + len: 3 + stride: 4 + byte_offset: 260 + fieldset: DIEPTXF +fieldset/CID: + description: Core ID register + fields: + - name: PRODUCT_ID + description: Product ID field + bit_offset: 0 + bit_size: 32 +fieldset/DIEPTXF: + description: Device IN endpoint transmit FIFO size register + fields: + - name: INEPTXSA + description: IN endpoint FIFO2 transmit RAM start address + bit_offset: 0 + bit_size: 16 + - name: INEPTXFD + description: IN endpoint TxFIFO depth + bit_offset: 16 + bit_size: 16 +fieldset/DIEPTXF0: + description: Non-periodic transmit FIFO size register (Device mode) + fields: + - name: TX0FSA + description: Endpoint 0 transmit RAM start address + bit_offset: 0 + bit_size: 16 + - name: TX0FD + description: Endpoint 0 TxFIFO depth + bit_offset: 16 + bit_size: 16 +fieldset/GAHBCFG: + description: AHB configuration register + fields: + - name: GINT + description: Global interrupt mask + bit_offset: 0 + bit_size: 1 + - name: TXFELVL + description: TxFIFO empty level + bit_offset: 7 + bit_size: 1 + - name: PTXFELVL + description: Periodic TxFIFO empty level + bit_offset: 8 + bit_size: 1 +fieldset/GCCFG: + description: General core configuration register + fields: + - name: PWRDWN + description: Power down + bit_offset: 16 + bit_size: 1 + - name: VBUSASEN + description: Enable the VBUS sensing device + bit_offset: 18 + bit_size: 1 + - name: VBUSBSEN + description: Enable the VBUS sensing device + bit_offset: 19 + bit_size: 1 + - name: SOFOUTEN + description: SOF output enable + bit_offset: 20 + bit_size: 1 +fieldset/GINTMSK: + description: Interrupt mask register + fields: + - name: MMISM + description: Mode mismatch interrupt mask + bit_offset: 1 + bit_size: 1 + - name: OTGINT + description: OTG interrupt mask + bit_offset: 2 + bit_size: 1 + - name: SOFM + description: Start of frame mask + bit_offset: 3 + bit_size: 1 + - name: RXFLVLM + description: Receive FIFO non-empty mask + bit_offset: 4 + bit_size: 1 + - name: NPTXFEM + description: Non-periodic TxFIFO empty mask + bit_offset: 5 + bit_size: 1 + - name: GINAKEFFM + description: Global non-periodic IN NAK effective mask + bit_offset: 6 + bit_size: 1 + - name: GONAKEFFM + description: Global OUT NAK effective mask + bit_offset: 7 + bit_size: 1 + - name: ESUSPM + description: Early suspend mask + bit_offset: 10 + bit_size: 1 + - name: USBSUSPM + description: USB suspend mask + bit_offset: 11 + bit_size: 1 + - name: USBRST + description: USB reset mask + bit_offset: 12 + bit_size: 1 + - name: ENUMDNEM + description: Enumeration done mask + bit_offset: 13 + bit_size: 1 + - name: ISOODRPM + description: Isochronous OUT packet dropped interrupt mask + bit_offset: 14 + bit_size: 1 + - name: EOPFM + description: End of periodic frame interrupt mask + bit_offset: 15 + bit_size: 1 + - name: IEPINT + description: IN endpoints interrupt mask + bit_offset: 18 + bit_size: 1 + - name: OEPINT + description: OUT endpoints interrupt mask + bit_offset: 19 + bit_size: 1 + - name: IISOIXFRM + description: Incomplete isochronous IN transfer mask + bit_offset: 20 + bit_size: 1 + - name: IPXFRM_IISOOXFRM + description: Incomplete periodic transfer mask(Host mode)/Incomplete isochronous OUT transfer mask(Device mode) + bit_offset: 21 + bit_size: 1 + - name: PRTIM + description: Host port interrupt mask + bit_offset: 24 + bit_size: 1 + - name: HCIM + description: Host channels interrupt mask + bit_offset: 25 + bit_size: 1 + - name: PTXFEM + description: Periodic TxFIFO empty mask + bit_offset: 26 + bit_size: 1 + - name: CIDSCHGM + description: Connector ID status change mask + bit_offset: 28 + bit_size: 1 + - name: DISCINT + description: Disconnect detected interrupt mask + bit_offset: 29 + bit_size: 1 + - name: SRQIM + description: Session request/new session detected interrupt mask + bit_offset: 30 + bit_size: 1 + - name: WUIM + description: Resume/remote wakeup detected interrupt mask + bit_offset: 31 + bit_size: 1 +fieldset/GINTSTS: + description: Core interrupt register + fields: + - name: CMOD + description: Current mode of operation + bit_offset: 0 + bit_size: 1 + - name: MMIS + description: Mode mismatch interrupt + bit_offset: 1 + bit_size: 1 + - name: OTGINT + description: OTG interrupt + bit_offset: 2 + bit_size: 1 + - name: SOF + description: Start of frame + bit_offset: 3 + bit_size: 1 + - name: RXFLVL + description: RxFIFO non-empty + bit_offset: 4 + bit_size: 1 + - name: NPTXFE + description: Non-periodic TxFIFO empty + bit_offset: 5 + bit_size: 1 + - name: GINAKEFF + description: Global IN non-periodic NAK effective + bit_offset: 6 + bit_size: 1 + - name: GOUTNAKEFF + description: Global OUT NAK effective + bit_offset: 7 + bit_size: 1 + - name: ESUSP + description: Early suspend + bit_offset: 10 + bit_size: 1 + - name: USBSUSP + description: USB suspend + bit_offset: 11 + bit_size: 1 + - name: USBRST + description: USB reset + bit_offset: 12 + bit_size: 1 + - name: ENUMDNE + description: Enumeration done + bit_offset: 13 + bit_size: 1 + - name: ISOODRP + description: Isochronous OUT packet dropped interrupt + bit_offset: 14 + bit_size: 1 + - name: EOPF + description: End of periodic frame interrupt + bit_offset: 15 + bit_size: 1 + - name: IEPINT + description: IN endpoint interrupt + bit_offset: 18 + bit_size: 1 + - name: OEPINT + description: OUT endpoint interrupt + bit_offset: 19 + bit_size: 1 + - name: IISOIXFR + description: Incomplete isochronous IN transfer + bit_offset: 20 + bit_size: 1 + - name: IPXFR_INCOMPISOOUT + description: Incomplete periodic transfer(Host mode)/Incomplete isochronous OUT transfer(Device mode) + bit_offset: 21 + bit_size: 1 + - name: HPRTINT + description: Host port interrupt + bit_offset: 24 + bit_size: 1 + - name: HCINT + description: Host channels interrupt + bit_offset: 25 + bit_size: 1 + - name: PTXFE + description: Periodic TxFIFO empty + bit_offset: 26 + bit_size: 1 + - name: CIDSCHG + description: Connector ID status change + bit_offset: 28 + bit_size: 1 + - name: DISCINT + description: Disconnect detected interrupt + bit_offset: 29 + bit_size: 1 + - name: SRQINT + description: Session request/new session detected interrupt + bit_offset: 30 + bit_size: 1 + - name: WKUPINT + description: Resume/remote wakeup detected interrupt + bit_offset: 31 + bit_size: 1 +fieldset/GOTGCTL: + description: Control and status register + fields: + - name: SRQSCS + description: Session request success + bit_offset: 0 + bit_size: 1 + - name: SRQ + description: Session request + bit_offset: 1 + bit_size: 1 + - name: HNGSCS + description: Host negotiation success + bit_offset: 8 + bit_size: 1 + - name: HNPRQ + description: HNP request + bit_offset: 9 + bit_size: 1 + - name: HSHNPEN + description: Host set HNP enable + bit_offset: 10 + bit_size: 1 + - name: DHNPEN + description: Device HNP enabled + bit_offset: 11 + bit_size: 1 + - name: CIDSTS + description: Connector ID status + bit_offset: 16 + bit_size: 1 + - name: DBCT + description: Long/short debounce time + bit_offset: 17 + bit_size: 1 + - name: ASVLD + description: A-session valid + bit_offset: 18 + bit_size: 1 + - name: BSVLD + description: B-session valid + bit_offset: 19 + bit_size: 1 +fieldset/GOTGINT: + description: Interrupt register + fields: + - name: SEDET + description: Session end detected + bit_offset: 2 + bit_size: 1 + - name: SRSSCHG + description: Session request success status change + bit_offset: 8 + bit_size: 1 + - name: HNSSCHG + description: Host negotiation success status change + bit_offset: 9 + bit_size: 1 + - name: HNGDET + description: Host negotiation detected + bit_offset: 17 + bit_size: 1 + - name: ADTOCHG + description: A-device timeout change + bit_offset: 18 + bit_size: 1 + - name: DBCDNE + description: Debounce done + bit_offset: 19 + bit_size: 1 +fieldset/GRSTCTL: + description: Reset register + fields: + - name: CSRST + description: Core soft reset + bit_offset: 0 + bit_size: 1 + - name: HSRST + description: HCLK soft reset + bit_offset: 1 + bit_size: 1 + - name: FCRST + description: Host frame counter reset + bit_offset: 2 + bit_size: 1 + - name: RXFFLSH + description: RxFIFO flush + bit_offset: 4 + bit_size: 1 + - name: TXFFLSH + description: TxFIFO flush + bit_offset: 5 + bit_size: 1 + - name: TXFNUM + description: TxFIFO number + bit_offset: 6 + bit_size: 5 + - name: AHBIDL + description: AHB master idle + bit_offset: 31 + bit_size: 1 +fieldset/GRXFSIZ: + description: Receive FIFO size register + fields: + - name: RXFD + description: RxFIFO depth + bit_offset: 0 + bit_size: 16 +fieldset/GRXSTSP_Device: + description: Status read and pop (Device mode) + fields: + - name: EPNUM + description: Endpoint number + bit_offset: 0 + bit_size: 4 + - name: BCNT + description: Byte count + bit_offset: 4 + bit_size: 11 + - name: DPID + description: Data PID + bit_offset: 15 + bit_size: 2 + - name: PKTSTS + description: Packet status + bit_offset: 17 + bit_size: 4 + - name: FRMNUM + description: Frame number + bit_offset: 21 + bit_size: 4 +fieldset/GRXSTSP_Host: + description: Status read and pop (Host mode) + fields: + - name: CHNUM + description: Channel number + bit_offset: 0 + bit_size: 4 + - name: BCNT + description: Byte count + bit_offset: 4 + bit_size: 11 + - name: DPID + description: Data PID + bit_offset: 15 + bit_size: 2 + - name: PKTSTS + description: Packet status + bit_offset: 17 + bit_size: 4 +fieldset/GRXSTSR_Device: + description: Receive status debug read(Device mode) + fields: + - name: EPNUM + description: Endpoint number + bit_offset: 0 + bit_size: 4 + - name: BCNT + description: Byte count + bit_offset: 4 + bit_size: 11 + - name: DPID + description: Data PID + bit_offset: 15 + bit_size: 2 + - name: PKTSTS + description: Packet status + bit_offset: 17 + bit_size: 4 + - name: FRMNUM + description: Frame number + bit_offset: 21 + bit_size: 4 +fieldset/GRXSTSR_Host: + description: Receive status debug read(Host mode) + fields: + - name: EPNUM + description: Endpoint number + bit_offset: 0 + bit_size: 4 + - name: BCNT + description: Byte count + bit_offset: 4 + bit_size: 11 + - name: DPID + description: Data PID + bit_offset: 15 + bit_size: 2 + - name: PKTSTS + description: Packet status + bit_offset: 17 + bit_size: 4 +fieldset/GUSBCFG: + description: USB configuration register + fields: + - name: TOCAL + description: FS timeout calibration + bit_offset: 0 + bit_size: 3 + - name: PHYSEL + description: Full Speed serial transceiver select + bit_offset: 6 + bit_size: 1 + - name: SRPCAP + description: SRP-capable + bit_offset: 8 + bit_size: 1 + - name: HNPCAP + description: HNP-capable + bit_offset: 9 + bit_size: 1 + - name: TRDT + description: USB turnaround time + bit_offset: 10 + bit_size: 4 + - name: FHMOD + description: Force host mode + bit_offset: 29 + bit_size: 1 + - name: FDMOD + description: Force device mode + bit_offset: 30 + bit_size: 1 +fieldset/HNPTXFSIZ: + description: Non-periodic transmit FIFO size register (Host mode) + fields: + - name: NPTXFSA + description: Non-periodic transmit RAM start address + bit_offset: 0 + bit_size: 16 + - name: NPTXFD + description: Non-periodic TxFIFO depth + bit_offset: 16 + bit_size: 16 +fieldset/HPTXFSIZ: + description: Host periodic transmit FIFO size register + fields: + - name: PTXSA + description: Host periodic TxFIFO start address + bit_offset: 0 + bit_size: 16 + - name: PTXFSIZ + description: Host periodic TxFIFO depth + bit_offset: 16 + bit_size: 16 diff --git a/stm32data/__main__.py b/stm32data/__main__.py index 27b4532..6e500ed 100755 --- a/stm32data/__main__.py +++ b/stm32data/__main__.py @@ -159,6 +159,7 @@ perimap = [ ('.*:SDMMC:sdmmc_v1_3', ('sdmmc', 'v1', 'SDMMC')), ('.*:SPDIFRX:spdifrx1_v1_0', ('spdifrx', 'v1', 'SPDIFRX')), ('.*:USB_OTG_FS:otgfs1_v1_.*', ('otgfs', 'v1', 'OTG_FS')), + ('.*:USB_OTG_FS:otgfs1_v3_.*', ('otgfs', 'v3', 'OTG_FS')), ('.*:USB_OTG_HS:otghs1_v1_.*', ('otghs', 'v1', 'OTG_HS')), ('STM32F0.*:RCC:.*', ('rcc', 'f0', 'RCC')),