[PATCH 30 2/7] Add binding for Aspeed SOC
From: Corona, Ernesto
Date: Tue Jan 30 2024 - 18:30:31 EST
Aspeed AST2400, AST2500 and AST2600 JTAG controller driver.
Signed-off-by: Oleksandr Shamray <oleksandrs@xxxxxxxxxxxx>
Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxx>
Signed-off-by: Ernesto Corona <ernesto.corona@xxxxxxxxx>
Signed-off-by: Omar Castro <omar.eduardo.castro@xxxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>
Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
Cc: "Theodore Ts'o" <tytso@xxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Joel Stanley <joel@xxxxxxxxx>
Cc: Andrew Jeffery <andrew@xxxxxxxx>
Cc: Steven Filary <steven.a.filary@xxxxxxxxx>
Cc: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
Cc: Amithash Prasad <amithash@xxxxxx>
Cc: Patrick Williams <patrickw3@xxxxxx>
Cc: Luke Chen <luke_chen@xxxxxxxxxxxxxx>
Cc: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
Cc: Rgrs <rgrs@xxxxxxxxxxxxxx>
---
v29->v30
Comments pointed by Steven Filary <steven.a.filary@xxxxxxxxx>
- Add Suport for 26xx series
v28->v29
Comments pointed by Ernesto Corona <ernesto.corona@xxxxxxxxx>
- Change documentation to the new dt-bindings yaml format.
v27->v28
v26->v27
v25->v26
v24->v25
v23->v24
v22->v23
v21->v22
v20->v21
v19->v20
v18->v19
v17->v18
v16->v17
v15->v16
Comments pointed by Joel Stanley <joel.stan@xxxxxxxxx>
- change clocks = <&clk_apb> to proper clocks = <&syscon ASPEED_CLK_APB>
- add reset descriptions in bindings file
v14->v15
v13->v14
v12->v13
v11->v12
v10->v11
v9->v10
v8->v9
v7->v8
Comments pointed by pointed by Joel Stanley <joel.stan@xxxxxxxxx>
- Change compatible string to ast2400 and ast2000
V6->v7
Comments pointed by Tobias Klauser <tklauser@xxxxxxxxxx>
- Fix spell "Doccumentation" -> "Documentation"
v5->v6
Comments pointed by Tobias Klauser <tklauser@xxxxxxxxxx>
- Small nit: s/documentation/Documentation/
v4->v5
V3->v4
Comments pointed by Rob Herring <robh@xxxxxxxxxx>
- delete unnecessary "status" and "reg-shift" descriptions in
bindings file
v2->v3
Comments pointed by Rob Herring <robh@xxxxxxxxxx>
- split Aspeed jtag driver and binding to separate patches
- delete unnecessary "status" and "reg-shift" descriptions in
bindings file
---
.../devicetree/bindings/jtag/aspeed-jtag.yaml | 85 +++++++++++++++++++
1 file changed, 85 insertions(+)
create mode 100644 Documentation/devicetree/bindings/jtag/aspeed-jtag.yaml
diff --git a/Documentation/devicetree/bindings/jtag/aspeed-jtag.yaml b/Documentation/devicetree/bindings/jtag/aspeed-jtag.yaml
new file mode 100644
index 000000000000..1a412e83b81b
--- /dev/null
+++ b/Documentation/devicetree/bindings/jtag/aspeed-jtag.yaml
@@ -0,0 +1,85 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/jtag/aspeed-jtag.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Aspeed JTAG driver for ast2400, ast2500 and ast2600 SoC
+
+description:
+ Driver adds support of Aspeed 24/25/2600 series SOC JTAG controller.
+ Driver implements the following jtag ops
+ freq_get
+ freq_set
+ status_get
+ status_set
+ xfer
+ mode_set
+ bitbang
+ enable
+ disable
+
+ It has been tested on Mellanox system with BMC equipped with
+ Aspeed 2520 SoC for programming CPLD devices.
+
+ It has also been tested on Intel system using Aspeed 25xx SoC
+ for JTAG communication.
+
+ Tested on Intel system using Aspeed 26xx SoC for JTAG communication.
+
+maintainers:
+ - Oleksandr Shamray <oleksandrs@xxxxxxxxxxxx>
+ - Jiri Pirko <jiri@xxxxxxxxxx>
+ - Ernesto Corona<ernesto.corona@xxxxxxxxx>
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - aspeed,ast2400-jtag
+ - aspeed,ast2500-jtag
+ - aspeed,ast2600-jtag
+
+
+ reg:
+ items:
+ - description: JTAG Master controller register range
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+examples:
+ - |
+ #include <dt-bindings/clock/aspeed-clock.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ jtag: jtag@1e6e4000 {
+ compatible = "aspeed,ast2500-jtag";
+ reg = <0x1e6e4000 0x1c>;
+ clocks = <&syscon ASPEED_CLK_APB>;
+ resets = <&syscon ASPEED_RESET_JTAG_MASTER>;
+ interrupts = <43>;
+ };
+ - |
+ #include <dt-bindings/clock/aspeed-clock.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ jtag1: jtag@1e6e4100 {
+ compatible = "aspeed,ast2600-jtag";
+ reg = <0x1e6e4100 0x40>;
+ clocks = <&syscon ASPEED_CLK_APB1>;
+ resets = <&syscon ASPEED_RESET_JTAG_MASTER2>;
+ interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+...
--
2.25.1