Skip to contentSkip to conversation

dt-bindings: reset: document Broadcom's BCM4908 PCIe reset binding

PATCH In review Rafał Miłecki 4 participants 6 messages Nov 27, 2020 – Dec 9, 2020

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 dt-bindings: reset: document Broadcom's BCM4908 PCIe reset binding

From: Rafał Miłecki <[email protected]>

BCM4908 was built using older PCIe hardware block that requires using external reset block controlling PERST# signals.

---
 .../reset/brcm,bcm4908-misc-pcie-reset.yaml   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/reset/brcm,bcm4908-misc-pcie-reset.yaml
Documentation/devicetree/bindings/reset/brcm,bcm4908-misc-pcie-reset.yaml new file +39 -0
new file mode 100644
index 000000000000..88aebb370838
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/brcm,bcm4908-misc-pcie-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom MISC block PCIe reset controller
+
+description: This document describes reset controller handling PCIe PERST#
+  signals. On BCM4908 it's a part of the MISC block.
+
+maintainers:
+  - Rafał Miłecki <[email protected]>
+
+properties:
+  compatible:
+    const: brcm,bcm4908-misc-pcie-reset
+
+  reg:
+    maxItems: 1
+
+  "#reset-cells":
+    description: PCIe core id
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - "#reset-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    reset-controller@ff802644 {
+        compatible = "brcm,bcm4908-misc-pcie-reset";
+        reg = <0xff802644 0x04>;
+        #reset-cells = <1>;
+    };
Signature · 1 line
2.26.2
#1 lore raw

PATCH 2/2 reset: simple: add BCM4908 MISC PCIe reset controller support

From: Rafał Miłecki <[email protected]>

It's a trivial reset controller. One register with bit per PCIe core.

---
 drivers/reset/Kconfig        | 2 +-
 drivers/reset/reset-simple.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)
drivers/reset/Kconfig +1 -1
index b7e377a32c92..f393f7e17e33 100644
@@ -173,7 +173,7 @@ config RESET_SCMI
 
 config RESET_SIMPLE
 	bool "Simple Reset Controller Driver" if COMPILE_TEST
-	default ARCH_AGILEX || ARCH_ASPEED || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARC
+	default ARCH_AGILEX || ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARC
 	help
 	  This enables a simple reset controller driver for reset lines that
 	  that can be asserted and deasserted by toggling bits in a contiguous,
drivers/reset/reset-simple.c +2 -0
index e066614818a3..4dda0daf2c6f 100644
@@ -146,6 +146,8 @@ static const struct of_device_id reset_simple_dt_ids[] = {
 	{ .compatible = "aspeed,ast2500-lpc-reset" },
 	{ .compatible = "bitmain,bm1880-reset",
 		.data = &reset_simple_active_low },
+	{ .compatible = "brcm,bcm4908-misc-pcie-reset",
+		.data = &reset_simple_active_low },
 	{ .compatible = "snps,dw-high-reset" },
 	{ .compatible = "snps,dw-low-reset",
 		.data = &reset_simple_active_low },
Signature · 1 line
2.26.2
maintainer Reviewed-by on v1 1/2
#4 lore raw
In reply to Rafał Miłecki
Quoted 11 lines · Rafał Miłecki

From: Rafał Miłecki <[email protected]>

BCM4908 was built using older PCIe hardware block that requires using external reset block controlling PERST# signals.

---
 .../reset/brcm,bcm4908-misc-pcie-reset.yaml   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/reset/brcm,bcm4908-misc-pcie-reset.yaml