From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37620C76188 for ; Wed, 5 Apr 2023 19:47:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233599AbjDETr4 (ORCPT ); Wed, 5 Apr 2023 15:47:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231574AbjDETrv (ORCPT ); Wed, 5 Apr 2023 15:47:51 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A46851BCB; Wed, 5 Apr 2023 12:47:50 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id 111B366031B8; Wed, 5 Apr 2023 20:47:49 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724069; bh=S3QFPGksFul8EKDz4REcYGEFNQkePdH+o2Lfo0bgFJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eVAqYtskWJnmjdyHOVgtNUkQps0Y9AWTS3YkRNEjAzdW0luaqGqTvNmxU2MUlpKse H14sRKt6TyD2Vpy50G5zW1JN3rjXP/UQ+SfpWm1H52qM53qLHqsoDwq93ydCFDHxJr gqTIF0ajoeslVK4gNSC/pdFG90w0QOiFWmPg7/fgjxZU/+qq1Fk8wgy10qNRkNI4xP ePcR4Eu/49vSNLEKxPONX+Ab6C5rio+YcQWZ2JpwiTz87RaFqt4tUDZy6WGJP2b4kQ VvPUYlp95YSeWqS/ojWThGkicUFScex/jdqQXXeg6x8EfN31NJTJphxfXxCPb1rcqr /qvT4GrDHBDvA== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 1/8] regulator: dt-bindings: fcs,fan53555: Add support for RK860X Date: Wed, 5 Apr 2023 22:47:14 +0300 Message-Id: <20230405194721.821536-2-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add compatibles to support Rockchip RK860X regulators. RK8600/RK8601 are compatible with Fairchild FAN53555 regulators, while RK8602/RK8603 are a bit different, having a wider voltage selection range. Signed-off-by: Cristian Ciocaltea Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml = b/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml index c0dbba843f70..687eda31ad90 100644 --- a/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml +++ b/Documentation/devicetree/bindings/regulator/fcs,fan53555.yaml @@ -17,6 +17,10 @@ properties: enum: - fcs,fan53555 - fcs,fan53526 + - rockchip,rk8600 + - rockchip,rk8601 + - rockchip,rk8602 + - rockchip,rk8603 - silergy,syr827 - silergy,syr828 - tcs,tcs4525 --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B3CCC761AF for ; Wed, 5 Apr 2023 19:48:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232895AbjDETsF (ORCPT ); Wed, 5 Apr 2023 15:48:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233612AbjDETsA (ORCPT ); Wed, 5 Apr 2023 15:48:00 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC59F7684; Wed, 5 Apr 2023 12:47:53 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id A1F72660319A; Wed, 5 Apr 2023 20:47:52 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724072; bh=DMsss3S5xTQ3vBQF9dvbUFqzefuTEWVYo2dfHUqUcKc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BhdI9GvKF1tR9YsiQ78zOGCUmuzVrO+6ZU5PjS22PcJ6tifbGaFJaWAvTBYA8mmTL R02TqaFtoOxFRTRHoOC+moQt7c7eJ3Mg0mSw5dB97ALq5SJrXqtbgXqwf4Hqaq+sAu EZeHz1uMmydtWi52bjqoPDwKv8dF2fWvX2YwCjk1pLoFZsKUQFqdATeJ82IId4Yirg lKrszM/2u/2iX5ahgiLSNRZeM5z2O6sQxCZLdS0o428EVcuEu9KxkJ+O6i8hVz49W8 xho/+Qw7Z/p8nUjCidl/DE7hKGxsTIbeJhXrP4A4lPjjrwzSEsmSuDr5fiK020w0Nh rBKHwQBBBGp1g== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 2/8] regulator: fan53555: Explicitly include bits header Date: Wed, 5 Apr 2023 22:47:15 +0300 Message-Id: <20230405194721.821536-3-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Since commit f2a9eb975ab2 ("regulator: fan53555: Add support for FAN53526") the driver makes use of the BIT() macro, but relies on the bits header being implicitly included. Explicitly pull the header in to avoid potential build failures in some configurations. While here, reorder include directives alphabetically. Fixes: f2a9eb975ab2 ("regulator: fan53555: Add support for FAN53526") Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index d0c678767294..0754c370a21c 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -8,18 +8,19 @@ // Copyright (c) 2012 Marvell Technology Ltd. // Yunfan Zhang =20 +#include +#include +#include #include +#include #include -#include #include +#include #include +#include #include #include -#include -#include #include -#include -#include =20 /* Voltage setting */ #define FAN53555_VSEL0 0x00 --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3C06C76188 for ; Wed, 5 Apr 2023 19:48:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234154AbjDETsL (ORCPT ); Wed, 5 Apr 2023 15:48:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233912AbjDETsD (ORCPT ); Wed, 5 Apr 2023 15:48:03 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5CB3B92; Wed, 5 Apr 2023 12:47:57 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id DDCF96602F91; Wed, 5 Apr 2023 20:47:55 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724076; bh=lFOZ5esxl/tbYIcE53Cn4DHfBeM2O3R87VdL+HeZPkw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iI9APUue2/K4FqjztLPgUI7rn2j0HfLHAk1LAw6Apgdha9JB6y0Gs5d2X6saWELs/ cAUONc+FPvzxUGIy38aWlD8toh0BtYXW6xhk+/YlILQqPb4iRWQJYQmxtdYkh5kZhX dx4gBQ7C/gjBf7cWEzdHKa6VENfwD2pfk0TtsePIrFo1VwF0dTXkOddGK5+1h82rXJ oAzV33h4zAd9tDs0AiUdLOsvjmFPK4qHrWXjKiPnw87qoCoQqpM7MyCpe7sOAnSOMT sxDy3xDAPdNydI1aYFZ166FwSHVmn6LB1wtLDqbmITRsuGoKRmeSnpsAdd8t71vpbp 36xykL0F44eRA== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 3/8] regulator: fan53555: Fix wrong TCS_SLEW_MASK Date: Wed, 5 Apr 2023 22:47:16 +0300 Message-Id: <20230405194721.821536-4-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The support for TCS4525 regulator has been introduced with a wrong ramp-rate mask, which has been defined as a logical expression instead of a bit shift operation. For clarity, fix it using GENMASK() macro. Fixes: 914df8faa7d6 ("regulator: fan53555: Add TCS4525 DCDC support") Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 0754c370a21c..4d2104c3a077 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -61,7 +61,7 @@ #define TCS_VSEL1_MODE (1 << 6) =20 #define TCS_SLEW_SHIFT 3 -#define TCS_SLEW_MASK (0x3 < 3) +#define TCS_SLEW_MASK GENMASK(4, 3) =20 enum fan53555_vendor { FAN53526_VENDOR_FAIRCHILD =3D 0, --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8763C7619A for ; Wed, 5 Apr 2023 19:48:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229628AbjDETsU (ORCPT ); Wed, 5 Apr 2023 15:48:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233852AbjDETsG (ORCPT ); Wed, 5 Apr 2023 15:48:06 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69396E47; Wed, 5 Apr 2023 12:48:01 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id 480B06603197; Wed, 5 Apr 2023 20:47:59 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724079; bh=iPoOGVI0NPGMRksIN5FgAEe90yrWeul7So9tDiTWunw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IM1kI/vOGqYbUP9Yx/v+QlMUos/rtTnHgi7kxxktXihcWQpw0fmPPbXFXUL8uHPDB N0qms8J6ivKUze8Y0FGgFO+aGxlFtaJUc7vygSmo5/zhdHsW+wV73uswdPRMvRdLhi oY87bXoNGGPzTcFqK+zuU66rvK4h04ZEETSovNY9SSSjPV8b8+L8br3zXn8wAA8+k5 +PvsizxGSQj5Lt/JS+Ip7fc6xNbvRUERUtHLMwbuxIZQ2ERqmBgxWnG6Y2ykMiHfOs sWOFUKXHeT9LIoPTw/L4i9fIpwbNx72C/v+1IqX48EQ6cLv/qjWzBa/vVLRUK7BbdN s7zDvHfnZet4w== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 4/8] regulator: fan53555: Remove unused *_SLEW_SHIFT definitions Date: Wed, 5 Apr 2023 22:47:17 +0300 Message-Id: <20230405194721.821536-5-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Commit b61ac767db4d ("regulator: fan53555: Convert to use regulator_set_ramp_delay_regmap") removed the slew_shift member from struct fan53555_device_info, hence the {CTL,TCS}_SLEW_SHIFT definitions remained unused. Drop them. Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 4d2104c3a077..68ebcd4ccef7 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -49,7 +49,6 @@ /* Control bit definitions */ #define CTL_OUTPUT_DISCHG (1 << 7) #define CTL_SLEW_MASK (0x7 << 4) -#define CTL_SLEW_SHIFT 4 #define CTL_RESET (1 << 2) #define CTL_MODE_VSEL0_MODE BIT(0) #define CTL_MODE_VSEL1_MODE BIT(1) @@ -60,7 +59,6 @@ #define TCS_VSEL0_MODE (1 << 7) #define TCS_VSEL1_MODE (1 << 6) =20 -#define TCS_SLEW_SHIFT 3 #define TCS_SLEW_MASK GENMASK(4, 3) =20 enum fan53555_vendor { --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6B7AC761AF for ; Wed, 5 Apr 2023 19:48:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234184AbjDETsd (ORCPT ); Wed, 5 Apr 2023 15:48:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233254AbjDETsM (ORCPT ); Wed, 5 Apr 2023 15:48:12 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D701E69; Wed, 5 Apr 2023 12:48:04 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id A574F6602F91; Wed, 5 Apr 2023 20:48:02 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724082; bh=qXAW+NxBtXP2ZLN97K9FdNC+pkjm39ZBXXRQWxqaxDQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jI54pcEom6oKehCae89+key+iuWfRqK5M0z93IuXr/3R84HmEvBny+6oNQVYpir36 Al1wn80Py1T1YTc00wy0s4oOHM79qjxwLKx1kVM61UtrvL2S/jsKDTUENk94dZW/Ji Ci7Rm/b2OL186mgFEnfDoBjA9ON2U1gs81gheRu2CX4YeVoy1O+lCwxZwiSDb3EI75 iQgyHtcjgyYH+6kIROaWPPMkv+g0DZL1B62RKb5YReT8r4f5gWtucpWArsTmxrxlkl 45Kc2my4uQ+9+66IEvn7AWn7zN8epKUYwiK88EBFr/rgRev1GKIMrI7uj75X1CySK+ EyvvIOG82m4Lw== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 5/8] regulator: fan53555: Make use of the bit macros Date: Wed, 5 Apr 2023 22:47:18 +0300 Message-Id: <20230405194721.821536-6-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For consistency and improved clarity, use BIT() and GENMASK() macros for defining the bitfields inside the registers. No functional changes intended. While here, also fix DIE_{ID,REV} inconsistent indentation. Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 68ebcd4ccef7..181e5eb00e7a 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -41,23 +41,23 @@ #define FAN53555_MONITOR 0x05 =20 /* VSEL bit definitions */ -#define VSEL_BUCK_EN (1 << 7) -#define VSEL_MODE (1 << 6) +#define VSEL_BUCK_EN BIT(7) +#define VSEL_MODE BIT(6) /* Chip ID and Verison */ -#define DIE_ID 0x0F /* ID1 */ -#define DIE_REV 0x0F /* ID2 */ +#define DIE_ID 0x0F /* ID1 */ +#define DIE_REV 0x0F /* ID2 */ /* Control bit definitions */ -#define CTL_OUTPUT_DISCHG (1 << 7) -#define CTL_SLEW_MASK (0x7 << 4) -#define CTL_RESET (1 << 2) +#define CTL_OUTPUT_DISCHG BIT(7) +#define CTL_SLEW_MASK GENMASK(6, 4) +#define CTL_RESET BIT(2) #define CTL_MODE_VSEL0_MODE BIT(0) #define CTL_MODE_VSEL1_MODE BIT(1) =20 #define FAN53555_NVOLTAGES 64 /* Numbers of voltages */ #define FAN53526_NVOLTAGES 128 =20 -#define TCS_VSEL0_MODE (1 << 7) -#define TCS_VSEL1_MODE (1 << 6) +#define TCS_VSEL0_MODE BIT(7) +#define TCS_VSEL1_MODE BIT(6) =20 #define TCS_SLEW_MASK GENMASK(4, 3) =20 --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7908BC761AF for ; Wed, 5 Apr 2023 19:48:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234424AbjDETst (ORCPT ); Wed, 5 Apr 2023 15:48:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234248AbjDETsZ (ORCPT ); Wed, 5 Apr 2023 15:48:25 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AB18B126; Wed, 5 Apr 2023 12:48:07 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id A5592660319A; Wed, 5 Apr 2023 20:48:05 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724085; bh=3rBxNv391K3rouaSGtWY3Lj00PK9hBEW9sLwGyEnlTc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EnhXiLNmJCUAUTpemSZKRY6QGx5m8BuVXFtUZHtmDPKjHE8BGmqcB/1U4cWOywysj feO9LKSQNtsbWg5ZOuQ/SuQEjQFeqftQ8LHI3iL3NTYzj296jWJcbf6+uke8JIpa2g mMrz8y6OoSiJjMGAr0//NYoURi3l1qPrCr3WnjL/EqimSo868HwgY/mD4ibbsXjB+B 9cYIdsNoEMME6b475woL7TVaKliMpdeZjlj94uam2NelYt8yYB8WetxvvvdnlermSI SCYPGD2Al88qM2VicPFs3s4jxfLDvyi5JF2vZocNkWsPBOWDUu6nwEYW5bgz6hSMsJ I77fmCpMfTv6A== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 6/8] regulator: fan53555: Improve vsel_mask computation Date: Wed, 5 Apr 2023 22:47:19 +0300 Message-Id: <20230405194721.821536-7-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In preparation for introducing support for additional regulators which do not use the maximum number of voltage selectors available for a given mask, improve the mask computation formula by using fls(). Note fls() requires the bitops header, hence include it explicitly and drop bits.h which is already pulled by bitops.h. Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 181e5eb00e7a..39c9c29f4ff6 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -8,7 +8,7 @@ // Copyright (c) 2012 Marvell Technology Ltd. // Yunfan Zhang =20 -#include +#include #include #include #include @@ -486,7 +486,7 @@ static int fan53555_regulator_register(struct fan53555_= device_info *di, rdesc->min_uV =3D di->vsel_min; rdesc->uV_step =3D di->vsel_step; rdesc->vsel_reg =3D di->vol_reg; - rdesc->vsel_mask =3D di->vsel_count - 1; + rdesc->vsel_mask =3D BIT(fls(di->vsel_count - 1)) - 1; rdesc->ramp_reg =3D di->slew_reg; rdesc->ramp_mask =3D di->slew_mask; rdesc->ramp_delay_table =3D di->ramp_delay_table; --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EDFEC7619A for ; Wed, 5 Apr 2023 19:49:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233114AbjDETtA (ORCPT ); Wed, 5 Apr 2023 15:49:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45694 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234327AbjDETs1 (ORCPT ); Wed, 5 Apr 2023 15:48:27 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBC9C7AB4; Wed, 5 Apr 2023 12:48:09 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4DEC666031B9; Wed, 5 Apr 2023 20:48:08 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724088; bh=aW4fe1+DDo3cV0bZP+53AoiJSFgqHyfIP7z13IHIZi4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AsrzUygB9XtzLTLVaxrkH5xgjavj4Le4Tjkm+1LtItcCyIECk7rZVIAgU8F4OnHL9 1QSDqw5HRVpC1v7s7kwdgcbuA0DpyCW+o+hRg+KrolH66ChvDBiqxOselWXDbR30p1 hS0Ew9V4aL9gDmceCDKWQnbt+JpLmUIjh6x55ybnjpJrBDwtx1JGEe6ff9OhxDePU8 nvyl84L2qMjIL+c9z7IQN2xlpUdqrJHaXaEgGNPP69MDq5ESP8Tp4s7F/DS/l17QvJ EaOcetXPdToyXCTDF+AGzwFztluWQliaOBhgkW/+UMfOSSbXzhZz7jb5t9RFUVgFrU G9G/bUYg67VsQ== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 7/8] regulator: fan53555: Use dev_err_probe Date: Wed, 5 Apr 2023 22:47:20 +0300 Message-Id: <20230405194721.821536-8-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use dev_err_probe() instead of dev_err() in the probe function, which ensures the error code is always printed and, additionally, simplifies the code a bit. Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 47 ++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index 39c9c29f4ff6..acf14ba7aaa6 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -568,10 +568,9 @@ static int fan53555_regulator_probe(struct i2c_client = *client) if (!pdata) pdata =3D fan53555_parse_dt(&client->dev, np, &di->desc); =20 - if (!pdata || !pdata->regulator) { - dev_err(&client->dev, "Platform data not found!\n"); - return -ENODEV; - } + if (!pdata || !pdata->regulator) + return dev_err_probe(&client->dev, -ENODEV, + "Platform data not found!\n"); =20 di->regulator =3D pdata->regulator; if (client->dev.of_node) { @@ -580,10 +579,9 @@ static int fan53555_regulator_probe(struct i2c_client = *client) } else { /* if no ramp constraint set, get the pdata ramp_delay */ if (!di->regulator->constraints.ramp_delay) { - if (pdata->slew_rate >=3D ARRAY_SIZE(slew_rates)) { - dev_err(&client->dev, "Invalid slew_rate\n"); - return -EINVAL; - } + if (pdata->slew_rate >=3D ARRAY_SIZE(slew_rates)) + return dev_err_probe(&client->dev, -EINVAL, + "Invalid slew_rate\n"); =20 di->regulator->constraints.ramp_delay =3D slew_rates[pdata->slew_rate]; @@ -593,34 +591,31 @@ static int fan53555_regulator_probe(struct i2c_client= *client) } =20 regmap =3D devm_regmap_init_i2c(client, &fan53555_regmap_config); - if (IS_ERR(regmap)) { - dev_err(&client->dev, "Failed to allocate regmap!\n"); - return PTR_ERR(regmap); - } + if (IS_ERR(regmap)) + return dev_err_probe(&client->dev, PTR_ERR(regmap), + "Failed to allocate regmap!\n"); + di->dev =3D &client->dev; i2c_set_clientdata(client, di); /* Get chip ID */ ret =3D regmap_read(regmap, FAN53555_ID1, &val); - if (ret < 0) { - dev_err(&client->dev, "Failed to get chip ID!\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(&client->dev, ret, "Failed to get chip ID!\n"); + di->chip_id =3D val & DIE_ID; /* Get chip revision */ ret =3D regmap_read(regmap, FAN53555_ID2, &val); - if (ret < 0) { - dev_err(&client->dev, "Failed to get chip Rev!\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(&client->dev, ret, "Failed to get chip Rev!\n"); + di->chip_rev =3D val & DIE_REV; dev_info(&client->dev, "FAN53555 Option[%d] Rev[%d] Detected!\n", di->chip_id, di->chip_rev); /* Device init */ ret =3D fan53555_device_setup(di, pdata); - if (ret < 0) { - dev_err(&client->dev, "Failed to setup device!\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(&client->dev, ret, "Failed to setup device!\n"); + /* Register regulator */ config.dev =3D di->dev; config.init_data =3D di->regulator; @@ -630,9 +625,9 @@ static int fan53555_regulator_probe(struct i2c_client *= client) =20 ret =3D fan53555_regulator_register(di, &config); if (ret < 0) - dev_err(&client->dev, "Failed to register regulator!\n"); - return ret; + dev_err_probe(&client->dev, ret, "Failed to register regulator!\n"); =20 + return ret; } =20 static const struct i2c_device_id fan53555_id[] =3D { --=20 2.40.0 From nobody Wed Feb 11 05:28:57 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49AF6C7619A for ; Wed, 5 Apr 2023 19:48:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232356AbjDETs6 (ORCPT ); Wed, 5 Apr 2023 15:48:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233704AbjDETsc (ORCPT ); Wed, 5 Apr 2023 15:48:32 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F115E7DBB; Wed, 5 Apr 2023 12:48:12 -0700 (PDT) Received: from localhost (unknown [188.27.34.213]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4E1D966031C5; Wed, 5 Apr 2023 20:48:11 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1680724091; bh=ubsfMb1V7JFXAOo/IUXZ95ghB2VR04uZVFIbnCt86Qo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IF4xNkn9fzTNEp3KgLrqRR/wm+O9b5McizMbrzB8+shRNTt8tPHKxGz0sA4H7cQ+D DfRsxQsmz8bYdBDy2I5XDTsfTOf1COm2hGuSFK1bsR0tCYCn06CckiLkH+/zbB5cdX AZP/t01FQuxrQyXtL26KMb93xZWZJKWrN7BwST1BOsROfB1D8wRCwRRtdi9Q6a36YM h08ewXeLftVMHYBvdr3MaBLTjGekV7DRShLxpt7D6Df7S8qFVl+4/hYWYMp/pKHkvP p2MTENkfRXPuPBX51imJ8N92WvRPwEGlHT2ByDd/CqsdBcsaZ0pcrHWTT2jdnXDD8C 2Gr7lttsJdtJw== From: Cristian Ciocaltea To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Heiko Stuebner , Bjorn Andersson , Joseph Chen , Ezequiel Garcia Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel@collabora.com Subject: [PATCH 8/8] regulator: fan53555: Add support for RK860X Date: Wed, 5 Apr 2023 22:47:21 +0300 Message-Id: <20230405194721.821536-9-cristian.ciocaltea@collabora.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> References: <20230405194721.821536-1-cristian.ciocaltea@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Extend the existing fan53555 driver to support the Rockchip RK860X regulators. RK8600/RK8601 are fully compatible with FAN53555 regulators. RK8602/RK8603 are a bit different, having a wider output voltage selection range, from 0.5 V to 1.5 V in 6.25 mV steps. They also use additional VSEL0/VSEL1 registers for the voltage selector, but the enable and mode bits are still located in the original FAN53555 specific VSEL0/VSEL1 registers. Signed-off-by: Cristian Ciocaltea --- drivers/regulator/fan53555.c | 133 ++++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 3 deletions(-) diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index acf14ba7aaa6..1c662d6ea57b 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -26,6 +26,9 @@ #define FAN53555_VSEL0 0x00 #define FAN53555_VSEL1 0x01 =20 +#define RK8602_VSEL0 0x06 +#define RK8602_VSEL1 0x07 + #define TCS4525_VSEL0 0x11 #define TCS4525_VSEL1 0x10 #define TCS4525_TIME 0x13 @@ -55,6 +58,7 @@ =20 #define FAN53555_NVOLTAGES 64 /* Numbers of voltages */ #define FAN53526_NVOLTAGES 128 +#define RK8602_NVOLTAGES 160 =20 #define TCS_VSEL0_MODE BIT(7) #define TCS_VSEL1_MODE BIT(6) @@ -64,6 +68,8 @@ enum fan53555_vendor { FAN53526_VENDOR_FAIRCHILD =3D 0, FAN53555_VENDOR_FAIRCHILD, + FAN53555_VENDOR_ROCKCHIP, /* RK8600, RK8601 */ + RK8602_VENDOR_ROCKCHIP, /* RK8602, RK8603 */ FAN53555_VENDOR_SILERGY, FAN53526_VENDOR_TCS, }; @@ -87,6 +93,14 @@ enum { FAN53555_CHIP_ID_08 =3D 8, }; =20 +enum { + RK8600_CHIP_ID_08 =3D 8, /* RK8600, RK8601 */ +}; + +enum { + RK8602_CHIP_ID_10 =3D 10, /* RK8602, RK8603 */ +}; + enum { TCS4525_CHIP_ID_12 =3D 12, }; @@ -117,6 +131,8 @@ struct fan53555_device_info { /* Voltage setting register */ unsigned int vol_reg; unsigned int sleep_reg; + unsigned int en_reg; + unsigned int sleep_en_reg; /* Voltage range and step(linear) */ unsigned int vsel_min; unsigned int vsel_step; @@ -159,7 +175,7 @@ static int fan53555_set_suspend_enable(struct regulator= _dev *rdev) { struct fan53555_device_info *di =3D rdev_get_drvdata(rdev); =20 - return regmap_update_bits(rdev->regmap, di->sleep_reg, + return regmap_update_bits(rdev->regmap, di->sleep_en_reg, VSEL_BUCK_EN, VSEL_BUCK_EN); } =20 @@ -167,7 +183,7 @@ static int fan53555_set_suspend_disable(struct regulato= r_dev *rdev) { struct fan53555_device_info *di =3D rdev_get_drvdata(rdev); =20 - return regmap_update_bits(rdev->regmap, di->sleep_reg, + return regmap_update_bits(rdev->regmap, di->sleep_en_reg, VSEL_BUCK_EN, 0); } =20 @@ -317,6 +333,50 @@ static int fan53555_voltages_setup_fairchild(struct fa= n53555_device_info *di) return 0; } =20 +static int fan53555_voltages_setup_rockchip(struct fan53555_device_info *d= i) +{ + /* Init voltage range and step */ + switch (di->chip_id) { + case RK8600_CHIP_ID_08: + di->vsel_min =3D 712500; + di->vsel_step =3D 12500; + break; + default: + dev_err(di->dev, + "Chip ID %d not supported!\n", di->chip_id); + return -EINVAL; + } + di->slew_reg =3D FAN53555_CONTROL; + di->slew_mask =3D CTL_SLEW_MASK; + di->ramp_delay_table =3D slew_rates; + di->n_ramp_values =3D ARRAY_SIZE(slew_rates); + di->vsel_count =3D FAN53555_NVOLTAGES; + + return 0; +} + +static int rk8602_voltages_setup_rockchip(struct fan53555_device_info *di) +{ + /* Init voltage range and step */ + switch (di->chip_id) { + case RK8602_CHIP_ID_10: + di->vsel_min =3D 500000; + di->vsel_step =3D 6250; + break; + default: + dev_err(di->dev, + "Chip ID %d not supported!\n", di->chip_id); + return -EINVAL; + } + di->slew_reg =3D FAN53555_CONTROL; + di->slew_mask =3D CTL_SLEW_MASK; + di->ramp_delay_table =3D slew_rates; + di->n_ramp_values =3D ARRAY_SIZE(slew_rates); + di->vsel_count =3D RK8602_NVOLTAGES; + + return 0; +} + static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di) { /* Init voltage range and step */ @@ -377,6 +437,7 @@ static int fan53555_device_setup(struct fan53555_device= _info *di, switch (di->vendor) { case FAN53526_VENDOR_FAIRCHILD: case FAN53555_VENDOR_FAIRCHILD: + case FAN53555_VENDOR_ROCKCHIP: case FAN53555_VENDOR_SILERGY: switch (pdata->sleep_vsel_id) { case FAN53555_VSEL_ID_0: @@ -391,6 +452,27 @@ static int fan53555_device_setup(struct fan53555_devic= e_info *di, dev_err(di->dev, "Invalid VSEL ID!\n"); return -EINVAL; } + di->sleep_en_reg =3D di->sleep_reg; + di->en_reg =3D di->vol_reg; + break; + case RK8602_VENDOR_ROCKCHIP: + switch (pdata->sleep_vsel_id) { + case FAN53555_VSEL_ID_0: + di->sleep_reg =3D RK8602_VSEL0; + di->vol_reg =3D RK8602_VSEL1; + di->sleep_en_reg =3D FAN53555_VSEL0; + di->en_reg =3D FAN53555_VSEL1; + break; + case FAN53555_VSEL_ID_1: + di->sleep_reg =3D RK8602_VSEL1; + di->vol_reg =3D RK8602_VSEL0; + di->sleep_en_reg =3D FAN53555_VSEL1; + di->en_reg =3D FAN53555_VSEL0; + break; + default: + dev_err(di->dev, "Invalid VSEL ID!\n"); + return -EINVAL; + } break; case FAN53526_VENDOR_TCS: switch (pdata->sleep_vsel_id) { @@ -406,6 +488,8 @@ static int fan53555_device_setup(struct fan53555_device= _info *di, dev_err(di->dev, "Invalid VSEL ID!\n"); return -EINVAL; } + di->sleep_en_reg =3D di->sleep_reg; + di->en_reg =3D di->vol_reg; break; default: dev_err(di->dev, "vendor %d not supported!\n", di->vendor); @@ -427,10 +511,23 @@ static int fan53555_device_setup(struct fan53555_devi= ce_info *di, } break; case FAN53555_VENDOR_FAIRCHILD: + case FAN53555_VENDOR_ROCKCHIP: case FAN53555_VENDOR_SILERGY: di->mode_reg =3D di->vol_reg; di->mode_mask =3D VSEL_MODE; break; + case RK8602_VENDOR_ROCKCHIP: + di->mode_mask =3D VSEL_MODE; + + switch (pdata->sleep_vsel_id) { + case FAN53555_VSEL_ID_0: + di->mode_reg =3D FAN53555_VSEL1; + break; + case FAN53555_VSEL_ID_1: + di->mode_reg =3D FAN53555_VSEL0; + break; + } + break; case FAN53526_VENDOR_TCS: di->mode_reg =3D TCS4525_COMMAND; =20 @@ -456,6 +553,12 @@ static int fan53555_device_setup(struct fan53555_devic= e_info *di, case FAN53555_VENDOR_FAIRCHILD: ret =3D fan53555_voltages_setup_fairchild(di); break; + case FAN53555_VENDOR_ROCKCHIP: + ret =3D fan53555_voltages_setup_rockchip(di); + break; + case RK8602_VENDOR_ROCKCHIP: + ret =3D rk8602_voltages_setup_rockchip(di); + break; case FAN53555_VENDOR_SILERGY: ret =3D fan53555_voltages_setup_silergy(di); break; @@ -481,7 +584,7 @@ static int fan53555_regulator_register(struct fan53555_= device_info *di, rdesc->ops =3D &fan53555_regulator_ops; rdesc->type =3D REGULATOR_VOLTAGE; rdesc->n_voltages =3D di->vsel_count; - rdesc->enable_reg =3D di->vol_reg; + rdesc->enable_reg =3D di->en_reg; rdesc->enable_mask =3D VSEL_BUCK_EN; rdesc->min_uV =3D di->vsel_min; rdesc->uV_step =3D di->vsel_step; @@ -531,6 +634,18 @@ static const struct of_device_id __maybe_unused fan535= 55_dt_ids[] =3D { }, { .compatible =3D "fcs,fan53555", .data =3D (void *)FAN53555_VENDOR_FAIRCHILD + }, { + .compatible =3D "rockchip,rk8600", + .data =3D (void *)FAN53555_VENDOR_ROCKCHIP + }, { + .compatible =3D "rockchip,rk8601", + .data =3D (void *)FAN53555_VENDOR_ROCKCHIP + }, { + .compatible =3D "rockchip,rk8602", + .data =3D (void *)RK8602_VENDOR_ROCKCHIP + }, { + .compatible =3D "rockchip,rk8603", + .data =3D (void *)RK8602_VENDOR_ROCKCHIP }, { .compatible =3D "silergy,syr827", .data =3D (void *)FAN53555_VENDOR_SILERGY, @@ -637,6 +752,18 @@ static const struct i2c_device_id fan53555_id[] =3D { }, { .name =3D "fan53555", .driver_data =3D FAN53555_VENDOR_FAIRCHILD + }, { + .name =3D "rk8600", + .driver_data =3D FAN53555_VENDOR_ROCKCHIP + }, { + .name =3D "rk8601", + .driver_data =3D FAN53555_VENDOR_ROCKCHIP + }, { + .name =3D "rk8602", + .driver_data =3D RK8602_VENDOR_ROCKCHIP + }, { + .name =3D "rk8603", + .driver_data =3D RK8602_VENDOR_ROCKCHIP }, { .name =3D "syr827", .driver_data =3D FAN53555_VENDOR_SILERGY --=20 2.40.0