From patchwork Thu Jun 9 16:27:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Jacques Hiblot X-Patchwork-Id: 581216 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55667C433EF for ; Thu, 9 Jun 2022 16:27:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344009AbiFIQ1t (ORCPT ); Thu, 9 Jun 2022 12:27:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244494AbiFIQ1t (ORCPT ); Thu, 9 Jun 2022 12:27:49 -0400 Received: from smtpout1.mo528.mail-out.ovh.net (smtpout1.mo528.mail-out.ovh.net [46.105.34.251]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99D354E3B7; Thu, 9 Jun 2022 09:27:47 -0700 (PDT) Received: from pro2.mail.ovh.net (unknown [10.109.146.31]) by mo528.mail-out.ovh.net (Postfix) with ESMTPS id ADCE4109DBBC8; Thu, 9 Jun 2022 18:27:45 +0200 (CEST) Received: from localhost.localdomain (88.161.25.233) by DAG1EX2.emp2.local (172.16.2.2) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Thu, 9 Jun 2022 18:27:45 +0200 From: Jean-Jacques Hiblot To: , CC: , , , , Jean-Jacques Hiblot Subject: [PATCH v3 0/3] Add support for the TLC5925 Date: Thu, 9 Jun 2022 18:27:31 +0200 Message-ID: <20220609162734.1462625-1-jjhiblot@traphandler.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [88.161.25.233] X-ClientProxiedBy: DAG8EX2.emp2.local (172.16.2.82) To DAG1EX2.emp2.local (172.16.2.2) X-Ovh-Tracer-Id: 2270095688175335899 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvfedruddtledgleeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffoggfgtghisehtkeertdertddtnecuhfhrohhmpeflvggrnhdqlfgrtghquhgvshcujfhisghlohhtuceojhhjhhhisghlohhtsehtrhgrphhhrghnughlvghrrdgtohhmqeenucggtffrrghtthgvrhhnpeejuefhkeelgffhlefhtefhgeektdevvdfgkeeltdehgeeujeeutdehkeeuhffftdenucfkpheptddrtddrtddrtddpkeekrdduiedurddvhedrvdeffeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphhouhhtpdhhvghlohepphhrohdvrdhmrghilhdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomhepjhhjhhhisghlohhtsehtrhgrphhhrghnughlvghrrdgtohhmpdhnsggprhgtphhtthhopedupdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdfovfetjfhoshhtpehmohehvdek Precedence: bulk List-ID: X-Mailing-List: linux-leds@vger.kernel.org This series add the support for the TLC5925 LED controller. This LED controller is driven though SPI. There is little internal logic and it can be thought of as a deserializer + latches. The TLC5925 itself drives up to 16 LEDs, but multiple TLC5925s can be chained to drive more. The first patch describes the dt bindings. The second patch implements most of the driver and supports only synchronous brightness setting (brightness_set_blocking). The last patch implements the non-blocking version (brightness_set). changes v2->v3: * fixed the yaml description of the bindings (now passes dt_binding_check) * renamed shit-register-length into ti,shift-register-length and specify its type changes v1->v2: * renamed property shift_register_length into shift-register-length * add a SPI MODULE_DEVICE_TABLE structure * fixed the yaml description of the bindings (now passes dt_binding_check) Jean-Jacques Hiblot (3): dt-bindings: leds: Add bindings for the TLC5925 controller leds: Add driver for the TLC5925 LED controller leds: tlc5925: Add support for non blocking operations .../devicetree/bindings/leds/ti,tlc5925.yaml | 107 +++++++++ drivers/leds/Kconfig | 6 + drivers/leds/Makefile | 1 + drivers/leds/leds-tlc5925.c | 224 ++++++++++++++++++ 4 files changed, 338 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/ti,tlc5925.yaml create mode 100644 drivers/leds/leds-tlc5925.c