Thread (7 messages) 7 messages, 5 authors, 2017-08-10

[patch v2 2/2] drivers: jtag: Add Aspeed SoC 24xx and 25xx families JTAG master driver

From: robh@kernel.org (Rob Herring)
Date: 2017-08-10 20:58:19
Also in: linux-devicetree, linux-serial, lkml, openbmc

On Mon, Aug 07, 2017 at 05:17:47PM +0300, Oleksandr Shamray wrote:
Driver adds support of Aspeed 2500/2400 series SOC JTAG master controller.

Driver implements the following jtag ops:
- freq_get;
- freq_set;
- status_get;
- idle;
- xfer;

It has been tested on Mellanox system with BMC equipped with
Aspeed 2520 SoC for programming CPLD devices.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Oleksandr Shamray <redacted>
---
v1->v2
Comments pointed by Greg KH [off-list ref]
- change license type from GPLv2/BSD to GPLv2

Comments pointed by Neil Armstrong [off-list ref]
- Add clk_prepare_enable/clk_disable_unprepare in clock init/deinit
- Change .compatible to soc-specific compatible names
  aspeed,aspeed4000-jtag/aspeed5000-jtag
- Added dt-bindings

Comments pointed by Arnd Bergmann [off-list ref]
- Reorder functions and removed the forward declarations
- Add static const qualifier to state machine states transitions
- Change .compatible to soc-specific compatible names
  aspeed,aspeed4000-jtag/aspeed5000-jtag
- Add dt-bindings

Comments pointed by Randy Dunlap [off-list ref]
- Change module name jtag-aspeed in description in Kconfig

Comments pointed by kbuild test robot [off-list ref]
- Remove invalid include <asm/mach-types.h>
- add resource_size instead of calculation
---
 .../devicetree/bindings/jtag/aspeed-jtag.txt       |   27 +
Please split binding to separate patch.
quoted hunk ↗ jump to hunk
 drivers/jtag/Kconfig                               |   13 +
 drivers/jtag/Makefile                              |    1 +
 drivers/jtag/jtag-aspeed.c                         |  774 ++++++++++++++++++++
 4 files changed, 815 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/jtag/aspeed-jtag.txt
 create mode 100644 drivers/jtag/jtag-aspeed.c
diff --git a/Documentation/devicetree/bindings/jtag/aspeed-jtag.txt b/Documentation/devicetree/bindings/jtag/aspeed-jtag.txt
new file mode 100644
index 0000000..27b1d34
--- /dev/null
+++ b/Documentation/devicetree/bindings/jtag/aspeed-jtag.txt
@@ -0,0 +1,27 @@
+Aspeed JTAG driver for ast2400 and ast2500 SoC
+
+Required properties:
+- compatible:		Should be one of
+      - "aspeed,aspeed2400-jtag"
+      - "aspeed,aspeed2500-jtag"
+- reg			contains the offset and length of the JTAG memory
+			region
+- clocks		root clock of bus, should reference the APB clock
+- reg-shift		device register offsets are shifted by this value
It doesn't appear that you use this. It should be implied by the 
compatible in any case.
+- interrupts		should contain JTAG controller interrupt
+
+Optional properties:
+- status 		 defines the operation status of the JTAG. Valid
+values are:
+      - "disabled"	 the JTAG is disabled
+      - "okay"		 the JTAG is enabled
Don't need to document status. It's implied for any node.
+
+Example:
+jtag: jtag at 1e6e4000 {
+	compatible = "aspeed,aspeed2500-jtag";
+	reg = <0x1e6e4000 0x1c>;
+	reg-shift = <2>;
+	clocks = <&clk_apb>;
+	interrupts = <43>;
+	status = "disabled";
Don't need to show status in examples either.
+};
\ No newline at end of file
^^^
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help