sdio
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| sdio [2024/10/20 10:19] – created arisotura | sdio [2025/04/16 20:24] (current) – arisotura | ||
|---|---|---|---|
| Line 50: | Line 50: | ||
| | 0xE00100FE | SD_HostControllerVersion | | | 0xE00100FE | SD_HostControllerVersion | | ||
| - | This SDIO host controller | + | There is also a register at 0xF0004800 that seems to control something related to the SDIO controller. The reset value for that register is 3, any other value breaks SDIO functionality. Not known yet how this works in detail. |
| - | For example, when setting the block size for a CMD53 transfer, the stock firmware sets bit 12-14 in SD_BlockSize to 7. The open-source BCM43xx drivers do not do this. It is not known what this changes implies, but DMA will not function correctly without | + | This SDIO host controller seems to be mostly standards compliant. Documentation: |
| + | |||
| + | When setting the block size for a CMD53 transfer, the stock firmware sets bit 12-14 in SD_BlockSize to 7. The open-source BCM43xx drivers do not do this. These bits are the SDMA buffer boundary: a DMA transfer stops when crossing the specified boundary (here configured to 512K). Writing a new address to SD_SysAddr | ||
| Register SD_Capabilities reads as 0x69EF30B0. (TODO: document some of the other fixed registers) | Register SD_Capabilities reads as 0x69EF30B0. (TODO: document some of the other fixed registers) | ||
| + | |||
sdio.1729419599.txt.gz · Last modified: 2024/10/20 10:19 by arisotura
