Hi,
This series adds CQE (Command Queue Engine) support for cadence
eMMC host controller. the driver enables CQE when both the
conditions mentioned below are met
1. Hardware reports the presence of CQE
2. DT provides a "cqhci" register space
The driver handles amd,pensando-elba platform separately
since it requires an additional byte-lane control
register space. The space is mapped via index "1".
The cqhci-core function "cqhci_pltfm_init" maps CQE
via a named resource "cqchi" and hence DT needs to define
the same if the CQE needs to be enabled
The patch adds three named resources to cater for the
above mentioned requirement. It creates the two possible
combinations for amd,pensando-elba platform,
[hc, bctl] or [hc, bctl, cqhci]
and the other platforms,
[hc] or [hc, cqhci]
Signed-off-by: Rohan Joshi <rohan1sj@cadence.com>
---
Changes in v3:
- Device Tree updates to account for multiple platforms supporting CQE
- Link to v2: https://patch.msgid.link/20260506-cdns_sdhci_cqe-support-v2-0-754fe4de8b65@cadence.com
Changes in v2:
- Use dev_err_probe() for error messages when in probe path
- Updated commit messages as per subsystem naming conventions
- Select MMC_CQHCI in Kconfig for MMC_SDHCI_CADENCE
- Drop new dt-binding example and corrected existing one
- Link to v1: https://patch.msgid.link/20260407-cdns_sdhci_cqe-support-v1-0-13efc0810631@cadence.com
---
Rohan Joshi (2):
dt-bindings: mmc: cdns,sdhci: Add CQE support
mmc: sdhci-cadence: add CQE support
.../devicetree/bindings/mmc/cdns,sdhci.yaml | 28 ++++-
drivers/mmc/host/Kconfig | 1 +
drivers/mmc/host/sdhci-cadence.c | 124 ++++++++++++++++++++-
3 files changed, 146 insertions(+), 7 deletions(-)
---
base-commit: 1590cf0329716306e948a8fc29f1d3ee87d3989f
change-id: 20260721-cdns_sdhci_cqe-support-bf4e4dfcfe67
Best regards,
--
Rohan Joshi <rohan1sj@cadence.com>