39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Xilin Wu <sophon@radxa.com>
|
|
Date: Fri, 25 Jul 2025 12:49:28 +0800
|
|
Subject: scsi: ufs: qcom: Add support for UFS module detection
|
|
|
|
Signed-off-by: Xilin Wu <sophon@radxa.com>
|
|
---
|
|
drivers/ufs/host/ufs-qcom.c | 14 ++++++++++
|
|
1 file changed, 14 insertions(+)
|
|
|
|
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
|
|
index 111111111111..222222222222 100644
|
|
--- a/drivers/ufs/host/ufs-qcom.c
|
|
+++ b/drivers/ufs/host/ufs-qcom.c
|
|
@@ -2224,6 +2224,20 @@ static int ufs_qcom_probe(struct platform_device *pdev)
|
|
{
|
|
int err;
|
|
struct device *dev = &pdev->dev;
|
|
+ struct gpio_desc *cd_gpio;
|
|
+
|
|
+ cd_gpio = devm_gpiod_get_optional(dev, "cd", GPIOD_IN);
|
|
+ if (IS_ERR(cd_gpio)) {
|
|
+ return dev_err_probe(dev, PTR_ERR(cd_gpio),
|
|
+ "failed to get card-detect GPIO\n");
|
|
+ }
|
|
+
|
|
+ if (cd_gpio) {
|
|
+ if (!gpiod_get_value(cd_gpio)) {
|
|
+ dev_info(dev, "UFS module not present, skipping initialization\n");
|
|
+ return 0;
|
|
+ }
|
|
+ }
|
|
|
|
/* Perform generic probe */
|
|
err = ufshcd_pltfrm_init(pdev, &ufs_hba_qcom_vops);
|
|
--
|
|
Armbian
|
|
|