feat(sd): added readme for dependency among SD host related components

This commit is contained in:
Armando 2023-11-17 12:09:23 +08:00
parent c50e364a97
commit b8aba80172
3 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# SDMMC Host Driver
SD Host side related components are:
- `sdmmc`
- `esp_driver_sdmmc` (current component)
- `esp_driver_sdspi`
For relationship and dependency among these components, see [SD Host Side Related Component Architecture](../sdmmc/README.md).
`esp_driver_sdmmc` components holds SDMMC Host driver for ESP SDMMC peripheral, this driver provides APIs to help you:
- do SD transactions (under SD mode) via ESP SDMMC peripheral.
- tune ESP SDMMC hardware configurations, such as clock frequency, bus width, etc.
- ...
You can
- use this driver to implement `sdmmc` protocol interfaces
- directly use `esp_driver_sdmmc` APIs
to communicate with SD slave devices under SD mode.

View File

@ -0,0 +1,19 @@
# SDSPI Host Driver
SD Host side related components are:
- `sdmmc`
- `esp_driver_sdmmc`
- `esp_driver_sdspi` (current component)
For relationship and dependency among these components, see [SD Host Side Related Component Architecture](../sdmmc/README.md).
`esp_driver_sdspi` components is a driver based on ESP GPSPI master driver to help you:
- do SD transactions (under SDSPI mode) via ESP GPSPI peripheral.
- tune ESP GPSPI hardware configurations, such as clock frequency, bus width, etc.
- ...
You can
- use this driver to implement `sdmmc` protocol interfaces
- directly use `esp_driver_sdspi` APIs
to communicate with SD slave devices under SDSPI mode.

View File

@ -0,0 +1,35 @@
# SDMMC Protocol Layer Driver
## SD Host Side Related Component Architecture
### Architecture Graph
┌─────────────────────────────────────────────┐
│ │
│ SD Protocol Layer Driver: components/sdmmc │
│ │
└──────────▲────────────────────▲─────────────┘
│ │
│ │
Implements │ │ Implements
│ │
┌──────────────────────────────────┴─────┐ ┌────┴───────────────────────────────────┐
│ │ │ │
│Host Driver: components/esp_driver_sdmmc│ │Host Driver: components/esp_driver_sdspi│
│ │ │ │
└────────────────────────────────────────┘ └────────────────────────────────────────┘
### Components
- `sdmmc`: SD protocol layer driver, it provides SD protocol related definitions and interfaces. With corresponding implementation drivers, `sdmmc` APIs can help you:
- send commands to slave devices
- send and receive data
- handle error conditions within the bus
- `esp_driver_sdmmc`: SDMMC Host driver for ESP SDMMC hardware, it implements the `sdmmc` protocol interfaces.
- `esp_driver_sdspi`: SDSPI Host driver for ESP GPSPI hardware, it implements the `sdmmc` protocol interfaces.
### Dependency
- `esp_driver_sdmmc` is in driver layer (G2), it relies on `sdmmc`
- `esp_driver_sdspi` is in driver layer (G2), it relies on `sdmmc`
- `sdmmc` does not and should not rely on `esp_driver_sdmmc` or `esp_driver_sdspi`. Though `sdmmc` is independent, it still stays in G2.