forked from openwrt/openwrt
-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kernel: backport LEDs driver for BCMBCA devices
This includes BCM63xx and BCM4908 families. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
- Loading branch information
Rafał Miłecki
committed
Jul 17, 2022
1 parent
5ad67cc
commit d9ab1e5
Showing
8 changed files
with
981 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
125 changes: 125 additions & 0 deletions
125
...ic/backport-5.10/845-v5.20-0001-dt-bindings-leds-add-Broadcom-s-BCM63138-controller.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
From 13344f8ce8a0d98aa7f5d69ce3b47393c73a343b Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> | ||
Date: Mon, 27 Dec 2021 15:59:04 +0100 | ||
Subject: [PATCH] dt-bindings: leds: add Broadcom's BCM63138 controller | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Broadcom used 2 LEDs hardware blocks for their BCM63xx SoCs: | ||
1. Older one (BCM6318, BCM6328, BCM6362, BCM63268, BCM6838) | ||
2. Newer one (BCM6848, BCM6858, BCM63138, BCM63148, BCM63381, BCM68360) | ||
|
||
The newer one was also later also used on BCM4908 SoC. | ||
|
||
Old block is already documented in the leds-bcm6328.yaml. This binding | ||
documents the new one which uses different registers & programming. It's | ||
first used in BCM63138 thus the binding name. | ||
|
||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||
Reviewed-by: Rob Herring <robh@kernel.org> | ||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> | ||
Signed-off-by: Pavel Machek <pavel@ucw.cz> | ||
--- | ||
.../bindings/leds/leds-bcm63138.yaml | 95 +++++++++++++++++++ | ||
1 file changed, 95 insertions(+) | ||
create mode 100644 Documentation/devicetree/bindings/leds/leds-bcm63138.yaml | ||
|
||
--- /dev/null | ||
+++ b/Documentation/devicetree/bindings/leds/leds-bcm63138.yaml | ||
@@ -0,0 +1,95 @@ | ||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | ||
+%YAML 1.2 | ||
+--- | ||
+$id: http://devicetree.org/schemas/leds/leds-bcm63138.yaml# | ||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
+ | ||
+title: Broadcom's BCM63138 LEDs controller | ||
+ | ||
+maintainers: | ||
+ - Rafał Miłecki <rafal@milecki.pl> | ||
+ | ||
+description: | | ||
+ This LEDs controller was first used on BCM63138 and later reused on BCM4908, | ||
+ BCM6848, BCM6858, BCM63138, BCM63148, BCM63381 and BCM68360 SoCs. | ||
+ | ||
+ It supports up to 32 LEDs that can be connected parallelly or serially. It | ||
+ also includes limited support for hardware blinking. | ||
+ | ||
+ Binding serially connected LEDs isn't documented yet. | ||
+ | ||
+properties: | ||
+ compatible: | ||
+ oneOf: | ||
+ - items: | ||
+ - enum: | ||
+ - brcm,bcm4908-leds | ||
+ - brcm,bcm6848-leds | ||
+ - brcm,bcm6858-leds | ||
+ - brcm,bcm63148-leds | ||
+ - brcm,bcm63381-leds | ||
+ - brcm,bcm68360-leds | ||
+ - const: brcm,bcm63138-leds | ||
+ - const: brcm,bcm63138-leds | ||
+ | ||
+ reg: | ||
+ maxItems: 1 | ||
+ | ||
+ "#address-cells": | ||
+ const: 1 | ||
+ | ||
+ "#size-cells": | ||
+ const: 0 | ||
+ | ||
+patternProperties: | ||
+ "^led@[a-f0-9]+$": | ||
+ type: object | ||
+ | ||
+ $ref: common.yaml# | ||
+ | ||
+ properties: | ||
+ reg: | ||
+ maxItems: 1 | ||
+ description: LED pin number | ||
+ | ||
+ active-low: | ||
+ type: boolean | ||
+ description: Makes LED active low. | ||
+ | ||
+ required: | ||
+ - reg | ||
+ | ||
+ unevaluatedProperties: false | ||
+ | ||
+required: | ||
+ - reg | ||
+ - "#address-cells" | ||
+ - "#size-cells" | ||
+ | ||
+additionalProperties: false | ||
+ | ||
+examples: | ||
+ - | | ||
+ #include <dt-bindings/leds/common.h> | ||
+ | ||
+ leds@ff800800 { | ||
+ compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds"; | ||
+ reg = <0xff800800 0xdc>; | ||
+ | ||
+ #address-cells = <1>; | ||
+ #size-cells = <0>; | ||
+ | ||
+ led@0 { | ||
+ reg = <0x0>; | ||
+ function = LED_FUNCTION_POWER; | ||
+ color = <LED_COLOR_ID_GREEN>; | ||
+ default-state = "on"; | ||
+ }; | ||
+ | ||
+ led@3 { | ||
+ reg = <0x3>; | ||
+ function = LED_FUNCTION_STATUS; | ||
+ color = <LED_COLOR_ID_GREEN>; | ||
+ active-low; | ||
+ }; | ||
+ }; |
Oops, something went wrong.