From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754687AbcDTIGG (ORCPT ); Wed, 20 Apr 2016 04:06:06 -0400 Received: from mail.visioncatalog.com ([217.6.246.34]:43198 "EHLO root.phytec.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754163AbcDTIGA (ORCPT ); Wed, 20 Apr 2016 04:06:00 -0400 From: Wadim Egorov To: linux-kernel@vger.kernel.org, broonie@kernel.org Cc: lgirdwood@gmail.com Subject: [PATCH 2/2] regulator: fan53555: Add support for FAN53555UC13X type Date: Wed, 20 Apr 2016 10:01:08 +0200 Message-Id: <1461139268-45957-2-git-send-email-w.egorov@phytec.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461139268-45957-1-git-send-email-w.egorov@phytec.de> References: <1461139268-45957-1-git-send-email-w.egorov@phytec.de> X-MIMETrack: Itemize by SMTP Server on Idefix/Phytec(Release 9.0.1FP5 HF413|March 21, 2016) at 20.04.2016 10:05:31, Serialize by Router on Idefix/Phytec(Release 9.0.1FP5 HF413|March 21, 2016) at 20.04.2016 10:05:31, Serialize complete at 20.04.2016 10:05:31 X-TNEFEvaluated: 1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org IC type options 00, 13 and 23 are sharing the same DIE_ID 0. Let's differentiate between these revisions. FAN53555UC13X has the ID 0 and REV 0xf, starts at 800mV and increments in 10mV steps. Signed-off-by: Wadim Egorov --- drivers/regulator/fan53555.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index d4bfa93..d7da81a 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -68,6 +68,12 @@ enum { FAN53555_CHIP_ID_08 = 8, }; +/* IC mask revision */ +enum { + FAN53555_CHIP_REV_00 = 0x3, + FAN53555_CHIP_REV_13 = 0xf, +}; + enum { SILERGY_SYR82X = 8, }; @@ -218,6 +224,22 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) /* Init voltage range and step */ switch (di->chip_id) { case FAN53555_CHIP_ID_00: + switch (di->chip_rev) { + case FAN53555_CHIP_REV_00: + di->vsel_min = 600000; + di->vsel_step = 10000; + break; + case FAN53555_CHIP_REV_13: + di->vsel_min = 800000; + di->vsel_step = 10000; + break; + default: + dev_err(di->dev, + "Chip ID %d with rev %d not supported!\n", + di->chip_id, di->chip_rev); + return -EINVAL; + } + break; case FAN53555_CHIP_ID_01: case FAN53555_CHIP_ID_03: case FAN53555_CHIP_ID_05: -- 1.9.1