From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F0E42FFF9D for ; Fri, 6 Mar 2026 13:34:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804059; cv=none; b=H3ygM2h3GEBfGBBPltxITrZVc5WIdqfteFQZKObseGBE/WrNkv6K132BgDSELpKg+GLfEbfwQCb3Ka7ukV4njsN2AYLFBIy4M56bC3zfM4msnTgCjWgNIlu3W3rWFwbvSmwy3+Lrm57X/kTYj07w4/hMxQHMtKhFG7ftyasAdeo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804059; c=relaxed/simple; bh=ph6zuP6F0f841JU6jbvip1lVe4NdAfa+AXBl7WT5uuU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZuR4X+/2Qx3CFlzVggZiYfSGgwQAZsekSkGvlzVL98G3d9Oa3iLHF8CIdUYlF13EA1VlQ/Dq1DFwDJzw0+Unoive6eZ9onyuVpvKwdBnvt4/8+IImSM172lSzhMDBqFPfX8oAvD3beu9b0tWhwUMnIqW4bm17PrtUeucuCXGA9Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jsgfZdGH; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jsgfZdGH" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4806cc07ce7so106294435e9.1 for ; Fri, 06 Mar 2026 05:34:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804055; x=1773408855; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qZBcwSima1Ck+pzqyaz+VDU2kW96ftT9STnzniKpHy8=; b=jsgfZdGHnELgRfOH+RxM9FoxuuITJA+w2mIPQAAA1mGlz/JW8SAukUlT2uR3LiiAfZ 49EQ+gW3uT0HBr/WRMhEXRZveko6LnGAGlVu5cNAUtB98J/xsvCqAqMCN1W2bwVD6GAq 6IUE7oLxFkxygKw/Q+kww+oRLNls5FoTHItOrQmitU1qq+c70h8fQVs9d9CNN/vcbpCZ BxGoYi8T9BCqTPcyYpUdioD3dg7/egVWyegk1WDMmp0YabjVMRzDWyzMpiAdojS5+9Db 6CjEfND3qQEF1yjmq4EmA270e1hY63aodWZcF0jO5/R/e29ehn5y/tkTYe/9TJOgFKr0 cYug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804055; x=1773408855; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qZBcwSima1Ck+pzqyaz+VDU2kW96ftT9STnzniKpHy8=; b=DBq8aqcur15kHuhQ22I2CD38nrfMgEmp1FmjReFgSgzjg18aGRwde1Ng2/+t0oAZg2 AVkQkjhj2ZoLaAKLfd7AsFzYaNag96RIgYBCsRXxhpjQA40K4PjZloq+0Ysi3Hg4FW/r Pj5dKPN10Rv78JkzF7jYSqNqFkoJq5nQaN/pJucvskhvHQOfRaouD2oRpKoTqQ3fETI+ q4GYAdPvX32Vgy65NOeOM3h29jIgEdCPltuD1Xzxi9wzVTtlgSYtvwt9iffnJjq81HFl OrSzYIyB7bcwij81TXK7NxlhGe4cROH4ooEuWCTn5+tciJwIANH0VcA3fuYdt4WLaoRE ZnNw== X-Forwarded-Encrypted: i=1; AJvYcCXHvR3mNiCKriaAfE8dWTJb6oJ9fF4fUQhd8bRgItW+kKwvkulc+TIAu73TPj24iIvFDGKdZRWqKzEG6bU=@vger.kernel.org X-Gm-Message-State: AOJu0YxZzg/4I0GRwvvfTCeq/ioBL+M/2Inp/2yfHPaCjFVxLDBqppCw x+2p8NEXAvdI0tOCMsmOVlWZPSogJU2BQlCQ65qPVDolnKrs70hUB5J+ X-Gm-Gg: ATEYQzxqdOHDm7TRGNHceNz4eU3gyXhWhO43nlt5Dz9YS5v+W23SoFAKKZ6H85eACCi ZAOfmdfJlNvMbBeNkVS0oV+Y9j5UjlK4/6cGJoWHjQwnMqJVbWx0ythSiUlmeQhEs++2tPpzTT8 lPwWWWCXP7tnEWZaIwxylZKDByAfQBw5a0AfEEmfMUDtaKRiX9vYdEaxOqnR2wsztTQqpwc2tv0 SNAsmu0dlbqD2XA1gz6i1InP+gxJXJf/119x4DKCYaRlSlsLyfK0inZOnUpnXStoFA63tOsmTsx Xeos6wFIn+TBL+0H/7mPVkaVbmXMgbBEJMgaeenlS+tMpEAaSGahrLM/Q63yvAy76RDduZBX1yB ZYzsY9qPUKirN5rxgUYks5WP7VxwRnR4iyuB05A5+zEQGIlYyiqevKRxN4F1sH5y/PsndDcD9+j GKT+t2bCBmOBmC X-Received: by 2002:a05:600c:c10d:b0:485:2af3:3f8f with SMTP id 5b1f17b1804b1-4852af34095mr2453845e9.6.1772804055240; Fri, 06 Mar 2026 05:34:15 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:14 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 1/6] regulator: dt-binding: regulator-max77620: convert to DT schema Date: Fri, 6 Mar 2026 15:33:46 +0200 Message-ID: <20260306133351.31589-2-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert regulator-max77620 devicetree bindings for the MAX77620 PMIC from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. Signed-off-by: Svyatoslav Ryhel Acked-by: Mark Brown --- .../regulator/maxim,max77620-regulator.yaml | 99 ++++++++ .../bindings/regulator/regulator-max77620.txt | 222 ------------------ 2 files changed, 99 insertions(+), 222 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77= 620-regulator.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/regulator-m= ax77620.txt diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77620-reg= ulator.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77620-re= gulator.yaml new file mode 100644 index 000000000000..e8c374cfaef9 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/maxim,max77620-regulator.= yaml @@ -0,0 +1,99 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/maxim,max77620-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Regulator for MAX77620 Power management IC from Maxim Semiconductor. + +maintainers: + - Svyatoslav Ryhel + +description: + Device has multiple DCDC(sd[0-3]) and LDOs(ldo[0-8]). The input supply + of these regulators are defined under parent device node. Details of + regulator properties are defined as child node under sub-node "regulator= s" + which is child node of device node. + +patternProperties: + "^in-(sd[0-3]|ldo(0-1|2|3-5|4-6|7-8))-supply$": + $ref: /schemas/types.yaml#/definitions/phandle + description: Input supply for DCDC or LDO + + "^(sd[0-3]|ldo[0-8])$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + properties: + maxim,active-fps-source: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + FPS source for the GPIOs to get enabled/disabled when system is = in + active state. Valid values are: + - MAX77620_FPS_SRC_0: FPS source is FPS0. + - MAX77620_FPS_SRC_1: FPS source is FPS1 + - MAX77620_FPS_SRC_2: FPS source is FPS2 + - MAX77620_FPS_SRC_NONE: GPIO is not controlled by FPS events and + it gets enabled/disabled by register ac= cess. + Absence of this property will leave the FPS configuration regist= er + for that GPIO to default configuration. + + maxim,active-fps-power-up-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Sequencing event slot number on which the GPIO get enabled when + master FPS input event set to HIGH. This is applicable if FPS so= urce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,active-fps-power-down-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Sequencing event slot number on which the GPIO get disabled when + master FPS input event set to LOW. This is applicable if FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,suspend-fps-source: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-source" but value get + configured when system enters in to suspend state. + + maxim,suspend-fps-power-up-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-power-up-slot" but th= is + value get configured into FPS configuration register when system + enters into suspend. This is applicable if suspend state FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,suspend-fps-power-down-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-power-down-slot" but = this + value get configured into FPS configuration register when system + enters into suspend. This is applicable if suspend state FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,ramp-rate-setting: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Ramp rate(uV/us) setting to be configured to the device. The pla= tform + may have different ramp rate than advertised ramp rate if it has= design + variation from Maxim's recommended. On this case, platform speci= fic + ramp rate is used for ramp time calculation and this property is= used + for device register configurations. The measured ramp rate of pl= atform + is provided by the regulator-ramp-delay. + + Maxim Max77620 supports following ramp delay: + SD: 13.75mV/us, 27.5mV/us, 55mV/us + LDOs: 5mV/us, 100mV/us + enum: [5000, 13750, 27500, 55000, 100000] + +additionalProperties: false + +# see maxim,max77620.yaml for an example diff --git a/Documentation/devicetree/bindings/regulator/regulator-max77620= .txt b/Documentation/devicetree/bindings/regulator/regulator-max77620.txt deleted file mode 100644 index bcf788897e44..000000000000 --- a/Documentation/devicetree/bindings/regulator/regulator-max77620.txt +++ /dev/null @@ -1,222 +0,0 @@ -Regulator DT binding for MAX77620 Power management IC from Maxim Semicondu= ctor. - -Device has multiple DCDC(sd[0-3] and LDOs(ldo[0-8]). The input supply -of these regulators are defined under parent device node. -Details of regulator properties are defined as child node under -sub-node "regulators" which is child node of device node. - -Please refer file -for common regulator bindings used by client. - -Following are properties of parent node related to regulators. - -Optional properties: -------------------- -The input supply of regulators are the optional properties on the -parent device node. The input supply of these regulators are provided -through following properties: -in-sd0-supply: Input supply for SD0, INA-SD0 or INB-SD0 pins. -in-sd1-supply: Input supply for SD1. -in-sd2-supply: Input supply for SD2. -in-sd3-supply: Input supply for SD3. -in-ldo0-1-supply: Input supply for LDO0 and LDO1. -in-ldo2-supply: Input supply for LDO2. -in-ldo3-5-supply: Input supply for LDO3 and LDO5 -in-ldo4-6-supply: Input supply for LDO4 and LDO6. -in-ldo7-8-supply: Input supply for LDO7 and LDO8. - -Optional sub nodes for regulators under "regulators" subnode: ------------------------------------------------------------- -The subnodes name is the name of regulator and it must be one of: - sd[0-3], ldo[0-8] - -Each sub-node should contain the constraints and initialization -information for that regulator. The definition for each of these -nodes is defined using the standard binding for regulators found at -. - -There are also additional properties for SD/LDOs. These additional propert= ies -are required to configure FPS configuration parameters for SDs and LDOs. -Please refer for more detail of Fle= xible -Power Sequence (FPS). -Following are additional properties: - -- maxim,active-fps-source: FPS source for the regulators to get - enabled/disabled when system is in - active state. Valid values are: - - MAX77620_FPS_SRC_0, - FPS source is FPS0. - - MAX77620_FPS_SRC_1, - FPS source is FPS1 - - MAX77620_FPS_SRC_2 and - FPS source is FPS2 - - MAX77620_FPS_SRC_NONE. - Regulator is not controlled - by FPS events and it gets - enabled/disabled by register - access. - Absence of this property will leave - the FPS configuration register for that - regulator to default configuration. - -- maxim,active-fps-power-up-slot: Sequencing event slot number on which - the regulator get enabled when - master FPS input event set to HIGH. - Valid values are 0 to 7. - This is applicable if FPS source is - selected as FPS0, FPS1 or FPS2. - =09 -- maxim,active-fps-power-down-slot: Sequencing event slot number on which - the regulator get disabled when master - FPS input event set to LOW. - Valid values are 0 to 7. - This is applicable if FPS source is - selected as FPS0, FPS1 or FPS2. - =09 -- maxim,suspend-fps-source: This is same as property - "maxim,active-fps-source" but value - get configured when system enters in - to suspend state. - -- maxim,suspend-fps-power-up-slot: This is same as property - "maxim,active-fps-power-up-slot" but - this value get configured into FPS - configuration register when system - enters into suspend. - This is applicable if suspend state - FPS source is selected as FPS0, FPS1 or - -- maxim,suspend-fps-power-down-slot: This is same as property - "maxim,active-fps-power-down-slot" but - this value get configured into FPS - configuration register when system - enters into suspend. - This is applicable if suspend state - FPS source is selected as FPS0, FPS1 or - FPS2. -- maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be - configured to the device. - The platform may have different ramp - rate than advertised ramp rate if it has - design variation from Maxim's - recommended. On this case, platform - specific ramp rate is used for ramp time - calculation and this property is used - for device register configurations. - The measured ramp rate of platform is - provided by the regulator-ramp-delay - as described in . - Maxim Max77620 supports following ramp - delay: - SD: 13.75mV/us, 27.5mV/us, 55mV/us - LDOs: 5mV/us, 100mV/us - -Note: If the measured ramp delay is same as advertised ramp delay then it = is not -required to provide the ramp delay with property "maxim,ramp-rate-setting"= . The -ramp rate can be provided by the regulator-ramp-delay which will be used f= or -ramp time calculation for voltage change as well as for device configurati= on. - -Example: --------- -#include -... -max77620@3c { - in-ldo0-1-supply =3D <&max77620_sd2>; - in-ldo7-8-supply =3D <&max77620_sd2>; - regulators { - sd0 { - regulator-name =3D "vdd-core"; - regulator-min-microvolt =3D <600000>; - regulator-max-microvolt =3D <1400000>; - regulator-boot-on; - regulator-always-on; - maxim,active-fps-source =3D ; - }; - - sd1 { - regulator-name =3D "vddio-ddr"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-always-on; - regulator-boot-on; - maxim,active-fps-source =3D ; - }; - - sd2 { - regulator-name =3D "vdd-pre-reg"; - regulator-min-microvolt =3D <1350000>; - regulator-max-microvolt =3D <1350000>; - }; - - sd3 { - regulator-name =3D "vdd-1v8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-always-on; - regulator-boot-on; - }; - - ldo0 { - regulator-name =3D "avdd-sys"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-always-on; - regulator-boot-on; - }; - - ldo1 { - regulator-name =3D "vdd-pex"; - regulator-min-microvolt =3D <1050000>; - regulator-max-microvolt =3D <1050000>; - }; - - ldo2 { - regulator-name =3D "vddio-sdmmc3"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <3300000>; - }; - - ldo3 { - regulator-name =3D "vdd-cam-hv"; - regulator-min-microvolt =3D <2800000>; - regulator-max-microvolt =3D <2800000>; - }; - - ldo4 { - regulator-name =3D "vdd-rtc"; - regulator-min-microvolt =3D <1250000>; - regulator-max-microvolt =3D <1250000>; - regulator-always-on; - regulator-boot-on; - }; - - ldo5 { - regulator-name =3D "avdd-ts-hv"; - regulator-min-microvolt =3D <3000000>; - regulator-max-microvolt =3D <3000000>; - }; - - ldo6 { - regulator-name =3D "vdd-ts"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-always-on; - regulator-boot-on; - }; - - ldo7 { - regulator-name =3D "vdd-gen-pll-edp"; - regulator-min-microvolt =3D <1050000>; - regulator-max-microvolt =3D <1050000>; - regulator-always-on; - regulator-boot-on; - }; - - ldo8 { - regulator-name =3D "vdd-hdmi-dp"; - regulator-min-microvolt =3D <1050000>; - regulator-max-microvolt =3D <1050000>; - }; - }; -}; --=20 2.51.0 From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA13C3016F7 for ; Fri, 6 Mar 2026 13:34:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804061; cv=none; b=ZT8DJc0nhQfSDcF7XGOhNShxH12ogU0b9Nb66B1hDriWNrd3so+1tRnUZWdaMuyqSj1mLIjadCFeuoR80JcuyGvh+wOeaU62aL7ZXZSS8yQz8e22ioZ1ZF5FJf1bJquu/+cmbuw3QuVWbCuK7h/laECMEbGZCAeJHPBd2/KXX4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804061; c=relaxed/simple; bh=hIwaVNY63BTTBq9X+Fl95oFfSfz7quQ71GvgE8hGl8c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X/pafby7WTRMf+oZb6+PSFxLeNbYQNlp/GGt3Ne4jjbqxLE/DwwSraHvZ2j4kkrIUdhpcBTcaPysMh0wwKItGcnBaCBOumPGvrPLB3FVJ4adBROyiF+W2FO9VWCU5Nej3sPOuCZxcwkqzWGN3xEZsRyjYGiA3YXTpOsji8XMFdM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hgXNISbF; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hgXNISbF" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4852afd42ceso448235e9.2 for ; Fri, 06 Mar 2026 05:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804057; x=1773408857; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F6xzGFA+B9jNT4audLsSR5XvefLJ8EAoTN/auQX0Deg=; b=hgXNISbF68OZksKQOn7P5meLaQiTe6E5kdg2wjxkXY+y3uKbDI5F93yr7ViZ/EkxWB 8Q4PwBrfkQAM8KZ4r3TDmURvu6TMjDJLJBojml+zppn/3HuiBk3zYuny1Altlgdg4smg zgr84xiL/P+gniK3Blr9ExrlFmZGSQ/26QDK9uUb/7kHrZ+BdlTlyEhoDORlZHo0ouf7 607PDF17DnAZUmxd8oTJ4eLTN4DoJSgugvzQ2yW6qXNi32uGW3QoRxN6BJwEo5kHFirx I3g59MQGJpbDo965OUTd5gti1PtEDWaHGhe+c3vE7PgkJUoXN6K2JVE1ZR27fojY4yek TuXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804057; x=1773408857; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=F6xzGFA+B9jNT4audLsSR5XvefLJ8EAoTN/auQX0Deg=; b=CODlPagz3fCbH439+ezNVEM7iby80HWqOLw9rcFJOMVTcjEr3kjwEhdeWAxlRAxqzD 6N/nLCseAEUOEck3prQ4EiVKP/baY0qJDbyAX6TQcx/wnPdqazm/3EV7Yc4R5ePQZdLz EKbhVtJZS2TcBU15h//NNSJbcU7wR5qBUZqjk+UlEe0Dc0irpf19EMUl5xOwAtIe3usF 8y2wLk+GXlpAcZEW1MCF9nFIc3eU0m43SfYsIOk6MGH+t0vTOZ1f+YW6jpGGZJeFWjIB E4IxiaGiZ/qFgxhf73dxd+b4f7+KfK4AR9lCMxCr1/LIT4GkchMyep/woGSZQLl3wztp pTDg== X-Forwarded-Encrypted: i=1; AJvYcCUMHObmZCBEcKlykUErVfib71rg3Xj4NNGmGrlh4eWk6mz+apG7ZhDIt1C9wFXmBDOF+M/3ZLCvJtv56WY=@vger.kernel.org X-Gm-Message-State: AOJu0YxJsdQr0NR5XQfOLUjHJKPWmin9MOavcEppKIKhAvQm4Dgp9C7D K8VPy4vuySCOxTsvBAJZ9sLRpy0OSDafOcw7X+jHBKHDewykyZ9zvvLf X-Gm-Gg: ATEYQzx0ETJwSD86gXQF6ZB9QmSiSbXkBEGDc4kN0xC1SxTEL8nDzYik2nA4ehbajeS hCRWJeE2bBeIGc6juT6DOvIOlz9RPzglgB1Xdq+JxZ5bxbr9fJV7ni4la5Z5VfNEW6nTnwyqQTI QDyAr3d8qZzF1MmZLS9UnuA4m9zIlzI0abz07CL5LPAj4Devjkw1Gn1CO1A7aZGskN/xZvVbeq1 rctFUHBQC8F1GP3mgATgcuX1erxF2FqmkDMK4VYf5/8uB+09CraOl9Xi37DJf+B9KF5/FFXFO2y l8xIYsYhFieTa9k86bcKASyRxyNEVihV8HWaZxIHB8cgm7wOoKQXZocT8vmWXW0+UFG1f9xi61p 7KpteIIL2u7QexQZpplBsXQle6AfOBnHv684ddbDlb2KhMuXpBL7GotJW2GSCecPSxQgPO8GB39 kVwW0zcgpfHzTj X-Received: by 2002:a05:600c:1908:b0:480:3a72:524a with SMTP id 5b1f17b1804b1-4852695943emr36730255e9.19.1772804056908; Fri, 06 Mar 2026 05:34:16 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:16 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 2/6] dt-binding: pinctrl: pinctrl-max77620: convert to DT schema Date: Fri, 6 Mar 2026 15:33:47 +0200 Message-ID: <20260306133351.31589-3-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. Signed-off-by: Svyatoslav Ryhel --- .../pinctrl/maxim,max77620-pinctrl.yaml | 97 +++++++++++++ .../bindings/pinctrl/pinctrl-max77620.txt | 127 ------------------ 2 files changed, 97 insertions(+), 127 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/maxim,max7762= 0-pinctrl.yaml delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-max77= 620.txt diff --git a/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinct= rl.yaml b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.= yaml new file mode 100644 index 000000000000..7364a8bdd7d3 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/maxim,max77620-pinctrl.yaml @@ -0,0 +1,97 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/maxim,max77620-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Pinmux controller function for Maxim MAX77620 Power management IC + +maintainers: + - Svyatoslav Ryhel + +description: + Device has 8 GPIO pins which can be configured as GPIO as well as the + special IO functions. + +allOf: + - $ref: /schemas/pinctrl/pincfg-node.yaml + - $ref: /schemas/pinctrl/pinmux-node.yaml + +patternProperties: + "^(pin_gpio|gpio)[0-7_]+$": + type: object + + properties: + pins: + enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7 ] + minItems: 1 + maxItems: 8 + + function: + enum: [ gpio, lpm-control-in, fps-out, 32k-out1, sd0-dvs-in, sd1-d= vs-in, + reference-out ] + + drive-push-pull: true + drive-open-drain: true + bias-pull-up: true + bias-pull-down: true + + maxim,active-fps-source: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + FPS source for the GPIOs to get enabled/disabled when system is = in + active state. Valid values are: + - MAX77620_FPS_SRC_0: FPS source is FPS0. + - MAX77620_FPS_SRC_1: FPS source is FPS1 + - MAX77620_FPS_SRC_2: FPS source is FPS2 + - MAX77620_FPS_SRC_NONE: GPIO is not controlled by FPS events and + it gets enabled/disabled by register ac= cess. + Absence of this property will leave the FPS configuration regist= er + for that GPIO to default configuration. + + maxim,active-fps-power-up-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Sequencing event slot number on which the GPIO get enabled when + master FPS input event set to HIGH. This is applicable if FPS so= urce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,active-fps-power-down-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Sequencing event slot number on which the GPIO get disabled when + master FPS input event set to LOW. This is applicable if FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,suspend-fps-source: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-source" but value get + configured when system enters in to suspend state. + + maxim,suspend-fps-power-up-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-power-up-slot" but th= is + value get configured into FPS configuration register when system + enters into suspend. This is applicable if suspend state FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + maxim,suspend-fps-power-down-slot: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + This is same as property "maxim,active-fps-power-down-slot" but = this + value get configured into FPS configuration register when system + enters into suspend. This is applicable if suspend state FPS sou= rce + is selected as FPS0, FPS1 or FPS2. + enum: [0, 1, 2, 3, 4, 5, 6, 7] + + required: + - pins + +additionalProperties: false + +# see maxim,max77620.yaml for an example diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt= b/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt deleted file mode 100644 index 28fbca180068..000000000000 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-max77620.txt +++ /dev/null @@ -1,127 +0,0 @@ -Pincontrol driver for MAX77620 Power management IC from Maxim Semiconducto= r. - -Device has 8 GPIO pins which can be configured as GPIO as well as the -special IO functions. - -Please refer file -for details of the common pinctrl bindings used by client devices, -including the meaning of the phrase "pin configuration node". - -Optional Pinmux properties: --------------------------- -Following properties are required if default setting of pins are required -at boot. -- pinctrl-names: A pinctrl state named per . -- pinctrl[0...n]: Properties to contain the phandle for pinctrl states per - . - -The pin configurations are defined as child of the pinctrl states node. Ea= ch -sub-node have following properties: - -Required properties: ------------------- -- pins: List of pins. Valid values of pins properties are: - gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7. - -Optional properties: -------------------- -Following are optional properties defined as pinmux DT binding document -. Absence of properties will leave the configuration -on default. - function, - drive-push-pull, - drive-open-drain, - bias-pull-up, - bias-pull-down. - -Valid values for function properties are: - gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in, - reference-out - -There are also customised properties for the GPIO1, GPIO2 and GPIO3. These -customised properties are required to configure FPS configuration paramete= rs -of these GPIOs. Please refer for mo= re -detail of Flexible Power Sequence (FPS). - -- maxim,active-fps-source: FPS source for the GPIOs to get - enabled/disabled when system is in - active state. Valid values are: - - MAX77620_FPS_SRC_0, - FPS source is FPS0. - - MAX77620_FPS_SRC_1, - FPS source is FPS1 - - MAX77620_FPS_SRC_2 and - FPS source is FPS2 - - MAX77620_FPS_SRC_NONE. - GPIO is not controlled - by FPS events and it gets - enabled/disabled by register - access. - Absence of this property will leave - the FPS configuration register for that - GPIO to default configuration. - -- maxim,active-fps-power-up-slot: Sequencing event slot number on which - the GPIO get enabled when - master FPS input event set to HIGH. - Valid values are 0 to 7. - This is applicable if FPS source is - selected as FPS0, FPS1 or FPS2. - -- maxim,active-fps-power-down-slot: Sequencing event slot number on which - the GPIO get disabled when master - FPS input event set to LOW. - Valid values are 0 to 7. - This is applicable if FPS source is - selected as FPS0, FPS1 or FPS2. - -- maxim,suspend-fps-source: This is same as property - "maxim,active-fps-source" but value - get configured when system enters in - to suspend state. - -- maxim,suspend-fps-power-up-slot: This is same as property - "maxim,active-fps-power-up-slot" but - this value get configured into FPS - configuration register when system - enters into suspend. - This is applicable if suspend state - FPS source is selected as FPS0, FPS1 or - -- maxim,suspend-fps-power-down-slot: This is same as property - "maxim,active-fps-power-down-slot" but - this value get configured into FPS - configuration register when system - enters into suspend. - This is applicable if suspend state - FPS source is selected as FPS0, FPS1 or - FPS2. - -Example: --------- -#include -... -max77620@3c { - - pinctrl-names =3D "default"; - pinctrl-0 =3D <&spmic_default>; - - spmic_default: pinmux@0 { - pin_gpio0 { - pins =3D "gpio0"; - function =3D "gpio"; - }; - - pin_gpio1 { - pins =3D "gpio1"; - function =3D "fps-out"; - maxim,active-fps-source =3D ; - }; - - pin_gpio2 { - pins =3D "gpio2"; - function =3D "fps-out"; - maxim,active-fps-source =3D ; - }; - }; -}; --=20 2.51.0 From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D68D306486 for ; Fri, 6 Mar 2026 13:34:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804062; cv=none; b=qoqa1JsZ66fJHcm3awKjaaVVoM4oeLvY3Sz6GqjeRozhv7l1Nx6wXPzVqnTA+RVkngJIcCoBxcHpyoA1Nb28ImNcrBtZvDSmCVjfCg//O0BmSUUlW5F2dnHecItQqhTIumHmzrBxw0HzabwSPbj2+B/okJHvx4KywbGgLRH0t+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804062; c=relaxed/simple; bh=NpF8QL91yqldScG2XxQn8+rb+qg1VM07w+yITLk8tqk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ip5hvKmHH2JIkJXMGHwKWC5okkhedrXOQLNiJKUqn73Y2s1J0skQ4VmjENjIYmQhg4fWIwqUxbC66zlX0yxlyIp/wxnMUxYd67hY3UVtBKyMGwhr5Na9bwG8LNTmC4D054UFX5BjNl8UtkjgJ8DwSfXM5RSaG0mkKXHSavMe6hY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Y5HWFk3C; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Y5HWFk3C" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4836e3288cdso62615925e9.0 for ; Fri, 06 Mar 2026 05:34:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804058; x=1773408858; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c3xPqNAmdyvkw2Jw1GpTd5bQavc5+xFaOAaBqhAj8JY=; b=Y5HWFk3CCMqmVuHog/VIr4ktnP++eh3t4U0FwKw+cbuKqvBcZa7xB+4rv0gMg4bO5u OSpnXdecmFDO78ANTaKITRCMxAOQlb4PQnqg+vYIKFleTzUyXmwaJl7p0MIVYxGLZxpW EsyDobk/2UUw2kIRfv19NJJk2aWh2Lujc/IKP0K/rqZEqQZKXWYytONl8BEC0m7/P318 dc7eSRL+9A5qeIvdfSScK/GAtYgKdDctvk8YEWFTYqNADD4dGj0U/HHavYdy03+uce6f stp9G4yDvAYtR7CxYk741S7NDMMmKA3UzBKb06gOHRkXERlTtCI39gYeLCUjrqRwjG9n RbDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804058; x=1773408858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=c3xPqNAmdyvkw2Jw1GpTd5bQavc5+xFaOAaBqhAj8JY=; b=UshbOi8FBvQCGX+HQFR0IvmCqFNfia28y8WHq0Zsc7n6fQkGVpxOTsj+QdOk5Am2Lc D0C1smD8GtNqVNcINGzJLLXIwCr+xDY2VMQuXNcBmAz0xYzg7jg+4cEZAa8mJPYTnUA8 a5w9snXuZeVZt6P4/I09PFggBPEdk7ux89CShFdYNFG0lBQecQy29VK6MDtjei0r78Id EoYJEThwUDBri04P98BWFXLhJ+lMAlC0AcFhBqVwSpTp0uLDLr0ZZ4hC5+gulTe8pJQM AEBm3q3eqpKze7j3ndvUXMs/rz3m+ktIzJKlMQ8yVUvskkizYtECr0ozjmlitjd7wAFj u5+g== X-Forwarded-Encrypted: i=1; AJvYcCVQXynlwWR/MDG88f3fEF6Fq+bya7y18e/gJwUBWmG+hBf7dHSZKgRo2X151+Agw0BSyKTrdbCRY6K7sro=@vger.kernel.org X-Gm-Message-State: AOJu0YyOKVbKPwL5E2YUAkl8epiJ8WQPZqoDeWDG1YpcJLS8bZXrFoUK zfXh4agulAk8r6M0aFAp7m3/V/MBJgzgllG34W0Z+CvQWg4GC6J+sPBg X-Gm-Gg: ATEYQzw31DisUnIEnTl9OgSXhFgUIotszjskURR/V+A/cE0/t4LTACm09No8eG3kmlh V8et38IkF7tdpIyt0SvD8FGvqLzhPp1/pfSpIvOqNCNVHff90XQS0CGaAezylsw6kY7DB4EZPGb I0nN0KJ2wc+jA8OWGIEgIfmFMa7DXDbij83glTAMz4y80/YFVJP4lJ90+TRzdE7vN76rtR2tcpF Fao1VuuecQiLsKEsNsCZ3uxNmep/9/g0DwiitpsynEi1Xlv1v/jRy6B5uxY/qF7TaniwXWtP5a7 yV1SYGUwYzvQZyqrX18n4dCG4iIYbCWDXP0YYrVr+7cxIPuzEj8kXfUUugTcKdE1VWAkaMqrM5J fj4eixSmtca1dW8F2/hvc0+d6ovuEEhCzGitagUsmHweZYp3MczUdCKqWKeydZZILHriIJoea4j +i15JR4DoANLlY2knjqLNcOhc= X-Received: by 2002:a05:600c:8705:b0:479:1348:c63e with SMTP id 5b1f17b1804b1-4852674e8camr33569795e9.9.1772804058447; Fri, 06 Mar 2026 05:34:18 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:18 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 3/6] dt-bindings: gpio: trivial-gpio: remove max77620 compatible Date: Fri, 6 Mar 2026 15:33:48 +0200 Message-ID: <20260306133351.31589-4-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Binding for MAX77620 GPIO function is covered by the MAX77620 schema. GPIO controller function in MAX77620 has no dedicated node and is folded into the parent node itself. Signed-off-by: Svyatoslav Ryhel --- Documentation/devicetree/bindings/gpio/trivial-gpio.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/devicetree/bindings/gpio/trivial-gpio.yaml b/Doc= umentation/devicetree/bindings/gpio/trivial-gpio.yaml index 3f4bbd57fc52..fe9b14a72d69 100644 --- a/Documentation/devicetree/bindings/gpio/trivial-gpio.yaml +++ b/Documentation/devicetree/bindings/gpio/trivial-gpio.yaml @@ -27,7 +27,6 @@ properties: - gateworks,pld-gpio - ibm,ppc4xx-gpio - loongson,ls1x-gpio - - maxim,max77620 - nintendo,hollywood-gpio - nxp,pca9570 - nxp,pca9571 @@ -86,7 +85,6 @@ allOf: compatible: contains: enum: - - maxim,max77620 - rockchip,rk3328-grf-gpio - ti,lp3943-gpio - ti,palmas-gpio --=20 2.51.0 From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B60AE30C61F for ; Fri, 6 Mar 2026 13:34:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804064; cv=none; b=YtIBA69xMTiE5/OWfs859mhSVGTanvjKYciNyupSSkf3HUPnHa3XS3S2+H1++d2hEfdRhkBYG+dAWwNTRACrTQeBXyvbQbtBZ1L4hxBByZth72C71paLeifhKzuwtoIHRS18gQ8gEF6e5QeOJe5HVvSn8L0P7ac6ztierGYYhtw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804064; c=relaxed/simple; bh=Jm6xkgQkhTauY/6huIfAGL5IdmRvIUPY0QMbo1MQuF8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=du8wwGRFf9WUIVhdfT3dCCT0YTovS5XzneOlXYps0XYyWq+RVjCF57fUv0/ghwZBirCMzqVMQxHTdnIyyLj80oodisFIBf1poctG34v8uXzxpdokHcADyVTMd3p3/Esjxh4Yi4UdOXOMIydQ/nuXmInWA5fUsHZpewe9b0+08eQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FELEcyyd; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FELEcyyd" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-483bd7354efso120817255e9.2 for ; Fri, 06 Mar 2026 05:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804060; x=1773408860; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=C4R+Kz/zRwSGSikjk1m7gnjz9E1LkKFiNKgW8Ej6ySs=; b=FELEcyydz708d+ZiM6Xuych8ukXM32xzqtII1uz3knNMeTFICU0DzIqiZRK6z7geXM 8tBnkmkOa9x9tvQoiaFD+qawOYalqDaz+zbvN6CfhaNsR/zztyQnWUtaa46yqOg7IPRk 1WMsH3D6N4lFlsC+fFGmUupadngUIkjOsQcoEQF2t8MImBt2I2XVLFbie2ur5txz4XUH DoDi6emvg+iYbXsARWsqqN8fiUhNKsMNkvhL4rwm6VvcjcIOSJrWEy1nce7WfSgDyiFP 9827n7LIxLSAXSI/6LVIQXocN7UyPp7Mhqb7n9+nJ6Ioxmcm1PVHRhPOCuo0KocHgA0Y satg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804060; x=1773408860; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=C4R+Kz/zRwSGSikjk1m7gnjz9E1LkKFiNKgW8Ej6ySs=; b=H9vizYEBhwRlyVo/yxEACeDJKDzxc5sY0QMjennCZU93qzOtYICB3QjgqoiUeYlXZT pIZSDCFsvpE2pN6DfPcb+YtnlKVR/qTMtsDxBVG+dHmt7M89elhPMurSCUbrVBbp+LGH HzBDesXW/fm7aryi636bIM/0VwqEG767+04sE0V85y9SZdo+1+nEALhIwQ/6j42wkLWj rNC49uq326+BFLpxkKcopgMhJ24alcVV1OXLZbtxsBPGxoIhkBSCHiWTPjOfl1LCJMbV 5yQL6hmE1araFenTHulZq3sIxgzTWFAY5eSgd9OCgGHakWW6SwQuq0b+HFFzDsX858Gg WpwA== X-Forwarded-Encrypted: i=1; AJvYcCWh3EWlJAexznhObOr/9Dgozktf1Tx0YryZ4nhMRBWJ8wckL8MAI5/i247UqTU51roC9nYg5+G8kE0aaWw=@vger.kernel.org X-Gm-Message-State: AOJu0YximXO0SR+COQPZdqURzru6Ds0YsrsrNVo2rnZNUdaA1ApW8A6b SQuwe7vCsxwGonpsAw1vWQAQGKjH2Ssf9hXNcB1b8tyhIaECMZkfIBjy X-Gm-Gg: ATEYQzytOfSS9Rx2bjmjYbGG8G+Mb643+CWyybEDM+3/YrUw5pYHdSNAfy+/DwzMYil 4waMp+M/hmXaiHViaLSkDKRRrkAssbnn1oLhUgTJ+KUpZUE/DPxK0df1FgM90mHra/IoyDK+o/h tFyP2iEdt8SRljX+lTUFf7d7soWoHLAGTkfBPqey1hbEn3PepPnfrrBrC5J2BmRdfB+6cxnq8NR 4AblEq+/HoD9jJv75YKmBkF/ZWRcnpK71LxULgTaq25Cbq1U8dfC7xmDVG/+dU5Mu8hGxHJwUgs i2fGFTb/bm2SOSEQAYsGDS2dEg3Kokmh25UPovDlqWFVS+98KGNTY0ou1L+46+Czm2hRvYkznzd 3NZSVB8rE4npG0cU/zedtGSMRUJJX6pFNesjb7k3EVEvOeR5CGmUGmFN7DohOXCNQDscYKrqCRF aJdAaklqMq+5Nm X-Received: by 2002:a05:600c:1411:b0:485:2b50:ef0e with SMTP id 5b1f17b1804b1-4852b50f403mr303765e9.22.1772804059909; Fri, 06 Mar 2026 05:34:19 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:19 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 4/6] dt-bindings: mfd: max77620: convert to DT schema Date: Fri, 6 Mar 2026 15:33:49 +0200 Message-ID: <20260306133351.31589-5-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert max77620 devicetree bindings from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. The thermal bindings are incorporated into the binding. Signed-off-by: Svyatoslav Ryhel --- .../devicetree/bindings/mfd/max77620.txt | 162 ------- .../bindings/mfd/maxim,max77620.yaml | 422 ++++++++++++++++++ .../bindings/thermal/max77620_thermal.txt | 70 --- 3 files changed, 422 insertions(+), 232 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/max77620.txt create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77620.ya= ml delete mode 100644 Documentation/devicetree/bindings/thermal/max77620_ther= mal.txt diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documenta= tion/devicetree/bindings/mfd/max77620.txt deleted file mode 100644 index 5a642a51d58e..000000000000 --- a/Documentation/devicetree/bindings/mfd/max77620.txt +++ /dev/null @@ -1,162 +0,0 @@ -MAX77620 Power management IC from Maxim Semiconductor. - -Required properties: -------------------- -- compatible: Must be one of - "maxim,max77620" - "maxim,max20024" - "maxim,max77663" -- reg: I2C device address. - -Optional properties: -------------------- -- interrupts: The interrupt on the parent the controller is - connected to. -- interrupt-controller: Marks the device node as an interrupt controller. -- #interrupt-cells: is <2> and their usage is compliant to the 2 cells - variant of <../interrupt-controller/interrupts.txt> - IRQ numbers for different interrupt source of MAX77620 - are defined at dt-bindings/mfd/max77620.h. - -- system-power-controller: Indicates that this PMIC is controlling the - system power, see [1] for more details. - -[1] Documentation/devicetree/bindings/power/power-controller.txt - -Optional subnodes and their properties: -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -Flexible power sequence configurations: --------------------------------------- -The Flexible Power Sequencer (FPS) allows each regulator to power up under -hardware or software control. Additionally, each regulator can power on -independently or among a group of other regulators with an adjustable powe= r-up -and power-down delays (sequencing). GPIO1, GPIO2, and GPIO3 can be program= med -to be part of a sequence allowing external regulators to be sequenced along -with internal regulators. 32KHz clock can be programmed to be part of a -sequence. - -The flexible sequencing structure consists of two hardware enable inputs -(EN0, EN1), and 3 master sequencing timers called FPS0, FPS1 and FPS2. -Each master sequencing timer is programmable through its configuration -register to have a hardware enable source (EN1 or EN2) or a software enable -source (SW). When enabled/disabled, the master sequencing timer generates -eight sequencing events on different time periods called slots. The time -period between each event is programmable within the configuration registe= r. -Each regulator, GPIO1, GPIO2, GPIO3, and 32KHz clock has a flexible power -sequence slave register which allows its enable source to be specified as -a flexible power sequencer timer or a software bit. When a FPS source of -regulators, GPIOs and clocks specifies the enable source to be a flexible -power sequencer, the power up and power down delays can be specified in -the regulators, GPIOs and clocks flexible power sequencer configuration -registers. - -When FPS event cleared (set to LOW), regulators, GPIOs and 32KHz -clock are set into following state at the sequencing event that -corresponds to its flexible sequencer configuration register. - Sleep state: In this state, regulators, GPIOs - and 32KHz clock get disabled at - the sequencing event. - Global Low Power Mode (GLPM): In this state, regulators are set in - low power mode at the sequencing event. - -The configuration parameters of FPS is provided through sub-node "fps" -and their child for FPS specific. The child node name for FPS are "fps0", -"fps1", and "fps2" for FPS0, FPS1 and FPS2 respectively. - -The FPS configurations like FPS source, power up and power down slots for -regulators, GPIOs and 32kHz clocks are provided in their respective -configuration nodes which is explained in respective sub-system DT -binding document. - -There is need for different FPS configuration parameters based on system -state like when system state changed from active to suspend or active to -power off (shutdown). - -Optional properties: -------------------- --maxim,fps-event-source: u32, FPS event source like external - hardware input to PMIC i.e. EN0, EN1 or - software (SW). - The macros are defined on - dt-bindings/mfd/max77620.h - for different control source. - - MAX77620_FPS_EVENT_SRC_EN0 - for hardware input pin EN0. - - MAX77620_FPS_EVENT_SRC_EN1 - for hardware input pin EN1. - - MAX77620_FPS_EVENT_SRC_SW - for software control. - --maxim,shutdown-fps-time-period-us: u32, FPS time period in microseconds - when system enters in to shutdown - state. - --maxim,suspend-fps-time-period-us: u32, FPS time period in microseconds - when system enters in to suspend state. - --maxim,device-state-on-disabled-event: u32, describe the PMIC state when F= PS - event cleared (set to LOW) whether it - should go to sleep state or low-power - state. Following are valid values: - - MAX77620_FPS_INACTIVE_STATE_SLEEP - to set the PMIC state to sleep. - - MAX77620_FPS_INACTIVE_STATE_LOW_POWER - to set the PMIC state to low - power. - Absence of this property or other value - will not change device state when FPS - event get cleared. - -Here supported time periods by device in microseconds are as follows: -MAX77620 supports 40, 80, 160, 320, 640, 1280, 2560 and 5120 microseconds. -MAX20024 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. -MAX77663 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. - --maxim,power-ok-control: configure map power ok bit - 1: Enables POK(Power OK) to control nRST_IO and GPIO1 - POK function. - 0: Disables POK control. - if property missing, do not configure MPOK bit. - If POK mapping is enabled for GPIO1/nRST_IO then, - GPIO1/nRST_IO pins are HIGH only if all rails - that have POK control enabled are HIGH. - If any of the rails goes down(which are enabled for POK - control) then, GPIO1/nRST_IO goes LOW. - this property is valid for max20024 only. - -For DT binding details of different sub modules like GPIO, pincontrol, -regulator, power, please refer respective device-tree binding document -under their respective sub-system directories. - -Example: --------- -#include - -max77620@3c { - compatible =3D "maxim,max77620"; - reg =3D <0x3c>; - - interrupt-parent =3D <&intc>; - interrupts =3D <0 86 IRQ_TYPE_NONE>; - - interrupt-controller; - #interrupt-cells =3D <2>; - - fps { - fps0 { - maxim,shutdown-fps-time-period-us =3D <1280>; - maxim,fps-event-source =3D ; - }; - - fps1 { - maxim,shutdown-fps-time-period-us =3D <1280>; - maxim,fps-event-source =3D ; - }; - - fps2 { - maxim,shutdown-fps-time-period-us =3D <1280>; - maxim,fps-event-source =3D ; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77620.yaml b/Do= cumentation/devicetree/bindings/mfd/maxim,max77620.yaml new file mode 100644 index 000000000000..42cbad56595f --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/maxim,max77620.yaml @@ -0,0 +1,422 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/maxim,max77620.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MAX77620 Power management IC from Maxim Semiconductor + +maintainers: + - Svyatoslav Ryhel + +properties: + compatible: + enum: + - maxim,max20024 + - maxim,max77620 + - maxim,max77663 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + gpio-controller: true + + "#gpio-cells": + const: 2 + description: + Device has 8 GPIO pins which can be configured as GPIO as well as + the special IO functions. The first cell is the pin number, and the + second cell is used to specify the gpio polarity (GPIO_ACTIVE_HIGH or + GPIO_ACTIVE_LOW). + + system-power-controller: true + + "#thermal-sensor-cells": + const: 0 + description: + Maxim Semiconductor MAX77620 supports alarm interrupts when its + die temperature crosses 120C and 140C. These threshold temperatures + are not configurable. Device does not provide the real temperature + of die other than just indicating whether temperature is above or + below threshold level. + + fps: + type: object + additionalProperties: false + description: | + The Flexible Power Sequencer (FPS) allows each regulator to power up + under hardware or software control. Additionally, each regulator can + power on independently or among a group of other regulators with an + adjustable power-up and power-down delays (sequencing). GPIO1, GPIO2, + and GPIO3 can be programmed to be part of a sequence allowing extern= al + regulators to be sequenced along with internal regulators. 32KHz clo= ck + can be programmed to be part of a sequence. + + The flexible sequencing structure consists of two hardware enable in= puts + (EN0, EN1), and 3 master sequencing timers called FPS0, FPS1 and FPS= 2. + Each master sequencing timer is programmable through its configurati= on + register to have a hardware enable source (EN1 or EN2) or a software= enable + source (SW). When enabled/disabled, the master sequencing timer gene= rates + eight sequencing events on different time periods called slots. The = time + period between each event is programmable within the configuration r= egister. + Each regulator, GPIO1, GPIO2, GPIO3, and 32KHz clock has a flexible = power + sequence slave register which allows its enable source to be specifi= ed as + a flexible power sequencer timer or a software bit. When a FPS sourc= e of + regulators, GPIOs and clocks specifies the enable source to be a fle= xible + power sequencer, the power up and power down delays can be specified= in + the regulators, GPIOs and clocks flexible power sequencer configurat= ion + registers. + + When FPS event cleared (set to LOW), regulators, GPIOs and 32KHz clo= ck + are set into following state at the sequencing event that corresponds + to its flexible sequencer configuration register. + + Sleep state: In this state, regulators, GPIOs and 32KHz clock get di= sabled + at the sequencing event. + Global Low Power Mode (GLPM): In this state, regulators are set in l= ow + power mode at the sequencing event. + + The configuration parameters of FPS is provided through sub-node "fp= s" + and their child for FPS specific. The child node name for FPS are "f= ps0", + "fps1", and "fps2" for FPS0, FPS1 and FPS2 respectively. + + The FPS configurations like FPS source, power up and power down slot= s for + regulators, GPIOs and 32kHz clocks are provided in their respective + configuration nodes which is explained in respective sub-system DT + binding document. + + There is need for different FPS configuration parameters based on sy= stem + state like when system state changed from active to suspend or activ= e to + power off (shutdown). + + patternProperties: + "^fps[0-2]$": + type: object + additionalProperties: false + + properties: + maxim,fps-event-source: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + FPS event source like external hardware input to PMIC i.e. E= N0, EN1 + or software (SW). + + The macros are defined on dt-bindings/mfd/max77620.h for dif= ferent + control source. + - MAX77620_FPS_EVENT_SRC_EN0 for hardware input pin EN0. + - MAX77620_FPS_EVENT_SRC_EN1 for hardware input pin EN1. + - MAX77620_FPS_EVENT_SRC_SW for software control. + + maxim,shutdown-fps-time-period-us: + description: + FPS time period in microseconds when system enters in to shu= tdown state. + + maxim,suspend-fps-time-period-us: + description: + FPS time period in microseconds when system enters in to sus= pend state. + + maxim,device-state-on-disabled-event: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Describe the PMIC state when FPS event cleared (set to LOW) = whether it + should go to sleep state or low-power state. Following are v= alid values: + - MAX77620_FPS_INACTIVE_STATE_SLEEP to set the PMIC state = to sleep. + - MAX77620_FPS_INACTIVE_STATE_LOW_POWER to set the PMIC st= ate to low + power. + Absence of this property or other value will not change devi= ce state + when FPS event get cleared. + + maxim,power-ok-control: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Configure map power ok bit + + 1: Enables POK(Power OK) to control nRST_IO and GPIO1 POK fu= nction. + 0: Disables POK control. + + If property missing, do not configure MPOK bit. If POK mappi= ng is + enabled for GPIO1/nRST_IO then, GPIO1/nRST_IO pins are HIGH = only if + all rails that have POK control enabled are HIGH. If any of = the rails + goes down (which are enabled for POK control) then, GPIO1/nR= ST_IO + goes LOW. + enum: [0, 1] + + pinmux: + $ref: /schemas/pinctrl/maxim,max77620-pinctrl.yaml + + regulators: + $ref: /schemas/regulator/maxim,max77620-regulator.yaml + +allOf: + - if: + properties: + compatible: + contains: + enum: + - maxim,max20024 + - maxim,max77663 + then: + properties: + "#thermal-sensor-cells": false + fps: + patternProperties: + "^fps[0-2]$": + properties: + maxim,shutdown-fps-time-period-us: + enum: [20, 40, 80, 160, 320, 640, 1280, 2540] + maxim,suspend-fps-time-period-us: + enum: [20, 40, 80, 160, 320, 640, 1280, 2540] + maxim,power-ok-control: false + + - if: + properties: + compatible: + contains: + const: maxim,max77620 + then: + properties: + fps: + patternProperties: + "^fps[0-2]$": + properties: + maxim,shutdown-fps-time-period-us: + enum: [40, 80, 160, 320, 640, 1280, 2560, 5120] + maxim,suspend-fps-time-period-us: + enum: [40, 80, 160, 320, 640, 1280, 2560, 5120] + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + pmic@3c { + compatible =3D "maxim,max77620"; + reg =3D <0x3c>; + + interrupts =3D ; + #interrupt-cells =3D <2>; + interrupt-controller; + + #gpio-cells =3D <2>; + gpio-controller; + + #thermal-sensor-cells =3D <0>; + + system-power-controller; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&max77620_default>; + + max77620_default: pinmux { + gpio0 { + pins =3D "gpio0"; + function =3D "gpio"; + }; + + gpio1 { + pins =3D "gpio1"; + function =3D "fps-out"; + maxim,active-fps-source =3D ; + }; + + gpio2 { + pins =3D "gpio2"; + function =3D "fps-out"; + maxim,active-fps-source =3D ; + }; + + gpio3 { + pins =3D "gpio3"; + function =3D "gpio"; + }; + + gpio4 { + pins =3D "gpio4"; + function =3D "32k-out1"; + }; + + gpio5_6 { + pins =3D "gpio5", "gpio6"; + function =3D "gpio"; + drive-push-pull =3D <1>; + }; + + gpio7 { + pins =3D "gpio7"; + function =3D "gpio"; + }; + }; + + fps { + fps0 { + maxim,shutdown-fps-time-period-us =3D <1280>; + maxim,fps-event-source =3D ; + }; + + fps1 { + maxim,shutdown-fps-time-period-us =3D <1280>; + maxim,fps-event-source =3D ; + }; + + fps2 { + maxim,shutdown-fps-time-period-us =3D <1280>; + maxim,fps-event-source =3D ; + }; + }; + + regulators { + in-sd0-supply =3D <&vdd_5v0_vbus>; + in-sd1-supply =3D <&vdd_5v0_vbus>; + in-sd2-supply =3D <&vdd_5v0_vbus>; + in-sd3-supply =3D <&vdd_5v0_vbus>; + + in-ldo0-1-supply =3D <&vdd_1v8_vio>; + in-ldo2-supply =3D <&vdd_3v3_vbat>; + in-ldo3-5-supply =3D <&vdd_3v3_vbat>; + in-ldo4-6-supply =3D <&vdd_3v3_vbat>; + in-ldo7-8-supply =3D <&vdd_1v8_vio>; + + sd0 { + regulator-name =3D "vdd_cpu"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1250000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + sd1 { + regulator-name =3D "vdd_core"; + regulator-min-microvolt =3D <950000>; + regulator-max-microvolt =3D <1350000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + vdd_1v8_vio: sd2 { + regulator-name =3D "vdd_1v8_gen"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + sd3 { + regulator-name =3D "vddio_ddr"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo0 { + regulator-name =3D "avdd_pll"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo1 { + regulator-name =3D "vdd_ddr_hs"; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1000000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo2 { + regulator-name =3D "avdd_usb"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + maxim,active-fps-source =3D ; + }; + + ldo3 { + regulator-name =3D "vdd_sdmmc3"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-always-on; + + maxim,active-fps-source =3D ; + }; + + ldo4 { + regulator-name =3D "vdd_rtc"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo5 { + regulator-name =3D "vdd_ddr_rx"; + regulator-min-microvolt =3D <2850000>; + regulator-max-microvolt =3D <2850000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo6 { + regulator-name =3D "avdd_osc"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + regulator-boot-on; + + maxim,active-fps-source =3D ; + }; + + ldo7 { + regulator-name =3D "vdd_1v2_mhl"; + regulator-min-microvolt =3D <1050000>; + regulator-max-microvolt =3D <1250000>; + + maxim,active-fps-source =3D ; + }; + + ldo8 { + regulator-name =3D "avdd_dsi_csi"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + + maxim,active-fps-source =3D ; + }; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/thermal/max77620_thermal.txt= b/Documentation/devicetree/bindings/thermal/max77620_thermal.txt deleted file mode 100644 index 82ed5d487966..000000000000 --- a/Documentation/devicetree/bindings/thermal/max77620_thermal.txt +++ /dev/null @@ -1,70 +0,0 @@ -Thermal driver for MAX77620 Power management IC from Maxim Semiconductor. - -Maxim Semiconductor MAX77620 supports alarm interrupts when its -die temperature crosses 120C and 140C. These threshold temperatures -are not configurable. Device does not provide the real temperature -of die other than just indicating whether temperature is above or -below threshold level. - -Required properties: -------------------- -#thermal-sensor-cells: For more details, please refer to - - The value must be 0. - -For more details, please refer generic thermal DT binding document -. - -Please refer for mfd DT binding -document for the MAX77620. - -Example: --------- -#include -#include -... - -i2c@7000d000 { - spmic: max77620@3c { - compatible =3D "maxim,max77620"; - ::::: - #thermal-sensor-cells =3D <0>; - ::: - }; -}; - -cool_dev: cool-dev { - compatible =3D "cooling-dev"; - #cooling-cells =3D <2>; -}; - -thermal-zones { - PMIC-Die { - polling-delay =3D <0>; - polling-delay-passive =3D <0>; - thermal-sensors =3D <&spmic>; - - trips { - pmic_die_warn_temp_thresh: hot-die { - temperature =3D <120000>; - type =3D "hot"; - hysteresis =3D <0>; - }; - - pmic_die_cirt_temp_thresh: cirtical-die { - temperature =3D <140000>; - type =3D "critical"; - hysteresis =3D <0>; - }; - }; - - cooling-maps { - map0 { - trip =3D <&pmic_die_warn_temp_thresh>; - cooling-device =3D <&cool_dev THERMAL_NO_LIMIT - THERMAL_NO_LIMIT>; - contribution =3D <100>; - }; - }; - }; -}; --=20 2.51.0 From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0812130DECB for ; Fri, 6 Mar 2026 13:34:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804064; cv=none; b=dEHZW4JiaU4QEydy1GYVnjUN/cG2olqts5hYLBy8lEjc2hIGlg5iDD77I23GUUd1xw0YYnB5iUiD8CoyG+OW4dz+VOIFIVGthTF40Jw4M7OrGZCdHWuCNFqOZESdbwkRAtYxJMVtGki5SLVKiiaV6KXFwAkIBdnykGWQT7spaJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804064; c=relaxed/simple; bh=sQMuxREvI14xCKQr+ivPy4kgzqxvGsoREnyqbhHL524=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ArCYAYaaGrKgSAHxKKAKJ+QgDgeTehII/kFLAs4t6BS5OrmfmtlKWbvyPh00g6dzHCrw0eEFUGcaF2NM2B228TYTQb8bLdX/8lH6h5/dtASSSvYuLXl6tbqxRPDvkx9kX6bM5uqEHleROSucFPTePDigNwJM5bjKH2LZ8+EASP0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YFUDe1kd; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YFUDe1kd" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4836d4c26d3so73164225e9.2 for ; Fri, 06 Mar 2026 05:34:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804061; x=1773408861; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CMYqmIcoIdZ/7uRWwTU4Z40LsDbT8y6/p6+mjdfeyBI=; b=YFUDe1kdAh5BUzJm95SlbvEjrWMA7kFTutlYeMjc8EHdrs75BLE2c3ZUIVrsF6kK2D BhNACTsYr7mAFRt/YQ4IpwxEdR1CGVmsPBxU5Vg+5FRm3ZeBMMrHrM66zrTnjZdk+lmw 6zp3ybRxK5xJYyFOVcCmiaJT1PpVDjeiz3WkKf7BIY4AoNaBzEiCBn1MwCHHRjRoR9x4 AuzJErommwOz/6tCdM0mc3bl7X0BuoHIwe1tofWcebeO30k9+dE0EjADEtTpeI8X8BlY wF/ZcbTF44HNdCqfhDzyPAcczaG80hMxkPLiIz9/TWjQPYzwjS/h3JRervtuY3bxYoDG 9X9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804061; x=1773408861; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CMYqmIcoIdZ/7uRWwTU4Z40LsDbT8y6/p6+mjdfeyBI=; b=GDlcCPIoqHXEJt/Hds8bGF9SJiV5t+UWWlGNwU+hQSiq+5VxAA2b2FF7YP7IWYCFoy ios90+i31AQUjC+MGLIx+WchMtr2/64n/EUyprLvtwecuEpk8bA4yffEgD//aE46guPT K8Iiw6s+Q+dYSh6rYnCtHJquaiP4/9ZrENnTuPVYPU1cVcbBR/0lRGsuBYwTac7j4XF/ bn7DwkmWmt0yTcKr8w6O1N4T20bb+kwuwIB9cCyUi1jFGpz9iSLa27wPR6tdymUwl1Yp N+aKt9ppOBTIqoQBjfszJVjx8fznTloKvBcZiXGZY1Qe80uMJmZg5Z8dTdvQXLdX/+KJ 0mhw== X-Forwarded-Encrypted: i=1; AJvYcCWYQMC6PbHmzH8Gf7OTW0fpifGyr+W1SUFN2bWgBWQzAME7uhueCiPctzkeq1JNan5s3TvlOpt1DrPLqe8=@vger.kernel.org X-Gm-Message-State: AOJu0YzKvjjKCeAmLk/Lndni8e9OOrxQ0jatkA25Jspceo8BRfWw9eOV Auct+RnmJy9vrY+NHYyn15aVxeU11vP4pGW9LUE9heOJAu/vm0LlaYag X-Gm-Gg: ATEYQzwOdY85nizBc2aUYIgox/9NcLLumxGpXkRRkQ5o0w76252FnTc25x5pTCcspti rMIcSX7zQqOo7/0qIgjixn9dxdX9DJNRT0+n9u6mBRaiz9g6xM5xASYOOzX6QAQIwE6Bl5x784q eO+ZNh93u7pSZUIokpf7AUPSWhlx4y9/k8a0CZ4+ivpWz0uAbmSHmq63jV+DM+/VuMTBafuyKwS zsNYmoZO6HrKREtUn09MaZi3KImzrxi/9A2Molljr5+V6kdJDe1FtqDGWJObEzPRNNf5A6mZf4p ebyrnEiDePeKZM5JVzWUjajEep5HZI63RFOOp8b4yp9O5t2CbhdpNE+W6YW1jEx5vVNtHOMKctg Xv8EdvyPFhELTMnvd1CjozxvjNmPlGVW+3g+mo3qihZypkwsTfeeDrN4RbKB8GS+qBaSxAjba5u TGtCc3d1+HbxUp X-Received: by 2002:a05:600c:1c1f:b0:47e:e20e:bbbe with SMTP id 5b1f17b1804b1-48526967ce8mr36182365e9.25.1772804061356; Fri, 06 Mar 2026 05:34:21 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:21 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 5/6] dt-bindings: mfd: max77620: document optional RTC address for MAX77663 Date: Fri, 6 Mar 2026 15:33:50 +0200 Message-ID: <20260306133351.31589-6-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document an optional second I2C address for the MAX77663 PMIC's RTC device, to be used if the MAX77663 RTC is located at a non-default I2C address. Signed-off-by: Svyatoslav Ryhel --- .../bindings/mfd/maxim,max77620.yaml | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77620.yaml b/Do= cumentation/devicetree/bindings/mfd/maxim,max77620.yaml index 42cbad56595f..246c7f9e572d 100644 --- a/Documentation/devicetree/bindings/mfd/maxim,max77620.yaml +++ b/Documentation/devicetree/bindings/mfd/maxim,max77620.yaml @@ -17,7 +17,17 @@ properties: - maxim,max77663 =20 reg: - maxItems: 1 + description: + Can contain an optional second I2C address pointing to the PMIC's + RTC device. If no RTC address is provided, a default address specific + to this PMIC will be used. + minItems: 1 + maxItems: 2 + + reg-names: + items: + - const: pmic + - const: rtc =20 interrupts: maxItems: 1 @@ -192,6 +202,16 @@ allOf: maxim,suspend-fps-time-period-us: enum: [40, 80, 160, 320, 640, 1280, 2560, 5120] =20 + - if: + properties: + compatible: + not: + contains: + const: maxim,max77663 + then: + properties: + reg-names: false + required: - compatible - reg --=20 2.51.0 From nobody Sat Apr 11 10:48:09 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71B3A30EF9A for ; Fri, 6 Mar 2026 13:34:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804066; cv=none; b=EwOAvxnuNMg3XqwOauwSzPBxcOoc9rfFtgzKDlw0RNwun4CD8NiplCZYhU0kFkILp04rklKiTzQD4Gr5nXqm1a7ZJL8jODvk/epuWElm/f6AbTBOyaTEwJYE69NcwgBrCpY63TNeBgwpt5uKRE38i5+1lGsXQeBVxilAf5oeado= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804066; c=relaxed/simple; bh=OCqMqTV3Fk0GHlGjVJ0UFzNI1DHV1XFUgzJgSRR9AZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f71EEh0nErhqIuFLpilnatWJD4zVbRPLKHzu+HcwPtUiELyzjEV/GIl0ZiUqnmGdGMiLDSlSTpDJozY9coymN6MGZmDI4mWATc1Vu/a8kzBF9HhbkHWp7TRUuvg62xE3Q5YuSOtq7iJXBJpIF1T3DXUwR93BSdKU2aTRLX3qJew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RARZgury; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RARZgury" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4836e3288cdso62616615e9.0 for ; Fri, 06 Mar 2026 05:34:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804063; x=1773408863; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+87770G0UGJrf+jBGNAZwy7BjuGZ53X0m5gpUF71N68=; b=RARZguryO4ErVuxUbv/YdeAplJY3bpibccbpThpiYNLNRwG17J7VE6S8BWBeHmR2+Z QsOd/YFpG1NSzx10htZk3tk8pUE/2MddazrvFOOLieHn2F6YNNttrGzAhaDvKrSsACus 2Rj064GoDsgbyztWp/zEtYSfDc8UiE/zZw4FoPjuMWPyyjcIJYN6tde83x4mzxO74EWl WBMUFcdgoyX2O/zOHO/ThiSqt4QpT3XTwKV8psQdwGA9k6LlGtTF3vAvuagO0l93VjZj xGS2eS66/n/N2fpWR6P80IDA1IIwgAsEKk1rlE68oEO+iOlJ4k4SFwm1QSppgwgEvou1 l5ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804063; x=1773408863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+87770G0UGJrf+jBGNAZwy7BjuGZ53X0m5gpUF71N68=; b=UCfGiBCc0UJ7rHt0JsbxF9DmtcC9WzP1NtN3YeSENaeihy6f7s+Bit8qy5uLrZq5Pw 9XJ4/NaeXyvHT7C7cS5jAqxsDfcP/5MQpXbB75KJox0MClyL9HwDKF7I1lbar+VzUBsB xoh5Bd7v72rCgpj7bV69ER78OqBxwjJDMxtQTvqeftOhfKlflH0YXpljaP0KYFYq+xr2 XPN3cxY8CGt0THnlZcA8VKh2FQqHIoFw5VTfJ2wCW+1y6pbdhfnjoOSqjwfM9friMZ/R RgSzyfDqf6xCLYKuTHEdPKKx2J0Obu0+iM+oXZB3h+4y/l6xSq1Eq4LM7NNIENlQkhJm hzqw== X-Forwarded-Encrypted: i=1; AJvYcCWPRNY9hrdWd9e2SfK4nCzyY82+qANV3FopKyOWOoEv2maXcAx60dFQf3GJHzvlJAPEQf4xUfynD3VHPuM=@vger.kernel.org X-Gm-Message-State: AOJu0YwAWcHfIBRbYG9qzgif1lc6TsBrpbwd3jmnEIRcHF/H8gxsffCX 6fkdap7edJtyWmOvN96gpzSF3trsk1hpWdxucQW1+1Maa5a0mvnW081S X-Gm-Gg: ATEYQzzWKeAHiP3MYMV+sKceuxuJdb2MDh5syD7PD8zX8qW0oYLHAXuqxWufO1G5aZL /Jf5coqtqRYk0crqwd1OE2weIUVVjW3kiuHJm3sr3YCm5cHIwAsFVyYiHH93mKvMvG9Vqn5iSL1 RLYB+C6RcxAV6eGjXc+kRYTjg3xyKRO8Djb5Fk7EV9iqgeQQ/ViVvPESLnXCLifw8HkFT8j5ZAZ 9tmsKI2LUq1x0vUuqyYi6WFw1GaAC34mOFiNeiyzhgCHqXX8uWfyGq1JGFWHAOJgmJ7UGlwTzSs 8+NbEA3qSlAoHyt03zwrzTTdaz02sJWekGcMT5/9UbwJwVnde6BT3Q87Xa01q8TfQkWyIlJVGei xxCbGVvkAX54D+gSEA80nl1brEX2gwtN5ZJyW+7EHlu0RGbbXDb3cKq8iGknenQuxORwoDjdcFF ZColh3maJ7cMvy X-Received: by 2002:a05:600c:3147:b0:481:a662:b3f3 with SMTP id 5b1f17b1804b1-4852671cbebmr31770145e9.7.1772804062705; Fri, 06 Mar 2026 05:34:22 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:22 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 6/6] rtc: max77686: convert to i2c_new_ancillary_device Date: Fri, 6 Mar 2026 15:33:51 +0200 Message-ID: <20260306133351.31589-7-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert RTC I2C device creation from devm_i2c_new_dummy_device() to i2c_new_ancillary_device() to enable the use of a device tree-specified RTC address instead of a hardcoded value. If the device tree does not provide an address, use hardcoded values as a fallback. This addresses an issue with the MAX77663 PMIC, which can have the RTC at different I2C positions (either 0x48, like the MAX77714, or 0x68, like the MAX77620). The MAX77620 value is used as the default. The I2C position of the MAX77663 is factory-set and cannot be detected from the chip itself. Signed-off-by: Svyatoslav Ryhel --- drivers/rtc/rtc-max77686.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c index 69ea3ce75b5a..3cdfd78a07cc 100644 --- a/drivers/rtc/rtc-max77686.c +++ b/drivers/rtc/rtc-max77686.c @@ -686,6 +686,11 @@ static int max77686_rtc_init_reg(struct max77686_rtc_i= nfo *info) return ret; } =20 +static void max77686_rtc_release_dev(void *client) +{ + i2c_unregister_device(client); +} + static int max77686_init_rtc_regmap(struct max77686_rtc_info *info) { struct device *parent =3D info->dev->parent; @@ -713,12 +718,17 @@ static int max77686_init_rtc_regmap(struct max77686_r= tc_info *info) goto add_rtc_irq; } =20 - client =3D devm_i2c_new_dummy_device(info->dev, parent_i2c->adapter, - info->drv_data->rtc_i2c_addr); + client =3D i2c_new_ancillary_device(parent_i2c, "rtc", + info->drv_data->rtc_i2c_addr); if (IS_ERR(client)) return dev_err_probe(info->dev, PTR_ERR(client), "Failed to allocate I2C device for RTC\n"); =20 + ret =3D devm_add_action_or_reset(info->dev, max77686_rtc_release_dev, + client); + if (ret) + return ret; + info->rtc_regmap =3D devm_regmap_init_i2c(client, info->drv_data->regmap_config); if (IS_ERR(info->rtc_regmap)) --=20 2.51.0