diff --git a/doc/architecture/fpga.md b/doc/architecture/fpga.md index af26de0e8..3a3b0b983 100644 --- a/doc/architecture/fpga.md +++ b/doc/architecture/fpga.md @@ -46,6 +46,7 @@ For all registers in this section, the functionality is mapped onto the least si | 0x8010_0000 | 1 MiB | [UART][] | | 0x8020_0000 | 1 MiB | [I2C host][] | | 0x8030_0000 | 1 MiB | [SPI host][] | +| 0x8040_0000 | 1 MiB | [USB device][] | | 0x8800_0000 | 64 MiB | [PLIC][] | | 0xB000_0000 | 4 KiB | [Debug module][] | @@ -55,6 +56,7 @@ For all registers in this section, the functionality is mapped onto the least si [Timer]: ../ip/timer.md [I2C host]: ../ip/i2c.md [SPI host]: ../ip/spi.md +[USB device]: ../ip/usb.md [HyperRAM]: ../ip/ram.md [DMA]: ../ip/dma.md [ADC]: ../ip/adc.md diff --git a/doc/ip/usb.md b/doc/ip/usb.md new file mode 100644 index 000000000..2c2bf435a --- /dev/null +++ b/doc/ip/usb.md @@ -0,0 +1,6 @@ +# USB 2.0 device + +The USB (Universal Serial Bus) device hardware IP block in Sonata is taken from the OpenTitan project. +You can find the full documentation [here](https://opentitan.org/book/hw/ip/usbdev/index.html). + +Multiple USB devices are allowed to be instantiated at a `0x1000` offset from each other up to a maximum of 256 instantiations.