Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3372703pxu; Mon, 30 Nov 2020 01:19:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJy18jDTcMrJQMivuImPmsDzwxTeFwfgG62nVVGpxYwVzTXMUM0Hmqh+ZBfS1ocW2OFNzdPC X-Received: by 2002:a17:906:dbd4:: with SMTP id yc20mr1837239ejb.221.1606727953023; Mon, 30 Nov 2020 01:19:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606727953; cv=none; d=google.com; s=arc-20160816; b=czpfEOR82KCx0C8YHd/Ns8RcaeXIlXHfbyiHT/c0Mw0KQsze9xEpkr22U0/xGWIo7H h+gR6YVeJHS/n7uYYYrAwYEhNfzM6BOQEP6+bSTk3ENusgg/m8m1F3AuHHzXs+p4fIdP KVa4F8ViCgb0IcPfoXBs6hqarNAOOsSBLo56jHGuwR6pYUM4oPf7z4sLky2fyN6Wf+PZ JR5FfR6Dkv5g5GUDxuzxLapAn8yYQNUEwRnguTvW0dR06+zSoeq5durKD6FA3b5tmA3A eKy1XhllBN+xpPCzfUCHi5zq1PkMeD7ndtAoHXC3AsmKTSMQgEhE9FWUVYuVaS9Pcdi9 l8PA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=qWDtK4N5t5GvQ/Q8AzU4EjoAzR6Dr5VxnZNV7CSp9ig=; b=gZ79AzwfX5PVOHGdZdkDfUDjw9yl63er9+j9hCJolWQadTZSFuzibVp3NJZRUA5rBd qxf34Ds+6h3G6Nc/26HVuwmTb9Ks8pT7hpdGmU6uXvTNThaMgbKKMQF52NLdxcbmygbj 6gWx6Zjp7OSqkPoslWiNq40akpphmESb7cQWn+EJ7120gb/yqTJDyIDDkbQBJoxXUN/G zNocQaDxCGflaDon4yfp9BlPVf1XJmhX8RmlUUOy8SA/GTK46xCn3m833rC0JXRpE7Xo K6VFErj7yB68XxisVY+0mIjQtj6XUfArJUW7ivT501lNDDq4j0KFpWgou0ki5yz/De19 av7Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s10si10124764ejb.154.2020.11.30.01.18.50; Mon, 30 Nov 2020 01:19:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727622AbgK3JRD (ORCPT + 99 others); Mon, 30 Nov 2020 04:17:03 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:54887 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726032AbgK3JRD (ORCPT ); Mon, 30 Nov 2020 04:17:03 -0500 X-UUID: 911facf2d65d4e0ca5166da42b989b84-20201130 X-UUID: 911facf2d65d4e0ca5166da42b989b84-20201130 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 510319689; Mon, 30 Nov 2020 17:16:18 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 30 Nov 2020 17:16:10 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 30 Nov 2020 17:16:10 +0800 From: Stanley Chu To: , , , , CC: , , , , , , , , , , , , , , , , , , Stanley Chu Subject: [RFC PATCH v1] scsi: ufs: Remove pre-defined initial VCC voltage values Date: Mon, 30 Nov 2020 17:16:10 +0800 Message-ID: <20201130091610.2752-1-stanley.chu@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org UFS specficication allows different VCC configurations for UFS devices, for example, (1). 2.70V - 3.60V (By default) (2). 1.70V - 1.95V (Activated if "vcc-supply-1p8" is declared in device tree) (3). 2.40V - 2.70V (Supported since UFS 3.x) With the introduction of UFS 3.x products, an issue is happening that UFS driver will use wrong "min_uV/max_uV" configuration to toggle VCC regulator on UFU 3.x products with VCC configuration (3) used. To solve this issue, we simply remove pre-defined initial VCC voltage values in UFS driver with below reasons, 1. UFS specifications do not define how to detect the VCC configuration supported by attached device. 2. Device tree already supports standard regulator properties. Therefore VCC voltage shall be defined correctly in device tree, and shall not be changed by UFS driver. What UFS driver needs to do is simply enabling or disabling the VCC regulator only. This is a RFC conceptional patch. Please help review this and feel free to feedback any ideas. Once this concept is accepted, and then I would post a more completed patch series to fix this issue. Signed-off-by: Stanley Chu --- drivers/scsi/ufs/ufshcd-pltfrm.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c index a6f76399b3ae..3965be03c136 100644 --- a/drivers/scsi/ufs/ufshcd-pltfrm.c +++ b/drivers/scsi/ufs/ufshcd-pltfrm.c @@ -133,15 +133,7 @@ static int ufshcd_populate_vreg(struct device *dev, const char *name, vreg->max_uA = 0; } - if (!strcmp(name, "vcc")) { - if (of_property_read_bool(np, "vcc-supply-1p8")) { - vreg->min_uV = UFS_VREG_VCC_1P8_MIN_UV; - vreg->max_uV = UFS_VREG_VCC_1P8_MAX_UV; - } else { - vreg->min_uV = UFS_VREG_VCC_MIN_UV; - vreg->max_uV = UFS_VREG_VCC_MAX_UV; - } - } else if (!strcmp(name, "vccq")) { + if (!strcmp(name, "vccq")) { vreg->min_uV = UFS_VREG_VCCQ_MIN_UV; vreg->max_uV = UFS_VREG_VCCQ_MAX_UV; } else if (!strcmp(name, "vccq2")) { -- 2.18.0