From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 706063E2747 for ; Wed, 20 May 2026 13:57:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285442; cv=none; b=Mga61i/Uxg+IURk2hxd2iLk1qmDQOnWDYbpuFC9g6bhK3NmmjnLYLdKkV5iZ9xAhxXu/R79Hqmqsk+9WjU/4LQiz+t0HsQ0rUVHUG9BVUPJ2jRxCAKL7tmvVRGBGGjMWQgVI+mNp8lVM77RGv3WqM0DwLp6J3Eo9A9O6X3ZSLNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285442; c=relaxed/simple; bh=BjdykeHS9BqEJZE1gE6CCOK/sLg66E2Y5BAmWKBD3Ho=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HxA0SYdPPb7mODd0TO9/xGAwMkP0+H97qEu/EqFp+Ibj1XiRq6lkn/S5mQXYD1zcfcYp5AS+MuTresUgHFuILeQVtdkwOwbVlyN74Pqe6h4c+OciEh0070Yx9NicbiXy3rsxeXpnHqKBJeVIA4eQIpqgNrBOJMKbvZrxirWZRxU= 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=bOoNNlmW; arc=none smtp.client-ip=209.85.216.50 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="bOoNNlmW" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-366375c4076so1839371a91.3 for ; Wed, 20 May 2026 06:57:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285439; x=1779890239; 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=oAr9Tuamz6G4RMhF+mEaQvtccn86uYkrnM5/9wq0C+4=; b=bOoNNlmWt3pzy80/FlyyC22VYbFo2i51ocCe7x7zCmEC7NA0JrkKBzihfKw3xN0nz4 nSfleDKr1bkrPWlKY5kB67mbAm6Oc7IlCf+js6f41MzwOU42zD8z7/j4s8XNWaRZaRQQ /SFlYEbubGRCGqyNJ0WOO1FQi4WmbYEqT18Zocv6dQFW4hECsFNUbcRowpMGiMGR9mQY yHdudmTwNCaDz6WvILASZ3895RdcZLi2t+Taeej6e9Q28GChCIEuhto5ppO6R/87Ogh2 SdnHbK2UNhfl1dtcgP13n9pbWtEUNmB0fXxlcsU8FidgCpy4UPlFuWGHZ3jbwJS6Mui8 ADzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285439; x=1779890239; 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=oAr9Tuamz6G4RMhF+mEaQvtccn86uYkrnM5/9wq0C+4=; b=ceJ58n+xPq1JfAiLBiuK6YA4q0VrVv03fAM9j4tgH9PbWPlnUb7NiWlDUDLzbfA8K4 1ZR9xemWF287ykDi6x+TH2Lr2OE4uLUU3G40xW3qKyXy6XYtHlBE5Vphr/AvHbz5Nhoa 34Lf/QH6Mm3UmUzseWElHhg51pWXoMMs1M+lBBszbXV71+pPJAiSFqNlxosD8DmSiK1e dDhfu87nhxH/RflsR4uPWd0EID5fcndyQ8jQu5ZD9VqfPpdJKYWtnHtlHOjUc6agvihp W5xi/c3lgt9XqHKUF6fFm1+aub0d1GMdI1FZIhZwTmxrX0yTrZ8qtXl1UtIJbU3H6iQM Oa/w== X-Gm-Message-State: AOJu0YxlKi10O0QAKwHfrXbELQM57AqkgpEGdVdpUrPgSmdHjNmtb5lP KGLkxts4vOyitE55SbagDQvPOgptJ1PAeAMWzoC1C+QmxbKDhMZ4Ltcde4dOxoJH X-Gm-Gg: Acq92OEL8IkbTwY8ICgTOMkJCb580eMSj+g4nZgX8xfJpgsbUtszJHwPcK7+VF+9a57 kCd6etqN3RWPuqIiGWFagplem/TcsSCNgUIQL0xPPgmvIEvG2aHXp+JJF53H0CG63SPe94+JweI z9f2lDnWzJ+U5kS/3xjgs+w/v+gBEv4uCTZ6iHJMdTKynu44i61JNmLNip7cZal7PMtAt38pCdh wABEZgH1x80Mc6yjtnG0K/Yk0sSNr2lSY67LWtMGS9xi2/8Jm6Hl0gLGlBEM3f92x4WYJGt2B/9 VfDU/3NoqScY9/ITmpAaxGmy7uHB9l6SvjezwGazgmlg1CJONA27RPFhHvLe9e0b9eq38N1vrmK DwFTs01gFV6fZ8DYLXRYB03HJHOpEDscIS+V7GukZBdi3vGPpu2Q2Zr7OPPDkGZJuAEVFCi7i/e xM5cIT/6EwwhLfLpcPxY9rx0V/DQ0DR9+iqTIOtcE= X-Received: by 2002:a17:90b:38cf:b0:35f:b647:d98a with SMTP id 98e67ed59e1d1-369519c6bcfmr22869963a91.5.1779285439101; Wed, 20 May 2026 06:57:19 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:18 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 1/6] dt-bindings: leds: issi,is31fl32xx: convert the binding to yaml Date: Wed, 20 May 2026 21:56:54 +0800 Message-ID: <20260520135659.1430008-2-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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 leds-is31fl32xx to DT schema format. Co-developed-by: Lucca Fachinetti Signed-off-by: Lucca Fachinetti Co-developed-by: Pawel Zalewski Signed-off-by: Pawel Zalewski Signed-off-by: Jun Yan Reviewed-by: Krzysztof Kozlowski --- .../bindings/leds/issi,is31fl32xx.yaml | 151 ++++++++++++++++++ .../bindings/leds/leds-is31fl32xx.txt | 53 ------ 2 files changed, 151 insertions(+), 53 deletions(-) create mode 100644 Documentation/devicetree/bindings/leds/issi,is31fl32xx.= yaml delete mode 100644 Documentation/devicetree/bindings/leds/leds-is31fl32xx.= txt diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml b/= Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml new file mode 100644 index 000000000000..81f1e30e493d --- /dev/null +++ b/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml @@ -0,0 +1,151 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/issi,is31fl32xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: IS31FL32xx and Si-En SN32xx LED controller + +maintainers: + - Lucca Fachinetti + - Pavel Machek + - Jun Yan + +description: | + The IS31FL32xx/SN32xx family of LED drivers are I2C devices with multiple + constant-current channels, each with independent 256-level PWM control. + Each LED is represented as a sub-node of the device. + + For more product information please see the links below: + https://www.lumissil.com/assets/pdf/core/IS31FL3216_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3293_DS.pdf + +properties: + compatible: + enum: + - issi,is31fl3216 + - issi,is31fl3218 + - issi,is31fl3235 + - issi,is31fl3236 + - issi,is31fl3293 + - si-en,sn3216 + - si-en,sn3218 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^led@([1-9a-f]|1[0-9a-f]|2[0-4])$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + description: + LED channel number (1..N) + minimum: 1 + maximum: 36 + + required: + - reg + +allOf: + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3293 + then: + patternProperties: + "^led@": + properties: + reg: + maximum: 3 + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3216 + - si-en,sn3216 + then: + patternProperties: + "^led@": + properties: + reg: + maximum: 16 + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3218 + - si-en,sn3218 + then: + patternProperties: + "^led@": + properties: + reg: + maximum: 18 + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3235 + then: + patternProperties: + "^led@": + properties: + reg: + maximum: 28 + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + led-controller@3c { + compatible =3D "issi,is31fl3236"; + reg =3D <0x3c>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@1 { + reg =3D <1>; + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + + led@5 { + reg =3D <5>; + color =3D ; + function =3D LED_FUNCTION_POWER; + linux,default-trigger =3D "default-on"; + }; + }; + }; +... + diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt b/D= ocumentation/devicetree/bindings/leds/leds-is31fl32xx.txt deleted file mode 100644 index 7082ed186dd9..000000000000 --- a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt +++ /dev/null @@ -1,53 +0,0 @@ -Binding for ISSI IS31FL32xx and Si-En SN32xx LED Drivers - -The IS31FL32xx/SN32xx family of LED drivers are I2C devices with multiple -constant-current channels, each with independent 256-level PWM control. -Each LED is represented as a sub-node of the device. - -Required properties: -- compatible: one of - issi,is31fl3236 - issi,is31fl3235 - issi,is31fl3218 - issi,is31fl3216 - issi,is31fl3293 - si-en,sn3218 - si-en,sn3216 -- reg: I2C slave address -- address-cells : must be 1 -- size-cells : must be 0 - -LED sub-node properties: -- reg : LED channel number (1..N) -- label : (optional) - see Documentation/devicetree/bindings/leds/common.txt -- linux,default-trigger : (optional) - see Documentation/devicetree/bindings/leds/common.txt - - -Example: - -is31fl3236: led-controller@3c { - compatible =3D "issi,is31fl3236"; - reg =3D <0x3c>; - #address-cells =3D <1>; - #size-cells =3D <0>; - - led@1 { - reg =3D <1>; - label =3D "EB:blue:usr0"; - }; - led@2 { - reg =3D <2>; - label =3D "EB:blue:usr1"; - }; - ... - led@36 { - reg =3D <36>; - label =3D "EB:blue:usr35"; - }; -}; - -For more product information please see the links below: -http://www.issi.com/US/product-analog-fxled-driver.shtml -http://www.si-en.com/product.asp?parentid=3D890 --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (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 673833E276A for ; Wed, 20 May 2026 13:57:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285446; cv=none; b=LBh4qnoZdiyASjwfVaj3Skgpg+fkjOa2zrxCBMRrqq0F3ay859cC0Ekv+pTWBCMut5qbtlxpHLhPzk/mS4Wk/5ek4U1x+6PLa2N09Rdu62D93PA7KCds8ljfnqpM4pQQ0ZTj3senGAyGc2Ebu9997Nh0StB+s+yZXkDrGd1/2Uk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285446; c=relaxed/simple; bh=tqRyoaZBs1tvjQrY9z9TFd/uxGf92frpQLPL1VyfqU8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hc9f64vHXAI+Y4vaFNRR50nGFj8MT3HBaGVYciJDYnqFdjTnxcm3S32a418WpL2JJ8DIH18TvIFRmObF76R6Tq/2WTcMZ5/gltcE/O9dXyCeJGVh62GPl9z/JkvfZ3WUVvNi7subi+PWrZvN3tzOJ1TPTN+FChYn35jItShv9ZY= 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=SladTUN0; arc=none smtp.client-ip=209.85.216.54 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="SladTUN0" Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-368f25ff4c4so2493991a91.2 for ; Wed, 20 May 2026 06:57:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285444; x=1779890244; 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=qC2QIpvU6HmG8jsTK89YMedFfyyJiHf9gc9ctAYYQYk=; b=SladTUN00vINPTNw6MvpbYPZMDYwpUJRCTSqi2BO44+cHwZi+vPOw7lavX1u1JNVsY aiOLksRhl0sohbHxbI9IKFYfyc9dvQ+qc/nzFbm0gj3/dKEF35FL0b6z1QgTcJnasgIW q16V2DSgfK84eMQUC8eYNDZERdIj1R3rE1wqNWqc32HOT9iS1J17FLMNd+WNoElHamNX sUgP2qNNw7W1dv9k5mpuPbbHMDEVD3TGjsf4FTdEMLtb04nfPBGvMAVb5oTPRg1ert/I y4+OqAsCNQ1bxASMsgxqUy3R4KqJnsU8S8l1uBMSAmwRsQCyvdvAxpX9wVeJE3g8bnxY GgYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285444; x=1779890244; 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=qC2QIpvU6HmG8jsTK89YMedFfyyJiHf9gc9ctAYYQYk=; b=dCQ40QRJF2Lo3q43o2OZX6c2lE5BPc7hHTmcQcLPXMQnvjXS4LzM2qdfp4v7HuGIhk IOTzrdFfaDlrr60lnYR6x891pw2vRGHI1pEGuwrJkxQgjF+mO+WIBNh9SDI7ZYSAWAm2 u5SEnkdTB49geaZbCVI+J0q6s5wMk0GxhSp+L2FfQyyn6rVqK3DTrJTGif/TsZsfXaoL 8PXcn9d9cyAeDxyXJn09/aYmLFPg9ElbiJOnhlpHn9HF4XL9WbBfvQ1bWYQF8jA1BF8P k1J8dQLXcUezhHioVUouRZ+/PoYNkhfBSmbMaB2HO2at8xZq9XKMxbh0Roi9jyfy0ZB5 ysOw== X-Gm-Message-State: AOJu0Yz1BM+8FEGJXvJ7d00BWlvEbQOy0fymiemfsqUaWuujw+lT0te0 wjunW+XiavcP86Wce6hAbVKEqKnAIVvd+zIyvjTQ0ixGf3wJtLPZ8forbQsB5GDv X-Gm-Gg: Acq92OHZUcAqtYlKPZzQBroFHwvAf7Dntbn3UEc2IIa/C+zKdfx0+yO3FCbwwNfS25W 7PRBro97B7oLP88neRzjTc0VckIAsx94O9CRPx5UH6Hmov+KIjgNG+8B8+U1lCWJy7LHYvE/95I kFRVmdwbBy8AyOh3E63CG9D7mGzexpdKVXv66cnDjpynDZzrvzdbk3vBVucdp9zXAHo7BefoYCc 0Wuln2epw1qo+JVX4+qHhjm43rDdn8yuIPFczbNIQQlUjKKth5YqlTXHdwopVa1l+/tiS13e8bX jecdWLLks4/niWwpQdUEC7lLbMgv6q2TkN95KD0GbUupQNd8S9n/pyI+Xvuk5fMw76ml3IQkTs7 UH4GyYcaDocrzrWwrsL6RJoXEPZwo5eELcE+Vmdjn6SdoDzafADncLe5iPd5+ErdGUJ0yVkhmtB FWajwUtHMQL6X577zT9Y95xYQ8fQxN9VIO0YncF+s= X-Received: by 2002:a17:90b:3c10:b0:369:a359:b189 with SMTP id 98e67ed59e1d1-369a35a15a7mr15900466a91.19.1779285444332; Wed, 20 May 2026 06:57:24 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:23 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 2/6] dt-bindings: leds: issi,is31fl32xx: add support for is31fl3236a Date: Wed, 20 May 2026 21:56:55 +0800 Message-ID: <20260520135659.1430008-3-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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" Add an additional and optional control property for setting the output PWM frequency to 22kHz that exists on is31fl3236a. The default is 3kHz and this option puts the operational frequency outside of the audible range. Co-developed-by: Pawel Zalewski Signed-off-by: Pawel Zalewski Signed-off-by: Jun Yan Reviewed-by: Rob Herring (Arm) --- .../bindings/leds/issi,is31fl32xx.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml b/= Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml index 81f1e30e493d..5f22d8b77edd 100644 --- a/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml +++ b/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml @@ -21,6 +21,7 @@ description: | https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3236A_DS.pdf https://www.lumissil.com/assets/pdf/core/IS31FL3293_DS.pdf =20 properties: @@ -30,6 +31,7 @@ properties: - issi,is31fl3218 - issi,is31fl3235 - issi,is31fl3236 + - issi,is31fl3236a - issi,is31fl3293 - si-en,sn3216 - si-en,sn3218 @@ -37,6 +39,12 @@ properties: reg: maxItems: 1 =20 + issi,22khz-pwm: + type: boolean + description: + When present, the chip's PWM will operate at ~22kHz as opposed + to ~3kHz to move the operating frequency out of the audible range. + "#address-cells": const: 1 =20 @@ -60,6 +68,22 @@ patternProperties: - reg =20 allOf: + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3216 + - issi,is31fl3218 + - issi,is31fl3235 + - issi,is31fl3236 + - issi,is31fl3293 + - si-en,sn3216 + - si-en,sn3218 + then: + properties: + issi,22khz-pwm: false + - if: properties: compatible: --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.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 885C03E5598 for ; Wed, 20 May 2026 13:57:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285450; cv=none; b=Z8OKeRArVfJJvIS8Oxu33y5rvx7Wq+J2AAg3/HLzzVuOUuQMhOH48kv725SaJsrvM5BJy9LjAoGOzA/C39R2Hls30ZwcbfHAq5SHDNpBEiK2G1oroZgZ8vC3qEzqC03lZ+Ca3VuyYOMp9AyM63RpHY9V6j+HEjA0eOVq9+p8LSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285450; c=relaxed/simple; bh=K+tQdEa1w/oGtmN7/A0Fdc7GiMO7t+lg3h7hsUuhzkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IBON0QQLwYDiHL8uxtzM2/PTLsCqIwvYpmL7SvRdIT91mUdaRaBT6evQC5LG6y2mX6qDQq2hEzy4gRHA8a7ZuLnuow4IqvkxbIhowKBq8p1XbFr0WZA8cuhIeFbmmc+rySuDUulTIJ/At6gbPiUdd/txbRFS1D+tCh+Url9OT4Q= 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=ZQ+F7hKo; arc=none smtp.client-ip=209.85.216.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="ZQ+F7hKo" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-368f25ff4c4so2494133a91.2 for ; Wed, 20 May 2026 06:57:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285449; x=1779890249; 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=XGxu9nJ7AW3a2oAYSUYkb6lYeXmMA2jA36FeW8nwHiA=; b=ZQ+F7hKo/Bf5419k0GUk+f5bMI6JLfQGWC3lnSzPkZfMIXvDpq/LtP0/bSjsKRnpon YG4jXoPfYLG7JhQwordrJ1+a/7NvkEs26kJhoOhpisQAmtXj4vm7lFTH4yUqxu/+GZN0 sJ97g9p02sZt1sKp68yupHjEjUTjwUpw4NGPIYC5M44thfQOs6QawHtFuB2n57NwRKw8 2mdfXMCxDXLU6z8gxcoxGPNLv7A6YvntKRBg+ZM0mKoKD8+DSCA+9K9UpUYTLAd5Zl7p ltPiSUgjzqs8A4KZlpRyII8QLzHX9GIjLH1RfRGjn7oHMf5bopGiaaL4YLMu6TpeVd0Y dHdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285449; x=1779890249; 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=XGxu9nJ7AW3a2oAYSUYkb6lYeXmMA2jA36FeW8nwHiA=; b=PP5QCqRQF/3zxkBhj6IXvwTjmwMawEqzDTP2F+F5urEZKpD8yAx3yzJH9BNAdCzOKK C30z4pdUj0TaUpMCVY6l7WiGVxS5xfkrcxA25IR+niTsWKjp9iqD+ZvPPOQYPhnoS8k9 ae59hYStiggucbE1VUastf6wh2RjZt+xgfrsjL2KYYg6pBkqF7JioN4eCArXpnEjFy4B LD5+YitYFcoVq5iLzTFynIkUNrSCknSIzUJF9fU7AhWfGgxvp75WdHEEeTEFCIdZQoLQ yrsjDmk1Gv4KQWP48da0XKWf0nIM2rziMcR9QdPOvt3+ohjn/wKsuxYXseWkbs/WKpme mZdg== X-Gm-Message-State: AOJu0YxG5b+XoC364RhxPwgW2vnOQDQ/Se4a3Q6iKbqIUYzITFv1QqkT qlkFG8JWeBLORtHkYyIx/gK2ULW2ldo1FD4semtOSh/hROHEjPcrA8KYF5hxl4Ji X-Gm-Gg: Acq92OHMHO2yrveyJrNARCA1pbjDue/2KOVkiRt6Fyd4UFuXDfbgICDK6RUoCmCRaW4 w5GiYy/mA8B5e0NnVDEFxkX0/SI22/TXtxXJY1rqqJmedBzpOSCMcvcMhwLlnR1fyc9mHS5plT7 upBYUmjvrjoBlEXzqJQSfwdPysjcZB40bguakG5qTGS0rehm4ch1EWOcxLqHeIYdfeZ2RAF565C nDAYTvjfw3d4rsJMNf1FCgAu+afXVTKBxr1cgtPgbuDJ2KM1uh033ee5dsuwxHuBPQT+ipBY8Ky 3z6phO53FZfqk4g/OT1fKvnZh8ZXutOUG2IZxlivoVboNHoNsWrO8yUCc4eIEfBhozUXdMvVJQp yzp1v0T+DtVyYZ3fIxfF6JZw2ctx+O2waL8UI6650tEGbsDfjOWSF/L70TDCFdhiEa3htTMZjdT ad0Uv6YGzRttJSUNvZ7WWkxhzwdOzrhT5gaZXZn9UUPaOMmSFrRw== X-Received: by 2002:a17:90b:58c4:b0:35f:b69d:7292 with SMTP id 98e67ed59e1d1-36951b827ecmr23225986a91.15.1779285448778; Wed, 20 May 2026 06:57:28 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:28 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 3/6] dt-bindings: leds: issi,is31fl32xx: Add powerdown-gpios property Date: Wed, 20 May 2026 21:56:56 +0800 Message-ID: <20260520135659.1430008-4-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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" The IS31FL32XX series features an SDB shutdown pin. Driving it low (active low) places the chip into hardware shutdown mode for power saving, while all register contents are preserved and registers are not reset. Add powerdown-gpios property to describe the GPIO connected to the SDB pin of IS31FL32XX series LED controllers. Signed-off-by: Jun Yan Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/leds/issi,is31fl32xx.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml b/= Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml index 5f22d8b77edd..f33c8305e464 100644 --- a/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml +++ b/Documentation/devicetree/bindings/leds/issi,is31fl32xx.yaml @@ -45,6 +45,15 @@ properties: When present, the chip's PWM will operate at ~22kHz as opposed to ~3kHz to move the operating frequency out of the audible range. =20 + powerdown-gpios: + maxItems: 1 + description: + GPIO connected to the chip's SDB pin. + Driving this GPIO low places the chip into hardware shutdown mode + for power saving. All register contents are preserved and registers + are not reset during shutdown. The chip exits hardware shutdown mode + when the SDB pin is pulled high. + "#address-cells": const: 1 =20 @@ -145,6 +154,7 @@ additionalProperties: false =20 examples: - | + #include #include =20 i2c { @@ -157,6 +167,8 @@ examples: #address-cells =3D <1>; #size-cells =3D <0>; =20 + powerdown-gpios =3D <&gpio0 11 GPIO_ACTIVE_LOW>; + led@1 { reg =3D <1>; color =3D ; --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 BC1AE3E5ECB for ; Wed, 20 May 2026 13:57:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285455; cv=none; b=aQuL00gbKID7rmMsPXDU+hiB0T/q2+jEDoJfghrSTT7ygCq6lQ0dN8Lgr+hnGcF0t9LzbyqHGYlMZTavJ2c3bXEVTzb/r58sr9tH1g4itSLZJxKfBGqolrMICBK/Vz1FfWfMINlsjD/RNyQH6k+EksT3+KEj581Q0nor7Ym4h60= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285455; c=relaxed/simple; bh=7XjhlBWu4XXe0BsTVCSVyXR2X3GDDIaeGLbqNNSVFeQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KTkKeVV31zDRWHR6Ky9gHj4z+fpa+1xVgd1YaS7AgcOxOXMyBvXMs6gYNh2uYhWpzVwYWOwg35FdxMOJFDLCeEGpmpMRTjYptVa27d4yGLyQvjqwOyHTbWQgLCKmMeEt5plppb7mIgR1b0QeeHmrwf6XbagTnZ4IpSO3KQwnjZM= 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=WOaL2KKT; arc=none smtp.client-ip=209.85.216.42 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="WOaL2KKT" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-36936dcf19dso2270355a91.0 for ; Wed, 20 May 2026 06:57:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285453; x=1779890253; 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=qrfdgV6HPj/62pzariFhyLS7uZIzNERwa95bI27/Uww=; b=WOaL2KKTDIPe+NfVguycnQHkUnVjRQenF1jkZ2h5BbLrm8j0htL9NjUktjAtV6jKNH 8Yl+JIKLLsXP0ZcQSsGhflJih6UVmE3+UlclECnAz5kQr0hgJj3y3R3zc5DuKfkYDY9z 31TAxXRgmIANt+1G5MNuPbN3OeKnZCie86MZJI4tjkIFBTz0/nmqfP8Jszt5rk4uJEvj T0ZM0StYymgkNJjRwve2LIOL0GtqwatpKZA0QtAYdXPOwBD3rDJ0PXOHnFpp7YadBZR5 X1kjgPiUMhqtbSNOPTc+m/5V2UGpCaenhqemxR0AO0mdi2XW1lWqO/+An4Cew/CRPfke nCEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285453; x=1779890253; 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=qrfdgV6HPj/62pzariFhyLS7uZIzNERwa95bI27/Uww=; b=dzLERAypJBfDX6JPio0y3PsT3t8DFwVlDV7NddTRVSXTA/o7gJeHGT/EfAftcYuSLA V/AUmecXDE7OnODknowlXTOgcfpIGKyNtZv9W6GRWHLK49zs+eG/VLItN8rKbYAC32gP KiH8a4s3FvbEkEDt8i7Jhn7EuBHYCcaiTrSwq8KqR3W9q/svm+fEmy0R0Tnz9tZs7j6Y R1K+sW0toZAFoNtl1cW/xYRIEQ4PYyq2OSlCu92ijGiwp0YvMcrBNdYmiXcJbwzxdnS8 7BYuHOOeMNPK/D7qa2FoHekgCd/OaateIGRe9QI4a600dDwVAqG3bZvicHeAFJA1kmqC IgYw== X-Gm-Message-State: AOJu0YzcVf/uaGpFfmO4ImdgNpmcSRFSemAu0HploAPDtESdD4yzRadU tBjud5LMTOb8Cvk7vqqZ+vkVU0WYgrYL5lh9OC9dj0Nh62ufYQwROGMxaEHjxvjO X-Gm-Gg: Acq92OH/bDhsnOO0IUEmCNqIoEYsDZrHlPShfFPq6vuJfV2SbmhUf6AzGwMTHDwwM/f Dy94LtLO6TE4kpJvdaJwjWIJy9DDTvyiRHd0px4wAzNyR4xtWiu6rUWmyWP/TEa8XF32x1r8vzU B4JDGY6m+1U0TPqMV/DHtaqEIWlENXn6a2VAcnbrNui8aWdMt7Zz/wRnRhnQJgBjJDrLVqJBaUc 35Z6NyRppmnDeV7ulVd4+S7n6MECnV5vQlDu93zuA6YTx2O6Ax9migrHUPvsEONcOq1RhGuJgwY S4PAWuvN4XSQs+8ottxnqTrSV0I6hrJjB/d8XN4QYKGh3BjCrpwShZVxbKd89UmSFSiumbrD1Rq TijwRdgXWMUeIZCLn5nrjjxNKnOXstu6I52ERi1tF3GPIaqrjTgK32IMcnDEzxDCMC5F2+EcIFh upe+J7mvw+Dyw2Saf8J7kLk+xz7MQbg42b4M/PXPk= X-Received: by 2002:a17:90b:58c4:b0:367:b9ed:665f with SMTP id 98e67ed59e1d1-36951a6cdf4mr22271562a91.13.1779285453029; Wed, 20 May 2026 06:57:33 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:32 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 4/6] leds: is31fl32xx: Add powerdown pin for hardware shutdown mode Date: Wed, 20 May 2026 21:56:57 +0800 Message-ID: <20260520135659.1430008-5-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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" The IS31FL32XX series features an SDB shutdown pin. Driving it low (active low) places the chip into hardware shutdown mode for power saving, while all register contents are preserved and registers are not reset. Deassert/assert the pin accordingly during probe() and remove() to manage hardware shutdown mode. Signed-off-by: Jun Yan --- drivers/leds/leds-is31fl32xx.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index fe07acbb103a..5b9ed5a1818f 100644 --- a/drivers/leds/leds-is31fl32xx.c +++ b/drivers/leds/leds-is31fl32xx.c @@ -10,6 +10,7 @@ */ =20 #include +#include #include #include #include @@ -60,6 +61,7 @@ struct is31fl32xx_led_data { struct is31fl32xx_priv { const struct is31fl32xx_chipdef *cdef; struct i2c_client *client; + struct gpio_desc *powerdown_gpio; unsigned int num_leds; struct is31fl32xx_led_data leds[]; }; @@ -421,6 +423,14 @@ static int is31fl32xx_parse_dt(struct device *dev, const struct is31fl32xx_chipdef *cdef =3D priv->cdef; int ret =3D 0; =20 + /* Driving this GPIO line low takes the chip out of shutdown, + * as it is flagged as GPIO_ACTIVE_LOW in provider (such as the device tr= ee). + */ + priv->powerdown_gpio =3D devm_gpiod_get_optional(dev, "powerdown", GPIOD_= OUT_LOW); + if (IS_ERR(priv->powerdown_gpio)) + return dev_err_probe(dev, PTR_ERR(priv->powerdown_gpio), + "Failed to get powerdown gpio\n"); + if ((cdef->output_frequency_setting_reg !=3D IS31FL32XX_REG_NONE) && of_property_read_bool(dev_of_node(dev), "issi,22khz-pwm")) { =20 @@ -609,6 +619,9 @@ static void is31fl32xx_remove(struct i2c_client *client) if (ret) dev_err(&client->dev, "Failed to reset registers on removal (%pe)\n", ERR_PTR(ret)); + + if (priv->powerdown_gpio) + gpiod_set_value(priv->powerdown_gpio, 1); } =20 /* --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (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 DD7583E2ABB for ; Wed, 20 May 2026 13:57:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285460; cv=none; b=Gjm38N+UTSx2wrXQ58wt4gFFeppyd5Osb1KmjA2icLM7BRQv8R4Ohs2/bsFgx5nUqqFozwkOdwVOXCePJOMpn1F9Qexk9dkds02p9sCAKIAgj/yDZLkpSW/jF7eAJT5iyGRkN8L5U+mB/qwYWQasbjt60yDs87uqc+CaY+Ni8w4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285460; c=relaxed/simple; bh=XlL2Wdy/ljAyX45jVX9CtWRIi2MY6Y2XxJJ2ea07zTQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c50qmYTZL0XdHbNOpuslZ05Fss6MmOwOlxxKZvApSWTlEliZdusIsa3/gnpIwiSJyZtWjkuovUqHL2NT2l9Re0/nipUDlQ6eI6vsURhY3IpORUW7/+ueJf1Hzsf/JzhN0N5GGSEO3iHhbme9vNgrgbQ4KzrFNRMHruyLtRBV4e0= 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=GIGpvZg8; arc=none smtp.client-ip=209.85.216.50 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="GIGpvZg8" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-3697f25d26eso2455483a91.1 for ; Wed, 20 May 2026 06:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285458; x=1779890258; 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=wtNWmSDrnKYrKr76guN8m8K9HLXRTWxrFgm7bXkjKqY=; b=GIGpvZg8Q8bnGiNfRXE/yInY6FF4L96taN8teXSvzoEMPwI9/+Dc4HLW8a1YugEs+X EQmtKh3k8OklulNV4qdw2A7zT1n+Fq+ee44bhupbl0GoBm6KhMDb1yg9uYGV70xxcLhZ gTt+L78Ym1JThYTT9sWeRsgr8AiINsIcoyIAII5x4ebnq5VM4glyG1NbvbR0R4XQXNBa vTJlGli1C0Wm6qzGFvCa6cyvgXR2+uerEo4td5dLwKlRTbuqyyuQJ7C5fc7HY/eFleYC gJEqvrBPXQQ8S6hHpDKUAgzg2ZTTw8UvH/4jYaCMnoyN2+TZG3Z3iEd0/SEE+7k8Qji7 wnhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285458; x=1779890258; 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=wtNWmSDrnKYrKr76guN8m8K9HLXRTWxrFgm7bXkjKqY=; b=kFMNl8EmRqvaKz9M5GitPvqRJh0Sce48JRlNlWUtzU7OsRwM8KJ0O5nhPdLhUdGdlt AkJ8wQrrlRDKcvZY/HV4GEVMtX4fUKqN5kCTKk2MYGp1YVZgvcwMStPczzJK6LRfe23Y d6qktHo1HJNk5a3OJBeZiDlTThAthtrV74yQ5oWn1c4+mpOrGbNkY1CgJXqRHeC1+vLZ Jd7kpN2LqUS3e8IX999tpIFcFtruvrzecaPyQZfxECWvxtrkP2ttF83qFyQ58HG6vuG0 +Nnks7NjK/URq/vABVcZ8QzCp3QBa3xiXH0RWmIwwyKLOpuPbCSPrMSi/QguaxjZkZIG hnkg== X-Gm-Message-State: AOJu0YywlIGeVbbmzzYWJVtZfsSmYtSiUk8WOOCcBstu3pj5VikwRkfE AMPmrVTZzdHLb8TDADWHiPLU9eZCzLa4HLAiHfVRYDY54JrQZE4EdIkCCAxBWPew X-Gm-Gg: Acq92OGGTWADc3A57obYuM9TI9Ay2/cU0WR5y2Ps0141IQ3pkKyF4RiTWlPoFLLhH// ZWyj939m+or2nSZz1xrt7vao6wJEf4m/emhoQIxDq6KIqhi1PvClaB6JmxpALuRFPLkzJ/UGsRt S41Fc2qVLL3zRG1p/OnWhIU7kRKLhOfvOuNCEUuo5e/NQCBmSQm422q0atcygE9yMNZtyxFP90+ b64WYbF2B3TYFuVQdx8t6NtyOlMb8g9RAM2Y9umZfOWNBfjfC/hn81jWVChNkX/nsk/BuCpG9qD 98zbl9T5pKsfP79Oewr4O35zrZBlCbmFdVP9/W1+Avpzqw8Z7lSNb1vemsm9mZd8T56XZNF1WAY caHzNe3urMJuXt2XElJZbuvaow9iq/rBtcMvPdzBNuFpHQ9TANJbUxBoUG2KewHqxB55rddfsMB FhKnL42dWgF5yV9meDbJ30WBwNXvYiCn2HQEtd8G4= X-Received: by 2002:a17:90b:48cd:b0:366:346a:6891 with SMTP id 98e67ed59e1d1-36951b82818mr23906168a91.16.1779285458103; Wed, 20 May 2026 06:57:38 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:37 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 5/6] leds: is31fl32xx: Fix missing brightness_steps for is31fl3236 Date: Wed, 20 May 2026 21:56:58 +0800 Message-ID: <20260520135659.1430008-6-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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" Add missing brightness_steps for is31fl3236 to fix brightness control. Fixes: a18983b95a61 ("leds: is31f132xx: Add support for is31fl3293") Signed-off-by: Jun Yan --- drivers/leds/leds-is31fl32xx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index 5b9ed5a1818f..2d7ff4c5a08c 100644 --- a/drivers/leds/leds-is31fl32xx.c +++ b/drivers/leds/leds-is31fl32xx.c @@ -491,6 +491,7 @@ static const struct is31fl32xx_chipdef is31fl3236_cdef = =3D { .pwm_register_base =3D 0x01, .led_control_register_base =3D 0x26, .enable_bits_per_led_control_register =3D 1, + .brightness_steps =3D 256, }; =20 static const struct is31fl32xx_chipdef is31fl3236a_cdef =3D { --=20 2.54.0 From nobody Sun May 24 23:29:09 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (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 0C4F03E2ABB for ; Wed, 20 May 2026 13:57:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285465; cv=none; b=Q/oqgya9AXABzIObQsUM1MuGec2gwJkz1nM4vdZXQ+ygVBpY+yN2ahGwQy6BdQxgzVRNLquXbu0/71sIeAFnyjGfl2bK42vvKlD2gDQ2+VcI9BCFA5J6JAlJhOrvtR8WFYY4oKeAeHJtMPa00JYgjdCObsTbdMvr/FX+SDKVfmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779285465; c=relaxed/simple; bh=NJrZZSi0o9VWzREhhBEGRggS+ScI0rgS2bTlC1O7Evw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qgaTa1sREOKFz/5IKV9ByNt0LhHg86hci9aCZpnXmgMsH5b7bo7Eg/nbeMdn5V3wX7ldC1L9yjekzBJy1A5B+95eo8LpcJUGfHlbKkLWms35Ca+tpliE4mnpDhL0dp1uE3z4D7xMXqVJpPOZPGQcuPWZ7lJ8328uoXwk0nyvjzI= 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=OUZSvaYR; arc=none smtp.client-ip=209.85.216.41 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="OUZSvaYR" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-3660ab73adbso3412646a91.1 for ; Wed, 20 May 2026 06:57:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779285463; x=1779890263; 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=TFCXqSHrRWZZKbLGMzbhUrsRJwY3I6y6cobGCV3nNZc=; b=OUZSvaYR8RTwyR9XMw4EhDOwBwaJQBdD4QbFQoU9tTljTaXKfN6H/aJE7QBLVsXS9s R96B4qmg3+IyqOOCli5vWDTWSKvX4oNJs5xqTRFVkSdyBqVNWNeWF6vxv85Nxjr4icZx 6bpiVOymdSrVUzYFFiTC1UoGhrwZPIigdnmtKLwiYwmVB/lvhG96rKYm2v4H3QRVQzyA usTOMY+3JwD33c/QbX8F3QEy71JgwdeyxkNV72CS968Li72K42aOJGyVx4YU23Ynuv06 RT77d0IwhFkQpXF4lwQGnfhpLtAen+31pTqjdjUqRjaLgWOUBcfJZ6rnf3g/PF7bccwG V6mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779285463; x=1779890263; 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=TFCXqSHrRWZZKbLGMzbhUrsRJwY3I6y6cobGCV3nNZc=; b=lDB6zeBK0aeJvlM+aDOoLoyVrXSoty0t4GHkgHifdX/5RXZI8sti5ILoPY1gB8IH0x zX6oXuXAd4aNRWEmHl7t5/x6FuukpFX7a2bsliS91sbxiXp+JEGQl4EaIY0LaLlu8yVn 4aEEPulPq1DVkYYWghMtLlzESXLVoLJ8WXsbueu83YijtyN+HXgw2ig1bwRibFBdApu4 u2UBqEdc0kcm6jpkMC/erJ3yMyZLZ80wrTjz2E5527812ktlUqmp1Mxl4v68mrqLTtL+ v4h9R7wXbE+u1TBgp+dcssDUr5HVf67iVR3CQcSpbfOd6MLrxzrlSaAyJ+ha0UryJRTU tk8g== X-Gm-Message-State: AOJu0YxgPb6tL8F4DCcb2S7tPSVU5qhDDUJdSDBxkEIIIzug1TI5Wh+E 30fP4mQfUPzNArEZq2knidSfrPRVPK/ODPDAF8Ao4cFSjNKkYbLusJa3TPOg1OGX X-Gm-Gg: Acq92OH8yvN73QQcmZV5ifyKCbmcKD1+UbaIiuRzaWi677J9U0DJoxtQcrW/GshCEos BBhaRPW8RAu/fl61nK966y5BHyjtXtiibxqx2l46Jx8araaj4mmd+3bVeMuDpIJ7bQYb4CKbZ3K aApMFAwABisbk4/N05SuYM7inWteozKtZxkx3m2Rx4xhtNqBr6qbVcFQFBa13xFfeccCUA5Q/IJ KeT9osMYGe5vu9q7JHRVbhJrxQuXorpaUCvan/0F8pba9FqJj1K76YpL7Q2ZvPQju0JcOU/ZrLG Q8M5ta13QSMdLpx/v3N1P3yiDK2BCaj9aRxcbOO35SymsIOfx0gaCl/PvYbhOx33utSiBitrHLe EQRv5cH4q6Y3GaJ840/8g0ZJLvuvfOg0RNYNtz5FjxRgQj45UhXRoO0cGsxW+jK60OGciLBpCpk 7vd3QdIbMQcWXOjoifYPLx4HhHdCZLajFZzX6wymOyUI3hY4Qrcg== X-Received: by 2002:a17:90b:4a42:b0:368:3830:a8bd with SMTP id 98e67ed59e1d1-3692345e3eamr25930138a91.7.1779285463062; Wed, 20 May 2026 06:57:43 -0700 (PDT) Received: from arch.localdomain ([2409:8a28:a52:5b11:a58f:5208:2fa7:bba5]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-369572e1007sm7480867a91.6.2026.05.20.06.57.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 06:57:42 -0700 (PDT) From: Jun Yan To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-leds@vger.kernel.org Cc: lee@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, luccafachinetti@gmail.com, pzalewski@thegoodpenguin.co.uk, daniel@zonque.org, Jun Yan Subject: [PATCH v7 6/6] leds: is31fl32xx: Move pwm frequency setting to init_regs() Date: Wed, 20 May 2026 21:56:59 +0800 Message-ID: <20260520135659.1430008-7-jerrysteve1101@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520135659.1430008-1-jerrysteve1101@gmail.com> References: <20260520135659.1430008-1-jerrysteve1101@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" commit a18983b95a61 ("leds: is31f132xx: Add support for is31fl3293") swapped the order of is31fl32xx_parse_dt() and is31fl32xx_init_regs(). This causes the PWM frequency configuration programmed in is31fl32xx_parse_dt() to be overwritten by the register reset operation performed in is31fl32xx_init_regs(). Move the PWM frequency setting logic from is31fl32xx_parse_dt() to is31fl32xx_init_regs() and separates device tree parsing from hardware initialization. Fixes: a18983b95a61 ("leds: is31f132xx: Add support for is31fl3293") Signed-off-by: Jun Yan --- drivers/leds/leds-is31fl32xx.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index 2d7ff4c5a08c..c545a3b7a05a 100644 --- a/drivers/leds/leds-is31fl32xx.c +++ b/drivers/leds/leds-is31fl32xx.c @@ -63,6 +63,7 @@ struct is31fl32xx_priv { struct i2c_client *client; struct gpio_desc *powerdown_gpio; unsigned int num_leds; + bool pwm_22khz; struct is31fl32xx_led_data leds[]; }; =20 @@ -346,6 +347,14 @@ static int is31fl32xx_init_regs(struct is31fl32xx_priv= *priv) if (ret) return ret; =20 + if ((cdef->output_frequency_setting_reg !=3D IS31FL32XX_REG_NONE) && + priv->pwm_22khz) { + ret =3D is31fl32xx_write(priv, cdef->output_frequency_setting_reg, + IS31FL32XX_PWM_FREQUENCY_22KHZ); + if (ret) + return ret; + } + /* * Set enable bit for all channels. * We will control state with PWM registers alone. @@ -420,7 +429,6 @@ static struct is31fl32xx_led_data *is31fl32xx_find_led_= data( static int is31fl32xx_parse_dt(struct device *dev, struct is31fl32xx_priv *priv) { - const struct is31fl32xx_chipdef *cdef =3D priv->cdef; int ret =3D 0; =20 /* Driving this GPIO line low takes the chip out of shutdown, @@ -431,17 +439,7 @@ static int is31fl32xx_parse_dt(struct device *dev, return dev_err_probe(dev, PTR_ERR(priv->powerdown_gpio), "Failed to get powerdown gpio\n"); =20 - if ((cdef->output_frequency_setting_reg !=3D IS31FL32XX_REG_NONE) && - of_property_read_bool(dev_of_node(dev), "issi,22khz-pwm")) { - - ret =3D is31fl32xx_write(priv, cdef->output_frequency_setting_reg, - IS31FL32XX_PWM_FREQUENCY_22KHZ); - - if (ret) { - dev_err(dev, "Failed to write output PWM frequency register\n"); - return ret; - } - } + priv->pwm_22khz =3D of_property_read_bool(dev_of_node(dev), "issi,22khz-p= wm"); =20 for_each_available_child_of_node_scoped(dev_of_node(dev), child) { struct led_init_data init_data =3D {}; --=20 2.54.0