[DOC] Usb compound ip architecure doc - #14
Conversation
Fix Markdown file extension
Add USB uArch detailed block diagram
…d_Block_Diagram.svg
…ck_Diagram.svg.vsdx
Add block diagram reference into text
remove incorrectly formatted block diagram
add USB detailed block diagram
Add functional interface descriptions
Add primary interface description
Add operational flow section
Add document content section
|
|
|
||
| The following diagram provides a detailed view of the USB compound device architecture, including its functional partitioning, internal connectivity, and main interfaces. | ||
|
|
||
|  |
There was a problem hiding this comment.
@ugomari-nxp : can we please break down the picture to a top level flow, followed by one click down of each stage. Currently its unreadable and doesn't present well
|
|
||
| ### Interface Overview | ||
|
|
||
| The JANUS top-level exposes interfaces for: |
There was a problem hiding this comment.
Need to remove all references to Janus since this is a public doc
|
|
||
| - system clock, reset, and power-management coordination; | ||
| - connection to an external USB 2.0 PHY through UTMI or ULPI; | ||
| - independent AHB control of the embedded Hub, DEV0, and DEV1; |
There was a problem hiding this comment.
We should correct AHB references because we are going to have only AXI at the top of this block.
| category. Input groups are shown on the left side of the IP boundary, while | ||
| output and mixed-direction interface groups are shown on the right side. | ||
|
|
||
| images/janus_top_level_interface.png |
There was a problem hiding this comment.
- some picture is missing and 2) we shld remove any janus references
| | USB PHY | UTMI and ULPI | Connects the shared USB PIE to an external USB 2.0 PHY. | | ||
| | Host control | Hub, DEV0, and DEV1 AHB register-control interfaces | Allows an external system master to configure and monitor the three USB functions. | | ||
| | External memory access | Hub Descriptor RAM and DEV0/DEV1 Endpoint RAM AHB interfaces | Allows an external system master to initialize, inspect, and update the USB memories. | | ||
| | Native memory | Hub Descriptor RAM and DEV0/DEV1 Endpoint RAM native interfaces | Connects JANUS to the three external RAM macros or memory models. | |
There was a problem hiding this comment.
It might be good to remove hub descriptor RAM references since we are making this update anyways, and spec can reflect the design even before design is done
| - AHB slave front-ends and AHB-to-memory adapters are reset by | ||
| `ahbs_resetn`. | ||
| - USB functional logic in the system-side clock domain is reset by | ||
| `hresetn`. |
There was a problem hiding this comment.
@clayton8 when we do the AXI and create the top level wrapper around this logic, we need a better name to standout than hreset; may be something like usb_reset_n or something of that nature that shows this is a whole module reset
| to remain active while clock shutdown or wake-up handling is still in | ||
| progress. | ||
|
|
||
| #### Vendor-Specific UTMI Register Access |
There was a problem hiding this comment.
Can we define what vendor-specific UTMI register access means?
|
|
||
| --- | ||
|
|
||
| ## Host-Control AHB Interfaces |
There was a problem hiding this comment.
@clayton8 - this section needs an overhaul once we have AXI because AHB is not going to be publicly visible. If there are any specifical properties that SRAMs need to carry, like byte addressing we probably need to ensure that the AXI2AHB bridge supports that. Not sure if there is any other place where we support byte addressing. It might actually be easier and safer to make FW do RMW and do any byte stuff as a future enhancement if the AXI2AHB doesnt support it. Most last min bugs come from this type of logic.
|
|
||
| The common behavior is: | ||
|
|
||
| - byte-addressed AHB transfers; |
There was a problem hiding this comment.
@clayton8 here is the reference to the statement. We probably need to check if AXI2AHB supports it and need to fix this. I dont think we support byte addressing anywhere today and this might not be the time we want to start adding this support, this late
| The common behavior is: | ||
|
|
||
| - byte-addressed AHB transfers; | ||
| - byte, half-word, and word access support; |
USB Two-Port Compound Device IP architectural document