Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp3227494pxb; Sun, 3 Oct 2021 19:27:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8DFPUGBwVmgi1Bxw0IDxaRtdQDQsm3QuhXHWeCPPzofs+X2rkXFKUJKJUhrmoP1Cs/BzY X-Received: by 2002:a50:eb9a:: with SMTP id y26mr5210763edr.186.1633314468561; Sun, 03 Oct 2021 19:27:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633314468; cv=none; d=google.com; s=arc-20160816; b=WYh9ijyaUhStj6m9m1+P6JJqBca5yXS6LZSseatQtBmOZ4vclEAOAaDRglsy4a+dlL 64ZOIcv/qqJLDNfL2loQE7CK0hrNsISoUMszQSDUAENYZMmLJFcxIvxN6Ch15y0afVOr 24Ph9ETLesmt0vQIR4xKjdT5NfBp3g8FQe6hX85eSOBS6UOoc8MJUB7mXVzPTLhKLM8F 1/guL74G4GZ0INZsguFWC9xq4P6Q3s0ghvkY7YjmPRZk5lDXSvwgI9/P05YidHUBjtmB uQKykPB4lBDd0yhj5TCupiC8H+wglk7WUrlo94/QQ0Dlm3/NlNY5d941T9xxiM/F74xT bNhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature; bh=P8qLSV2GqDj3YgUO4voN7NGbNNWZHdeebQQ0qJmOTLc=; b=h9BdOAw6hGPg07C/XylEZdF58sniEjCRMdtuao9klJe9/wniniCmjK1gHaFwd3shKZ PJAQR7oNvK0Yff8DNl8BzRI3MtjK/+GqkjVNuBVVA8W+j3KlfE/WWVcF1E18V3usk9Tu 0wCLWTGIU+YenMFjHGP16oimgIpiT0AR0l+D5gIadDUmIG+bEuEEFWn0NvV6nQXmWPo2 CwsRXgK4xU8sLAQ+UeU9vAIKZLSYsWvigFzqdnIl2CXmmJME5AOcRAg6DI5SPxvqa20+ OJH/7j42r4q1/EdrInoip4TcgpmLqADI1gk3M+5vHrMjAofB8ZQ31er1XwnXyLwXpM+t srHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sholland.org header.s=fm3 header.b=S2rmlSxk; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=oKOfFF3M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u9si13695459edf.566.2021.10.03.19.27.25; Sun, 03 Oct 2021 19:27:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@sholland.org header.s=fm3 header.b=S2rmlSxk; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=oKOfFF3M; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232282AbhJDC1w (ORCPT + 99 others); Sun, 3 Oct 2021 22:27:52 -0400 Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]:55183 "EHLO wnew4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232250AbhJDC1v (ORCPT ); Sun, 3 Oct 2021 22:27:51 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailnew.west.internal (Postfix) with ESMTP id DB2372B01324; Sun, 3 Oct 2021 22:26:02 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Sun, 03 Oct 2021 22:26:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sholland.org; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm3; bh=P8qLSV2GqDj3YgUO4voN7NGbNN WZHdeebQQ0qJmOTLc=; b=S2rmlSxkBEum+u5YcAVpfs381l/XKeGvPuzGuviRkP fchYpYn3YnrRdJRW0qLXBIQLAWCMplSvw11O4sPRKDLq2B5Dhy2wYsregIWVDdIs 0QjHh2B/RpReomcWWxokMv0USMU7m3KqXZk/ffi2Qp0CGtH8gRP0yWfusrMvwy1T t8io3BpFthgxyN8JyAMVlHrmacMO1Z4oQOs6c+7P1+WsB5ovXHemurDEfaQa48rb NPN+9BAWeGJ238VzBl2DDG7O5dTFTd1F056Ba90vMCOv0j9JRgw5Ywdj83ac3ZTF Fzz0u62izp8hWhCWWnAwaUPk4YzQkTqc42W7EbN2/ThQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=P8qLSV2GqDj3YgUO4 voN7NGbNNWZHdeebQQ0qJmOTLc=; b=oKOfFF3Ma/VCMkXqyr1IuroQ+g0C3tNkP vBku8GUUv31ZuUEEDS8nQ6X1IsOAWfFt7JgP+bHrdjyHLs2NiMv9LYhP1Ap/kpQm DBXdxWBh0IuKvrU2voyL3ceZTyoqRdvZSnf+I93h9pYcDyWmHWBhwOPVjmKxDFr2 hs2jVzF+Dok8pAgBUqwcqPNbFPRrNkfKFTnT2sotjN5lpyq5T+jnhEBa71saSVQg oyg6wXTs2sXHM6X84/2/cRyjpSxGOzgD0NmW+jYE4NCKVuY9fgGDO66yhGOhCUSR g1kkqZJ+LqEf/S9B5ty/+WW9TLcDGKuhmcig6mdid+NH/jxybgeuQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudeluddgheejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefurghmuhgvlhcu jfholhhlrghnugcuoehsrghmuhgvlhesshhhohhllhgrnhgurdhorhhgqeenucggtffrrg htthgvrhhnpeegffdtvdevgfeljeduveefgfefffejhfdtudeiudejueehtdelgefgjeeu ffduueenucffohhmrghinhepuggvvhhitggvthhrvggvrdhorhhgnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshgrmhhuvghlsehshhholhhl rghnugdrohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 3 Oct 2021 22:26:01 -0400 (EDT) From: Samuel Holland To: Pavel Machek , Rob Herring , Maxime Ripard , Chen-Yu Tsai , Jernej Skrabec Cc: Icenowy Zheng , devicetree@vger.kernel.org, linux-leds@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH v2 1/2] dt-bindings: leds: Add Allwinner R329/D1 LED controller Date: Sun, 3 Oct 2021 21:26:00 -0500 Message-Id: <20211004022601.10653-1-samuel@sholland.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Allwinner R329 and D1 SoCs contain an LED controller designed to drive a series of RGB LED pixels. It supports PIO and DMA transfers, and has configurable timing and pixel format. Signed-off-by: Samuel Holland --- Changes from v1: - Fixed typo leading to duplicate t1h-ns property - Removed "items" layer in definition of dmas/dma-names - Replaced uint32 type reference with maxItems in timing properties .../leds/allwinner,sun50i-r329-ledc.yaml | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/allwinner,sun50i-r329-ledc.yaml diff --git a/Documentation/devicetree/bindings/leds/allwinner,sun50i-r329-ledc.yaml b/Documentation/devicetree/bindings/leds/allwinner,sun50i-r329-ledc.yaml new file mode 100644 index 000000000000..d70cb2393a2e --- /dev/null +++ b/Documentation/devicetree/bindings/leds/allwinner,sun50i-r329-ledc.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/allwinner,sun50i-r329-ledc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Allwinner R329 LED Controller Bindings + +maintainers: + - Samuel Holland + +description: + The LED controller found in Allwinner sunxi SoCs uses a one-wire serial + interface to drive up to 1024 RGB LEDs. + +properties: + compatible: + oneOf: + - const: allwinner,sun50i-r329-ledc + - items: + - enum: + - allwinner,sun20i-d1-ledc + - const: allwinner,sun50i-r329-ledc + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + clocks: + items: + - description: Bus clock + - description: Module clock + + clock-names: + items: + - const: bus + - const: mod + + resets: + maxItems: 1 + + dmas: + maxItems: 1 + description: TX DMA channel + + dma-names: + const: tx + + interrupts: + maxItems: 1 + + vled-supply: + description: Regulator supplying power to external LEDs + + format: + description: Pixel format (subpixel transmission order), default is "grb" + enum: + - "bgr" + - "brg" + - "gbr" + - "grb" + - "rbg" + - "rgb" + + t0h-ns: + maxItems: 1 + description: Length of high pulse when transmitting a "0" bit + + t0l-ns: + maxItems: 1 + description: Length of low pulse when transmitting a "0" bit + + t1h-ns: + maxItems: 1 + description: Length of high pulse when transmitting a "1" bit + + t1l-ns: + maxItems: 1 + description: Length of low pulse when transmitting a "1" bit + + treset-ns: + maxItems: 1 + description: Minimum delay between transmission frames + +patternProperties: + "^multi-led@[0-9a-f]+$": + type: object + $ref: leds-class-multicolor.yaml# + properties: + reg: + minimum: 0 + maximum: 1023 + description: Index of the LED in the series (must be contiguous) + + required: + - reg + +required: + - compatible + - reg + - clocks + - clock-names + - resets + - dmas + - dma-names + - interrupts + +additionalProperties: false + +examples: + - | + #include + #include + + ledc: led-controller@2008000 { + compatible = "allwinner,sun20i-d1-ledc", + "allwinner,sun50i-r329-ledc"; + reg = <0x2008000 0x400>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&ccu 12>, <&ccu 34>; + clock-names = "bus", "mod"; + resets = <&ccu 12>; + dmas = <&dma 42>; + dma-names = "tx"; + interrupts = <36 IRQ_TYPE_LEVEL_HIGH>; + + multi-led@0 { + reg = <0x0>; + color = ; + function = LED_FUNCTION_INDICATOR; + }; + }; + +... -- 2.32.0