From nobody Mon Oct 6 19:10:04 2025 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 3B8592BEC22 for ; Thu, 17 Jul 2025 15:02:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764540; cv=none; b=g4SQiZhhwsOmm0I3+t68OQ2nVx7e/8/QvsDhS2oY+bp9xXuVP8p1hG87qFPc6r1YkPSVp6VZ3nPVn6b+8C495DW7ftnZL5HCTK1hHfwYfGLcXRX7Gx2YxsFeQcGUCTBuNKS6j5J3zaqFZSdQcR0vxsUJBcUb7pnHUSUBNsMk62o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764540; c=relaxed/simple; bh=l8T7LiZXCrAeiVyOamQJQX6BS6kU3eX76OqQrth9bBA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KTz40VqQ+szKamWPkXcTHhzbuVlzfLLnmmdyQXbxdpjk/cVFmLNaY4JF5N2B5ZZpahh5wMpPAnX/J/l8tEyrOaP7iWSvCQDjk1lfB70RbTp2AfVWoFuFzNZiJQDti6M7RhPRLWWc+6NHM9P1HN/6nPVfiGL/egg5sHoh9OW/1jk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk; spf=pass smtp.mailfrom=thegoodpenguin.co.uk; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b=ocUzcCeb; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b="ocUzcCeb" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-455ecacfc32so4644835e9.3 for ; Thu, 17 Jul 2025 08:02:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1752764536; x=1753369336; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=sIyY2v/AOk/xVFcHhov1aG8CGPhp2IEuZMlBjYe1Qx8=; b=ocUzcCebby7ziNbT9uH0ckHHv26IUguAY29HxXTB9q1dWyVZTd24dEgd+1eIHukNJk SOQBScpFSOnpavPhBsTVRD1+63TXAT3HR/oOeF5yOGRWLQr516T8gQRSJRGnrervpGjD FZNewa6hrpliVmFyq+imsXUyKnmCaJeGD8xolv5HL3+KiAbQEusSuJRW7NS157VT2Ugz zisL8/n+/bDYdXv2A3el9HgjTsd3vUB6cwE6JjWXDcJ2rzr8JuQvW7Q9mBfkLYYNzsc/ IHgeKNZUhpZuGBavTEXMsb4tUF/8nQToqYG0ClfEAmeakEDLgj7l+MdgS8bqjBwVaO0M wtdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752764536; x=1753369336; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sIyY2v/AOk/xVFcHhov1aG8CGPhp2IEuZMlBjYe1Qx8=; b=frlxz9pAJWvN3qc4iSL2IblZ0s2Z+zop6xb2a69yZtqEkfRrj7sMCUvKnnljr3LRlX j4HDWHAWzadtjHwMPHbsTGC1BmeuqZTvmQSzq66Q/LgU2fJDBp79xeQOoL293/fBzuFi ILuIwUJV1wOjMPCLT0AAtRZMji6r/AmEYPr5ay7RnDrXPw70SDJ1iglfWYIYIsHA8VDZ 3oythEKPtMufUqFxZiXzwvIPRPPpn5XbirF7BhydO5e1MoN4Yc09W49ct3BX16676t15 vaNfIraDDUcjGVK4/Ln4W3vvVHZUppbB+gg/qpLIpfUezB95jq3C8gRu9iHusuLgpk+i 9vNQ== X-Forwarded-Encrypted: i=1; AJvYcCUECcShrAHaU6VFbKJfeEOoEVVo1TfW3qFr0S4rwRyxlMd85KU9iD/LCwBXx1jUGMbWYuBmZe3O2XaoBgE=@vger.kernel.org X-Gm-Message-State: AOJu0YzsUUpi+gmpfHqrsWTXksG5jP+Ifxmp+Oepi3sPkaYKq+Wn/f2u wElHKdXJqxb4c8MuTkLjZE3DUiDgnV+xAcXU8kCNqV4gp5nR5oNi2NsQGozbnG4fDDE= X-Gm-Gg: ASbGncs3u9l9C/p3anXGm7YKUsfH2Qwr6tIhFWMDnSJVyH8yy+lcxGXZblcpVkvuNal SH4G4n3QIdqloDhZT7t3IkfT2wjs8cMnzW9dW/q3rwB5usRMc50u6w6SWpXhPkPuWlnluFtmB7M DJfou/3RKFvKbpymH+SXk6Ja1sVw6LRKELuus3CVrV9OPcM+qWCaVS0lKsqeWPiUuq17Vmqdka6 t5pbx/Ad42DPXalml/jBylNFB0vvKXypDDJFnOJwMRE2SDl5h8342qE3lmy7NS7C+soE86fNW7O Djs8OD41NlGeUmrytNjxOaCps6JvUTahBdFadC/NEr2YyGYBBzUHlqlF0VuPTEvp5e1o4BWeTNm F6C3cTjAFERzpvOjZPs6bjoCTz4MfdPYe6G4WgMiqb/rIVbjxPA== X-Google-Smtp-Source: AGHT+IFJStBQ3U3tGpyPIqXrJRu8l50bpOjCA3xRcp5u6FVuPIYGr5UIgxYI+B0GqnveH4YWgrtTkg== X-Received: by 2002:a05:600c:310d:b0:456:13b6:4b18 with SMTP id 5b1f17b1804b1-4562e2a59a6mr81581685e9.31.1752764535588; Thu, 17 Jul 2025 08:02:15 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:ebc8:7ccb:ef04:4f83]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45634f5cb9bsm25321885e9.10.2025.07.17.08.02.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 08:02:15 -0700 (PDT) From: Pawel Zalewski Date: Thu, 17 Jul 2025 16:02:07 +0100 Subject: [PATCH v4 1/3] dt-bindings: leds: is31fl32xx: convert the binding to yaml Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250717-leds-is31fl3236a-v4-1-72ef946bfbc8@thegoodpenguin.co.uk> References: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> In-Reply-To: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> To: Lee Jones , Pavel Machek , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Pavel Machek , devicetree@vger.kernel.org, Pawel Zalewski , Lucca Fachinetti X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1752764533; l=5304; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=UX2F40/C4SA2sHvb86cZ86o0cODe+WSgWRbRYCYZb2M=; b=gUiGCVmFIrzBJBdwrjzvhaQU7x8wZZ48ELFhVuEnNzdeyFRhHJc+R2GoUWukXShwtd2URT7uS jg1oRljGhAYDW8CTNagKEk7nIw3HIm1ZVdXyA/SKJPhr3TSzAKRTn1U X-Developer-Key: i=pzalewski@thegoodpenguin.co.uk; a=ed25519; pk=hHrwBom/yjrVTqpEvKpVXLYfxr6nqBNP16RkQopIRrI= From: Lucca Fachinetti Add datasheets for reference, NB that I was not able to find an up-to-date, funtional direct URL for si-en products datasheet so they were skipped. Signed-off-by: Lucca Fachinetti Co-developed-by: Pawel Zalewski Signed-off-by: Pawel Zalewski --- .../devicetree/bindings/leds/issi,is31fl3236.yaml | 114 +++++++++++++++++= ++++ .../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 ---------- 2 files changed, 114 insertions(+), 52 deletions(-) diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml b/= Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml new file mode 100644 index 0000000000000000000000000000000000000000..abcd4c448e94db1d1e339f7ee16= 5c3e04a1d354d --- /dev/null +++ b/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml @@ -0,0 +1,114 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/issi,is31fl3236.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: is31fl32xx and Si-En SN32xx IC LED driver + +maintainers: + - Pavel Machek + - Lee Jones + +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/IS31FL3236_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3236A_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3235_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf + https://www.lumissil.com/assets/pdf/core/IS31FL3216_DS.pdf + +properties: + compatible: + enum: + - issi,is31fl3236 + - issi,is31fl3236a + - issi,is31fl3235 + - issi,is31fl3218 + - issi,is31fl3216 + - si-en,sn3218 + - si-en,sn3216 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^led@[1-9a-f][0-9a-f]$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + description: + LED channel number (1..N) + minimum: 0x1 + maximum: 0x24 + + required: + - reg + +allOf: + - if: + properties: + compatible: + contains: + enum: + - issi,is31fl3236 + - issi,is31fl3235 + - issi,is31fl3218 + - issi,is31fl3216 + - si-en,sn3218 + - si-en,sn3216 + then: + properties: + issi,22kHz-pwm: false + +required: + - compatible + - reg + - "#size-cells" + - "#address-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 <0x1>; + label =3D "led1:red"; + }; + led@2 { + reg =3D <0x2>; + label =3D "led1:green"; + }; + led@3 { + reg =3D <0x3>; + label =3D "led1:blue"; + }; + }; + }; +... + diff --git a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt b/D= ocumentation/devicetree/bindings/leds/leds-is31fl32xx.txt deleted file mode 100644 index 926c2117942c4dc200fcd68156864f544b11a326..000000000000000000000000000= 0000000000000 --- a/Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt +++ /dev/null @@ -1,52 +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 - 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.48.1 From nobody Mon Oct 6 19:10:04 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.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 B78332F6F90 for ; Thu, 17 Jul 2025 15:02:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764541; cv=none; b=koo78H+H1fxbDGYZYGy/OYHVPU0/KswgX1oftx8KQxYwQhTaIuMAaMy0uDVhxN9IFtpM+PnZpeoPGngJR7qvs6h+jHR8YDnb0LL6AlQiLvS1zZXkpclPd2tbJL3gtItMDwk0Gcm+xGR0mo/KVr8BAtq9CzziUf3rvWvN7dN5vSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764541; c=relaxed/simple; bh=llBy/b7Qa/FAAMcEoMOnFkQjPXbckRY7mUt4vQyY1Ak=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ADAGkMyuA/EP6dK/m8c36DDKbAPand6oKstPWTDCZs3pYo/o0QU6aIFc8PISTllYh11sdyAyzSGpQfd9xo0Mp2JCR6O4Fe6Lu1xuR/DS68zNmPPpEd4dKdcSjmZxRGnkTWcfX6PnXLqkhMqKa+DLCvOtXvLsXiTjdaU8rTmBLTM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk; spf=pass smtp.mailfrom=thegoodpenguin.co.uk; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b=RUEDBde+; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b="RUEDBde+" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-456108bf94bso7270255e9.0 for ; Thu, 17 Jul 2025 08:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1752764537; x=1753369337; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=sNJrEl0O7bRpLpSsIpKxQcUH18AWQLtF460aSt/ftcA=; b=RUEDBde+47oQyjH0j/iT0oIXjkq8L48QbYUGdndi28+lnRBKUOKzldrymcU/LbZcIz 3i3zXmVGvCLnwjMFB9g+qmCLihd8/+nI3WtF0/IuYjWykewreIdmKoK96rdl80lZ8Y1f cwwt5gYQF1cD6LUrBmYbgUaLnF7I+O59bRD0FqUpd8AHR6ysrcJuKqP3+okYsfDcOD1h UphGjj1bNFtFMlyd8cy0eVwp8Vl3SfQxyQDMnphABH8+dpMVJutABqyFThllsgxl91h4 nvU/1WIENDQhARQ1IhQOLg5Qacj+JC4S46+gETJ9FPlngLQXcWtucob48TGFbASSDe0R ukXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752764537; x=1753369337; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sNJrEl0O7bRpLpSsIpKxQcUH18AWQLtF460aSt/ftcA=; b=rj7qZrFthJcDqUz1J9kNv1TjZv9WB7DoTuP6E4KSW8Ufar5Sf8aGMQddlFSzOeX0Vi GgzIijygIe7l7A3nHNC3kAlZxwqn2oZbb2LtwjBO9gkKLhNNfeS9l8yTkwVlSuZHh6yK uADsK2OieJIsKt4tUHMKZFgCrX/VagwH3CDAY+wFRAlJIJ+TzGIXpInN54S5wlUOWwy7 NcLbJjyWg7VTOCMeDk6haWM05BdWXLASDFN91NlUpBhjDmhbhojLELe1Ejhn53s4EJ0S wUVfx9GSc4MhQXmH7G/EeDDcoFwYaJ27LGLi36oZoAzCoNrM/Q9a0wi6nOGZ2SgomspC AaNA== X-Forwarded-Encrypted: i=1; AJvYcCUI1d/FoSJnJxX+5t7gZwg+r5uk7Vp00RTPnNM2dpOtotpIB0BcEB+5TtYv7waIVRmVfYdclHT5ro+w95w=@vger.kernel.org X-Gm-Message-State: AOJu0YzUJ35CZR7kI6H2TTs5L46ZUuv7d55+TWCWIbO1BSCHvt5zEDdo d8Wm8anJZmprGB3JpjE7ZryzyM5ofD+b7r3kAoB898TF33zXaB1/73KKIUFAMewdqbU= X-Gm-Gg: ASbGnctRcxjIiyNq8Ec8CkP6BkoMhyuxxZ7ONVCzg/00OjIEKhhR6YeqTPR/0NOIiRB BRDAPP5Q/EOEtmtMgS28A40FVtNNaJ1MgIWdikWRiZbQEWvbv1oxYr3rUgkHTcijbTjQAC4gXqN n28jLBWi/yEVJMr9ZUQnplpALKPu5d8jjYOP524tOLNSdxqkOFXawUbwx19Z/fWuuA4uxYL55ee l4R1kQP19/MoBKrrNXVHudJdh7WzSiyB5YgVa23id7Ma9Crg2bdj5VCGC/K1kvJj4XsFhzoo3o4 h5rdhus2azd8tBAs4IWkd2T2YV784c84asHhF+I4fGfIi4OkmBff8uDZF7hOdWyuRDU5obFEQaT NGlTL9WF6/SyfwM/w+czhVAi7WXQs27zQEm0xYe05JtYGazyjOw== X-Google-Smtp-Source: AGHT+IHgNHS/o6onGmsdDfpqQpu068SqkxhZQat/9gA9e8qJKESPJAAsVTAkOqGfNFHJazeHZ3iaTw== X-Received: by 2002:a05:6000:18a1:b0:3a4:dc93:1e87 with SMTP id ffacd0b85a97d-3b60e4d1aa3mr4787708f8f.1.1752764536545; Thu, 17 Jul 2025 08:02:16 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:ebc8:7ccb:ef04:4f83]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45634f5cb9bsm25321885e9.10.2025.07.17.08.02.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 08:02:16 -0700 (PDT) From: Pawel Zalewski Date: Thu, 17 Jul 2025 16:02:08 +0100 Subject: [PATCH v4 2/3] dt-bindings: leds: issi,is31fl3236: add issi,22kHz-pwm property Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250717-leds-is31fl3236a-v4-2-72ef946bfbc8@thegoodpenguin.co.uk> References: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> In-Reply-To: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> To: Lee Jones , Pavel Machek , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Pavel Machek , devicetree@vger.kernel.org, Pawel Zalewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1752764533; l=1105; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=llBy/b7Qa/FAAMcEoMOnFkQjPXbckRY7mUt4vQyY1Ak=; b=3xGj2IvSWBD8KRt8TspczyjKTTUc/IC++kZy+CcUPagHRuWzBxlsqHuisz0tUS3CtocoXt+Mz jwbuRyAT6leDEopMa9dwD5VbEPi7fxlmZLXiH5NI5HOD9Gz99kd2cKp X-Developer-Key: i=pzalewski@thegoodpenguin.co.uk; a=ed25519; pk=hHrwBom/yjrVTqpEvKpVXLYfxr6nqBNP16RkQopIRrI= Add an additional and optional control property for setting the output PWM frequency to 22kHz. The default is 3kHz and this option puts the operational frequency outside of the audible range. Signed-off-by: Pawel Zalewski --- Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml b/= Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml index abcd4c448e94db1d1e339f7ee165c3e04a1d354d..e75809e343b110eed0fd5f87065= d8e94a97835fa 100644 --- a/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml +++ b/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml @@ -42,6 +42,12 @@ properties: "#size-cells": const: 0 =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. + patternProperties: "^led@[1-9a-f][0-9a-f]$": type: object --=20 2.48.1 From nobody Mon Oct 6 19:10:04 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 6A9302F85D1 for ; Thu, 17 Jul 2025 15:02:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764541; cv=none; b=UxBNFXjmjbawFrODgjVezOoZ0FmrVZVvOS/Nify42Quz8qipZmSS6IriINkfBy0XbZH0+VQNgHgdMCdQDZK0H+bEqo/q3yKuYc8KSroNyztrcnzcKK0N0Hwgt00wqKgWlHGRh/6p5tfc4s3yEt8qznA71ruVtiRskeTizYuEsAs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752764541; c=relaxed/simple; bh=NuZrXXQ5tlfhJZ6G10mYOT34Gf1XyPJpaO9Kpu9cCUo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=l3v25VHev9gFGH9qj3gPzyS4rwgb459hbb6Kwca2G4IpSjPGDB+z+hwdviJvlJyAwkYBvqKH4jkpydoXaSRKxh0HUV0sPBkOMRsAbQbnQPOiUC7DEi6c/lBlTsMmcJcg0fMSE76xQF4gSiX9U9Huz1j8Q0rXRti9V/9RqNHPri4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk; spf=pass smtp.mailfrom=thegoodpenguin.co.uk; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b=QlKMtmVd; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thegoodpenguin.co.uk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=thegoodpenguin-co-uk.20230601.gappssmtp.com header.i=@thegoodpenguin-co-uk.20230601.gappssmtp.com header.b="QlKMtmVd" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-45610582d07so8631275e9.0 for ; Thu, 17 Jul 2025 08:02:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1752764538; x=1753369338; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EUbJHYYUJ4dPHD8beah1zUaqGMO0MQts8CvEiFdKGdo=; b=QlKMtmVdzIZpKNmfuL919rglY2RbPsVbqTVDJ4RDWZViFRTPy3/dO85osapiLPytIU jGV0wDrt9ChlkYAkY+9kVcKml5pa4r6VlXeS8hFAePhU/rWTxfDY9eXhXz9fQ+S9B4kg z+pzrj089zz21it1IUkM0TEKvpW/DXWTBt1XRfDsftu/YT/1s1sQBMnsYEB/eFZd0NUE WlAtyFTQYxl2WmbMRrF5A5mlfas70kdDCB4IkHZeAq9E5r9vu/zG5LQ0+NvKbz63G0tW McD+L7coOvYe2mJSoL1XBpDtBRmtQ4rY9bWs+n4tdNwyoDj9YCsS2R0ni9uDKg5BXwmd LfoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752764538; x=1753369338; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EUbJHYYUJ4dPHD8beah1zUaqGMO0MQts8CvEiFdKGdo=; b=VTVRBEtEnezzkyxDWznMcUVoAVfikKklOx2jdRoYUk1c4+LxoosJiXtlCY5VXnJs/u hE7oMWfxOnP6P0Vf7YfPvKW6if0OFfF4ip5Wyg4Mg+P0IVMJNqUuRhEw9tbA8XA5ZRIs DItMLnRwRdPjfPIR7U8LWXw57ojY4X1yjtdihX7EqfZ353O00BuP7whjydIFuLfmJMB2 ol3/XSe90syItTlA51Y9HfV+X0qcysz0FliE07WKZ6nlpa1Hc3g9MRAvVs24jKOQwm5G Nc8E7tNXQ3gmEsK1gUoG1sQkOTIO4L60s3EY59p+umNZNxKNUNl3KOCsO+HRBYIl7v6K kTFA== X-Forwarded-Encrypted: i=1; AJvYcCWN2dtgCsVHqg5461RXstZ+5uqvBK3tyJ/ZZnNQSm7H9KJ+gRDI03wBvkel9a9k42NLzG4ZoD8QIfMH+lM=@vger.kernel.org X-Gm-Message-State: AOJu0YyiB4iNWO58nl0vXpj42CiYWRik6wkEA1BB+4DsP5dFtTeqeof6 F8DzA6cvWICkprXpLC8+zeu7cwAoujlxm5rRvvu4rs+OzLvGF2j/nRBzv7fKm9dtmdU= X-Gm-Gg: ASbGnctnP03cU19WWiOx+4/rPKEu7dXeNvmdttanaLcNazT2I68YS+u8AL5xOccYDtx yOe0kgmiFpRSe3fRKDgHWbTfLUborJeO51V+jVTkZc2dwmXPm+nbQ4v857juqHAxvEQmadq8u1Z ZmsvJTVQBprTeZ+uDJfan30ZBO8uiBxTht1dE5QKEJkmY0kSIbewkpn1Tq1qCl7lCLxFSYgosL/ D4CFdGUiGhRr1KW8axuhGFln5toB4/oL9gG1CTL7G+g25LE1Gg+vcAMF2nWntfPIGgiL2cudQZ+ CVYKUStjnvhO8p8RXB/qLffOEutQ63cL/+QeaLrUO3qFo0OrXUq0NhOkZOnRkuNKcD7+xHAmrtE FB0+0OoZkqjSpM5l46QC8u1vNrnGpnBy/fSOmm8E= X-Google-Smtp-Source: AGHT+IHkEGHGxu7VXqSi5lmH6fVl3oHkkA/hBP0zA2Ax85fviyQHeC51lkDdCJT5F7Y71CT+stzgbA== X-Received: by 2002:a05:6000:2313:b0:3a4:e844:745d with SMTP id ffacd0b85a97d-3b613eab435mr2714201f8f.56.1752764537498; Thu, 17 Jul 2025 08:02:17 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:ebc8:7ccb:ef04:4f83]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45634f5cb9bsm25321885e9.10.2025.07.17.08.02.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 08:02:17 -0700 (PDT) From: Pawel Zalewski Date: Thu, 17 Jul 2025 16:02:09 +0100 Subject: [PATCH v4 3/3] leds/leds-is31fl32xx: add support for is31fl3236a Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250717-leds-is31fl3236a-v4-3-72ef946bfbc8@thegoodpenguin.co.uk> References: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> In-Reply-To: <20250717-leds-is31fl3236a-v4-0-72ef946bfbc8@thegoodpenguin.co.uk> To: Lee Jones , Pavel Machek , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Pavel Machek , devicetree@vger.kernel.org, Pawel Zalewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1752764533; l=5531; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=NuZrXXQ5tlfhJZ6G10mYOT34Gf1XyPJpaO9Kpu9cCUo=; b=a43lCfh+jM2LbjJFu88mbDfM8oMsA7XzFg2vx05SkvN9mAvFADOevL4QiHAyqby1wYG1AfaqC zRWSys/0wBaBhffIB5XBNZmvopWV2ukPwlKaUKmd8lBTEwPTs6Zh2Xi X-Developer-Key: i=pzalewski@thegoodpenguin.co.uk; a=ed25519; pk=hHrwBom/yjrVTqpEvKpVXLYfxr6nqBNP16RkQopIRrI= Add an additional and optional control register for setting the output PWM frequency to 22kHz. The default is 3kHz and this option puts the operational frequency outside of the audible range. Signed-off-by: Pawel Zalewski --- drivers/leds/leds-is31fl32xx.c | 47 ++++++++++++++++++++++++++++++++++++--= ---- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index 8793330dd4142f49f15d6ee9d87468c08509859f..5ec1ca71f326378e3a714a88626= 0b86002feffa9 100644 --- a/drivers/leds/leds-is31fl32xx.c +++ b/drivers/leds/leds-is31fl32xx.c @@ -32,6 +32,8 @@ #define IS31FL3216_CONFIG_SSD_ENABLE BIT(7) #define IS31FL3216_CONFIG_SSD_DISABLE 0 =20 +#define IS31FL32XX_PWM_FREQUENCY_22kHz 0x01 + struct is31fl32xx_priv; struct is31fl32xx_led_data { struct led_classdev cdev; @@ -53,6 +55,7 @@ struct is31fl32xx_priv { * @pwm_update_reg : address of PWM Update register * @global_control_reg : address of Global Control register (optional) * @reset_reg : address of Reset register (optional) + * @output_frequency_setting_reg: address of output frequency register (op= tional) * @pwm_register_base : address of first PWM register * @pwm_registers_reversed: : true if PWM registers count down instead of = up * @led_control_register_base : address of first LED control register (opt= ional) @@ -76,6 +79,7 @@ struct is31fl32xx_chipdef { u8 pwm_update_reg; u8 global_control_reg; u8 reset_reg; + u8 output_frequency_setting_reg; u8 pwm_register_base; bool pwm_registers_reversed; u8 led_control_register_base; @@ -90,6 +94,19 @@ static const struct is31fl32xx_chipdef is31fl3236_cdef = =3D { .pwm_update_reg =3D 0x25, .global_control_reg =3D 0x4a, .reset_reg =3D 0x4f, + .output_frequency_setting_reg =3D IS31FL32XX_REG_NONE, + .pwm_register_base =3D 0x01, + .led_control_register_base =3D 0x26, + .enable_bits_per_led_control_register =3D 1, +}; + +static const struct is31fl32xx_chipdef is31fl3236a_cdef =3D { + .channels =3D 36, + .shutdown_reg =3D 0x00, + .pwm_update_reg =3D 0x25, + .global_control_reg =3D 0x4a, + .reset_reg =3D 0x4f, + .output_frequency_setting_reg =3D 0x4b, .pwm_register_base =3D 0x01, .led_control_register_base =3D 0x26, .enable_bits_per_led_control_register =3D 1, @@ -101,6 +118,7 @@ static const struct is31fl32xx_chipdef is31fl3235_cdef = =3D { .pwm_update_reg =3D 0x25, .global_control_reg =3D 0x4a, .reset_reg =3D 0x4f, + .output_frequency_setting_reg =3D IS31FL32XX_REG_NONE, .pwm_register_base =3D 0x05, .led_control_register_base =3D 0x2a, .enable_bits_per_led_control_register =3D 1, @@ -112,6 +130,7 @@ static const struct is31fl32xx_chipdef is31fl3218_cdef = =3D { .pwm_update_reg =3D 0x16, .global_control_reg =3D IS31FL32XX_REG_NONE, .reset_reg =3D 0x17, + .output_frequency_setting_reg =3D IS31FL32XX_REG_NONE, .pwm_register_base =3D 0x01, .led_control_register_base =3D 0x13, .enable_bits_per_led_control_register =3D 6, @@ -126,6 +145,7 @@ static const struct is31fl32xx_chipdef is31fl3216_cdef = =3D { .pwm_update_reg =3D 0xB0, .global_control_reg =3D IS31FL32XX_REG_NONE, .reset_reg =3D IS31FL32XX_REG_NONE, + .output_frequency_setting_reg =3D IS31FL32XX_REG_NONE, .pwm_register_base =3D 0x10, .pwm_registers_reversed =3D true, .led_control_register_base =3D 0x01, @@ -363,8 +383,21 @@ 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 + 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; + } + } + for_each_available_child_of_node_scoped(dev_of_node(dev), child) { struct led_init_data init_data =3D {}; struct is31fl32xx_led_data *led_data =3D @@ -404,12 +437,13 @@ static int is31fl32xx_parse_dt(struct device *dev, } =20 static const struct of_device_id of_is31fl32xx_match[] =3D { - { .compatible =3D "issi,is31fl3236", .data =3D &is31fl3236_cdef, }, - { .compatible =3D "issi,is31fl3235", .data =3D &is31fl3235_cdef, }, - { .compatible =3D "issi,is31fl3218", .data =3D &is31fl3218_cdef, }, - { .compatible =3D "si-en,sn3218", .data =3D &is31fl3218_cdef, }, - { .compatible =3D "issi,is31fl3216", .data =3D &is31fl3216_cdef, }, - { .compatible =3D "si-en,sn3216", .data =3D &is31fl3216_cdef, }, + { .compatible =3D "issi,is31fl3236", .data =3D &is31fl3236_cdef, }, + { .compatible =3D "issi,is31fl3236a", .data =3D &is31fl3236a_cdef, }, + { .compatible =3D "issi,is31fl3235", .data =3D &is31fl3235_cdef, }, + { .compatible =3D "issi,is31fl3218", .data =3D &is31fl3218_cdef, }, + { .compatible =3D "si-en,sn3218", .data =3D &is31fl3218_cdef, }, + { .compatible =3D "issi,is31fl3216", .data =3D &is31fl3216_cdef, }, + { .compatible =3D "si-en,sn3216", .data =3D &is31fl3216_cdef, }, {}, }; =20 @@ -466,6 +500,7 @@ static void is31fl32xx_remove(struct i2c_client *client) */ static const struct i2c_device_id is31fl32xx_id[] =3D { { "is31fl3236" }, + { "is31fl3236a" }, { "is31fl3235" }, { "is31fl3218" }, { "sn3218" }, --=20 2.48.1