From nobody Tue Oct 7 16:38:55 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.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 DAF522E06FD for ; Tue, 8 Jul 2025 15:00:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986820; cv=none; b=X7gxZxJeVC0GQJiPwkNDnoMVleIKcGg8eMpQOOXxYlxFToojyV40R9W0esVtd+EiS9DJtC6iovkKC4j+hO9z1M+29YHOJ6JvvQ9GNjB3zgjzgrnkhYzWHUcLyZT19kCpZB/+AthOKXmWqsQCc8laZupv1VFXMNqYYSJHGSU/meg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986820; c=relaxed/simple; bh=TcNVKg1uWK5gvw7ouEDNUpzejUpmhf7qeqTdsGGsOR0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f8ecC/GPRru6NFWP2HMH+NsB9lCODs817zd1gJZ9JW6t1zYuj8Jfbj9iJxtC6N3cJnLLp3pIfv1XAZEoVOotMksa1k9hl5ADk3PLlaT6Sc2dtu5L7MsFM7i0W0syu9oyK35jF2p7YNYjkh/bBmP7ya89ncK95BGtGyYWqg6k8Zc= 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=Hu+h6bqE; arc=none smtp.client-ip=209.85.128.50 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="Hu+h6bqE" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4538bc1cffdso38659625e9.0 for ; Tue, 08 Jul 2025 08:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1751986817; x=1752591617; 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=V+bfOYiAAZEmOkKJUcdq4zkMimVeCuvfF0enwIJA4MM=; b=Hu+h6bqEWHW3YFlrzhRQTB/DmqRXLza20UHRSwyU1oi7oqqINXvsOKZQKxvDxFoms5 FCCfVszmonkumcb19FpvJa0SSnWXGPjKlmNHX3WNZDs6iW23v/sWbnqdYBBHq8LrG7HL FUZ02YjzzxWmdVunnWGWDU07rLsMhaiBwAX/QLbNPIXQ8XO1HJTiVdMb5Pk+ckbhxuaO 8pkPlgaw+A88j7NRTGbWbQiFwXZPJh4XbbpKUqqcyZIbT5jd03meTbMa1RicBOUMVI30 SVfUs5+qZyrTJlNlA2D6HScqJNV6afWGUTBAD1lU6RiG9XZD5Q1yfBCNQd0CR7fyzXlt 922g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751986817; x=1752591617; 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=V+bfOYiAAZEmOkKJUcdq4zkMimVeCuvfF0enwIJA4MM=; b=eCvCwNswkVJYyK+D8m9pAPU8LSIbj/sJGTp9iyIJ1HkPzzXJXOmNgyn7Kje4g+OE0w mHaO0fl9m6c4Q0ijF/Xsjv/41Nf4cE+Pok4P0nJ/8Cmd9FkdA4yJRrA349mXMaAFiL/L srriSAvoqN8yy9tDoH3/gKSM0wQJlEZDRsh0O7LhMpXmIozEoZV14UIAU8dED3HWeRIP YAEdZO/4N2ff0F9bkQ6457hzaDd2auOY98Kq3/qgOOM0nfvT1m+oAX8Nj8ril+9VICin mS/7fAQ2lBIDYGl5S+HFnEWBj8P4W0pIH5KPCQSJyCccYIQ8n2yQndMLs3Djjnbfb906 t3Ag== X-Forwarded-Encrypted: i=1; AJvYcCXhrzMm87mHiTgqcMbn6ciMlyfxzl2AZLD1H71447NeHnPK8NurrsVBP60vzPsLUOOnACzJzPncHC9ABrk=@vger.kernel.org X-Gm-Message-State: AOJu0YxrCBeT1ha/P6gGSenqAI5H2Wp8ULlY0k0qLYXZNEN/ARBFGj46 jdyS7U8hOQv4linN9c4KqF+SaBhgAAAKPt7Jwbfh34dT9oP6scwULTw1XKh/sLCJahY= X-Gm-Gg: ASbGnculvdjosxPgIWKRVTP9g4zlxes1ZAWfzE5IhMyv1jZ5VWQbsY46IZQmrx13PDZ TiKKlXo74evV/Py7sa/uQrNh6ZDgZur1Fwfj0OGowx1sUcv9Lz5zigqiiHA+aQIZ60xOe62U28M dh/mbDiS0CAt+aWwWLhiUNjabH8S4DyVTzJw9zc1mfWZphJZub9YIB/q3tBwxtWtC9mGVHAtcas XHidMht9b2YMNy3AElFKLkIdhZcL/k10LGPBtlC2BvOrGHF1cyuZDuQKZQKkWPFfDIugfZfmDDh LgfL+IPV+nd7zSWubogA3OS0/5VbFtrvZYHlfSahYlETt/Tss0xfcushjN0E0u12XmozengYoIx DVaw= X-Google-Smtp-Source: AGHT+IEI+a6mSfBqIeYw8GeeQrtXv67hwYKl3tgQqC9zKHmZfV3vVZnOkmbHKxPCRBOiFxCrGo5Zmg== X-Received: by 2002:a05:600c:3f1a:b0:453:81a:2f3f with SMTP id 5b1f17b1804b1-454b4ec2132mr180590745e9.30.1751986816769; Tue, 08 Jul 2025 08:00:16 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:f9da:8274:e1d1:97ce]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b47030b4f6sm13517433f8f.10.2025.07.08.08.00.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 08:00:16 -0700 (PDT) From: Pawel Zalewski Date: Tue, 08 Jul 2025 15:59:45 +0100 Subject: [PATCH v3 1/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: <20250708-leds-is31fl3236a-v3-1-d68979b042dd@thegoodpenguin.co.uk> References: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@thegoodpenguin.co.uk> In-Reply-To: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@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=1751986814; l=4945; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=TcNVKg1uWK5gvw7ouEDNUpzejUpmhf7qeqTdsGGsOR0=; b=dOiTmPFnkgkqhSdkpVMyWBhm7R30MnKMKWOWtMYFID40JbkNkWpubXkjPrzaHpRN/GtcL+Seb ZZRzNTwLDiuCQ6ugi2DJx3tuZv9fEXJDxX0iZcfnUjgOuuFwisvqzhJ 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 | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index 8793330dd4142f49f15d6ee9d87468c08509859f..c8e27c219177e8e7a17738fbd3b= ba84340d9776f 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 @@ -405,6 +438,7 @@ 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,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, }, @@ -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 From nobody Tue Oct 7 16:38:55 2025 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (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 0A3B22E0916 for ; Tue, 8 Jul 2025 15:00:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986822; cv=none; b=izlNHvlSlDJ1w7zaqkqBrpYGNENK2aTgo0obe4mMw9xPCR+2+mieAxxY7X78NohL1Of0J+iygDLwYFwjMPiFJ8z1iWmzXwZzVpIGgX9bhpzmNk0vTSSF1Qoo7efquQNGIhsnUMepOH+LyZaHKp3DSrWY5lo6CDT0FlIIkaMbW1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986822; c=relaxed/simple; bh=FPX/eEaqpH8qU+rS++BnIeYPCic7RV1bMRw88k4MzoI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QhKesOcX2iUK6vfMef8ESC3B+ff/rTSC0r6Qzhnwm48WIMM8zUMzZAUt2iqFtfbjlvrlQj0isRR2zV2vBqQJQD7fPkaA8jzq9LDXmmc4SR5plGk/A9nGB0HaDwMg2W03mTiqP1mq1zDW3fK7WBuekcaMvLoo/ablYJz9GYl+TcQ= 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=x5l4pxoe; arc=none smtp.client-ip=209.85.221.45 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="x5l4pxoe" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so4058396f8f.2 for ; Tue, 08 Jul 2025 08:00:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1751986818; x=1752591618; 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=6iLn5+MYVtlS/SQKUYev+IhP8KQ71T7JyvSaQ5g8tl4=; b=x5l4pxoeKZQ6P3lWdxiXT6QiqgUe+lf6YkvyV3ktCprO96ZFm3BDpqGRZSAGlTDyo8 tC77PmqTLz+wZzXPlSNu4I/7o+2S18a8XXIR0+/1RbKnfdzc1uWMWSD3A7ag3kjZP/GY Cv+ieqQrQ9qFQbhJpA1pkKs2QXTsiRA9KcyswBSpO7w7xtQVmIJt79h9y2Axz9LYxrXi G9i/zqVg9yzHmJchbp1PPO+fTE6uk4qzmSlBgzd/8uUXRoUmw4rrvfF7fOqQIC0KvmN3 axv5MH9fRn2aGcf77iO1hZrXmlx1X4UF7sU31EnRipdHapvXiBzO2Vv5Gga30bnSRD6C aWwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751986818; x=1752591618; 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=6iLn5+MYVtlS/SQKUYev+IhP8KQ71T7JyvSaQ5g8tl4=; b=f+Y7srG6KAuLLs2mkq6oKCAWxIGOTInlXrBI9bpws+IKOqMF07pkwu1wYFVP4QGYtL 6y/BzUS17v6zrlgPlFy8PDMqYGVrNofAtF30dKzJhcTrNjklUFYkGIH0aWoPiYtT84XA aLFcxa5E/qvbFvvxTXjjkJAkvGcXQmS/eBDX7H12KU96dmlR+JiWPnNwFUJlsJKwT+An gtLMBP1lGRz6KUIFD5EDfg1u7AfuEw3gs67a1f9xv9/YvySab5nBnL8xbOiyWtVyZk9Z 5gKmJE64ftCmSYvGkoZxcNAFEpXk8hkM3ftz6enoL9UN6qTwOgiefPRRkeh1WI02FWkP L7Gg== X-Forwarded-Encrypted: i=1; AJvYcCUgikK2u2mkc7h7s+gsN608OjeQpdLsVR6GLIFHm3PYIIPmo5TF0vJ+L8INkjP/RlqPvBasrDVhZ4xzcSk=@vger.kernel.org X-Gm-Message-State: AOJu0YwYox+ZD3k/UIfm7k0UQYRAGlA5zXN1NXisFuhUgNe+gRMoC10+ dbn2C5xAOG+34WxSWwCgDbkdxCQ/AweY1X+H/3xel2VNTjklrqNmn+/itE+YzUYiKEQ= X-Gm-Gg: ASbGnctSgrHDScFN2ilxrP+ULPq8qFqw2Wn9dJe1KQQv0IGTXACTaDZ4goARncSOBAS x7ZSFIEr07A/JSr2eLnGnnlHTkch2JIXKbfA7Ax3YzGGypLQj9AhKKJics+cGgbudmRh4U7JMBv dY5w7MV2GGnQTVvny1B2xogRgrMkLsaJLoEkaCr8UEVvCpQouZLwXa62jMfNVPMiGn8KDj0zdAK Z05/V8PVcBc+ZVMEi+1xKgemEhPh1Ha7dRXZo/gfqqJDeHVawon8J+f2girpClqiT3ybrcwPp+R v2eD1mW0uHcErMOgqYuy/QdNkjkMYXmPd7mqETrw52abzOxPAHQFORcfudTSjKf3mlJ33JEdK2U dG7k= X-Google-Smtp-Source: AGHT+IHGHwAr6VX6pzCx7LcvtaJxrn+3EoDSphtgJI9D7LA33yGBsQx+/GKW3VhxbNoPCrElzetnWA== X-Received: by 2002:a05:6000:2387:b0:3a4:ef36:1f4d with SMTP id ffacd0b85a97d-3b4970294a4mr12309752f8f.38.1751986818041; Tue, 08 Jul 2025 08:00:18 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:f9da:8274:e1d1:97ce]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b47030b4f6sm13517433f8f.10.2025.07.08.08.00.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 08:00:17 -0700 (PDT) From: Pawel Zalewski Date: Tue, 08 Jul 2025 15:59:46 +0100 Subject: [PATCH v3 2/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: <20250708-leds-is31fl3236a-v3-2-d68979b042dd@thegoodpenguin.co.uk> References: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@thegoodpenguin.co.uk> In-Reply-To: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@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=1751986814; l=4963; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=KwfAgxG6jLEEMBb6hDqTzkqCmoS7oQVr2ZtJZV7d+lY=; b=5dtd6C/fj2EqbZesLvgxBYEWd1LV3YsWOHcyyaObHqjGJ73P864cmwEk1o/G6o0J/1vQKIj9g TZ1NROwa9bVCKxA1KURnF62XPq2AinTDjv1WJ03y/AwGN1TUccEOO2V X-Developer-Key: i=pzalewski@thegoodpenguin.co.uk; a=ed25519; pk=hHrwBom/yjrVTqpEvKpVXLYfxr6nqBNP16RkQopIRrI= From: Lucca Fachinetti Keep the old maintainers field as is. 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 | 98 ++++++++++++++++++= ++++ .../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 ------------ 2 files changed, 98 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..d0f9add5af01ac06c4bb87b0cd0= faec71d0ef37c --- /dev/null +++ b/Documentation/devicetree/bindings/leds/issi,is31fl3236.yaml @@ -0,0 +1,98 @@ +# 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]+$": + type: object + $ref: common.yaml# + unevaluatedProperties: false + + properties: + reg: + description: + LED channel number (1..N) + minimum: 1 + maximum: 36 + + required: + - reg + +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 Tue Oct 7 16:38:55 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.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 EFB7E2E0938 for ; Tue, 8 Jul 2025 15:00:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986824; cv=none; b=Mq14IKU+RXEWvvbA1xhn3w07q/wENIay5/bbDTCj3xzYbjWBlMeDSDyyANTlL42iX2saejyIalVPsiNCMQPr0tddhMkgOi41dFYRg0n27v5tGezex+jrdBVPKiRn0swfnqznzPEC+DP7XGduB/5hd5S8Vhc9JfHTGRTk7A9zmZg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751986824; c=relaxed/simple; bh=oubSlw9c6CwwNGJChX5pk5uvHul9AR5futtvxpba9J8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gyFjd54E3FgjUTbDWNulVKbsrmAN/BY4lcRbxVRQ7eQcCwCtfvi9oWSsGHQ+EBvC2CXj8gM0+HuxTLUe/34eFXqRaxHdylv2fQk9gzd2AJMTu5zDwKuOnTUtpKPKoUcVHJUBZVDeG7ChdI0G5XToDlycyTZ/A+jXn8mN+TTBLSs= 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=biu4aKAC; arc=none smtp.client-ip=209.85.128.42 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="biu4aKAC" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-454b1d0a115so15387845e9.2 for ; Tue, 08 Jul 2025 08:00:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thegoodpenguin-co-uk.20230601.gappssmtp.com; s=20230601; t=1751986819; x=1752591619; 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=XYl+uMBjHYHOG7bkXi/XB3f8f6YY8kSh6gh2qtJwtzA=; b=biu4aKACauSb4umshrzMzEgm2E4u2EAxc3C5L1iv4BFOpn7jNR53S476Y0NtzOm7t9 tz9r51wcYX7375E8BhKMT0u+nATXuRwB0BeiqhDAcub8m6QQKFVycccexEX/ULjACp4Z o3/FEP+fqipMG7xNJ6lcY2JHWgWC5LWsh60IYQeOQWMRJTs2ofkj0KhMt9pSDuu1baUc jxhxq34cDZTg/aRudvAkI1F6PL7vBqwm68C18N29teUHFOW4BnOl7GY21hPQwzGnUFqn lC453SEzxXZK9Vt08TFq3EWlu0B9fwrTMM/QFR2/qDFNM3l/9hngqsjEQb970uFUHbpG WC9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751986819; x=1752591619; 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=XYl+uMBjHYHOG7bkXi/XB3f8f6YY8kSh6gh2qtJwtzA=; b=ow28lZPVOs8cOY4thEtaWItqnUIyJ8yptMNliEZlZ7TecBXHUeULNuFiolPE+lOUzk DZCT7AGW2fgO9m3yxkTaAE3dOI09OuV8EGjug2i3aLYQxI2KbuppxHw7hQlBs7BqsNkY S41jdCw5uihIL80AM2ua4vFL8TaUHIz0mZlE19OklCtLb5IWVba6FncHTwBPUTdSTdrd pmL2a9GNNTVcohkHiKCsrLbvs0dQrpr3dENcyJEhD1IZLQxmIgXzRgSK4qMzYNJEiN6i 1Si+oLyo45mJ2RDAD2pIfuM6hSZ6DnQyfaWo9b2P+hKtchi8Ld1jlrrTh8yzYQmCEasr BsfQ== X-Forwarded-Encrypted: i=1; AJvYcCUzPeCr95ZPWWpE4+c0iMrCJ+BkpidZkWzzG1MVvtv5rDpIoua0X5XSB5V0xfDMnHuXb8GJLVB+y/zLmF8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1+DMSooOrAN6drHGj/U96gKMz9w5p716PJ51z+AfIwJH4zt/6 tiIg9/8ZfuzFlgOL5akw7m4OVKIGACHX7ETfSo3tw9Gc1h+cK0UFhbJP4laqCh+XsJEk1d3tmES rtSXxk5c= X-Gm-Gg: ASbGncuO8rg//ooRF8P66qJk1h74QbELq3NW4PwozusDVzIBMz+snG0VWVKNeIxh7W3 fZHXA78pHUtuzHePQF2pvgjaLL9RLMmrIDPNTK+/UKEKwCMkOFCdFDdUd8Y4vpZQH1OKa6QDXMW 5d8IVvXL0KuW7L3g49WCueI34a0DKv3HMuvfaEUHXRYCNjwNkZ7Jn3StPCtxPvQ7wM9M1RO9qFi c+10x1HO56SSa7YnGfe/exHbR6BgC+uKr8RxmoTJYngeZEhpAolzy5AP7sBGOrGXsouMm0s9wkJ wU4r05GhwaFEYNNFmz6xR7xxT4a5fIfAFkLiy6ovdVAZZQs89liALJZ+bGGVl6NONXz7Hlp4oL5 jFH0= X-Google-Smtp-Source: AGHT+IFlo7yukXz1+RpPI+9aM+Wv+VR26H54kHPCJ0VBY6icdoCFLAGnDf70y3tI5+eVHEmKCs6qtg== X-Received: by 2002:a05:600c:1c06:b0:450:d3b9:4ba4 with SMTP id 5b1f17b1804b1-454b4e682ebmr166687725e9.2.1751986819301; Tue, 08 Jul 2025 08:00:19 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c7:1d1a:9c01:f9da:8274:e1d1:97ce]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b47030b4f6sm13517433f8f.10.2025.07.08.08.00.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 08:00:18 -0700 (PDT) From: Pawel Zalewski Date: Tue, 08 Jul 2025 15:59:47 +0100 Subject: [PATCH v3 3/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: <20250708-leds-is31fl3236a-v3-3-d68979b042dd@thegoodpenguin.co.uk> References: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@thegoodpenguin.co.uk> In-Reply-To: <20250708-leds-is31fl3236a-v3-0-d68979b042dd@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=1751986814; l=1098; i=pzalewski@thegoodpenguin.co.uk; s=20250625; h=from:subject:message-id; bh=oubSlw9c6CwwNGJChX5pk5uvHul9AR5futtvxpba9J8=; b=LBQ1yPV/JzboE//xuT/t1MfJoj3jNSbBfc86H1rwbBeRybamxiXNZS2wzbfmz+da+JbhLGweW nZuDXpKQnACDWBCqmmsdkV2yYF8gC2MHfA8H0Ak5QK09N0soZnVl4wF 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 d0f9add5af01ac06c4bb87b0cd0faec71d0ef37c..5bce0fc48f84c7ae804e6522e31= 2c51ed2d77bc5 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]+$": type: object --=20 2.48.1