devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2]
@ 2018-04-26 18:24 Jacopo Mondi
  2018-04-26 18:24 ` [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740 Jacopo Mondi
  2018-04-26 18:24 ` [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0 Jacopo Mondi
  0 siblings, 2 replies; 12+ messages in thread
From: Jacopo Mondi @ 2018-04-26 18:24 UTC (permalink / raw)
  To: geert, horms, robh+dt, mark.rutland
  Cc: Jacopo Mondi, linux-renesas-soc, linux-media, devicetree, linux-kernel

Hello,
   this small series add R-Mobile A1 R8A7740 to the list of CEU supported
SoCs, and adds the CEU node to r8a7740.dtsi.

All the information on CEU clocks, power domains and memory regions have been
deducted from the now-deleted board file:
arch/arm/mach-shmobile/board-armadillo800eva.c

Thanks
   j

v1 -> v2:
- Enlarge the memory range as suggested by Simon
- Fix power domain, as reported by Simon
- s/Enable/[Describe|Add] in commit message

Jacopo Mondi (2):
  dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740
  ARM: dts: r8a7740: Add CEU0

 Documentation/devicetree/bindings/media/renesas,ceu.txt |  7 ++++---
 arch/arm/boot/dts/r8a7740.dtsi                          | 10 ++++++++++
 drivers/media/platform/renesas-ceu.c                    |  1 +
 3 files changed, 15 insertions(+), 3 deletions(-)

--
2.7.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740
  2018-04-26 18:24 [PATCH v2 0/2] Jacopo Mondi
@ 2018-04-26 18:24 ` Jacopo Mondi
  2018-04-27 20:06   ` Rob Herring
  2018-04-30  7:40   ` Simon Horman
  2018-04-26 18:24 ` [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0 Jacopo Mondi
  1 sibling, 2 replies; 12+ messages in thread
From: Jacopo Mondi @ 2018-04-26 18:24 UTC (permalink / raw)
  To: geert, horms, robh+dt, mark.rutland
  Cc: Jacopo Mondi, linux-renesas-soc, linux-media, devicetree, linux-kernel

Add R-Mobile A1 R8A7740 SoC to the list of compatible values for the CEU
unit.

Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 Documentation/devicetree/bindings/media/renesas,ceu.txt | 7 ++++---
 drivers/media/platform/renesas-ceu.c                    | 1 +
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/renesas,ceu.txt b/Documentation/devicetree/bindings/media/renesas,ceu.txt
index 3fc66df..8a7a616 100644
--- a/Documentation/devicetree/bindings/media/renesas,ceu.txt
+++ b/Documentation/devicetree/bindings/media/renesas,ceu.txt
@@ -2,14 +2,15 @@ Renesas Capture Engine Unit (CEU)
 ----------------------------------------------
 
 The Capture Engine Unit is the image capture interface found in the Renesas
-SH Mobile and RZ SoCs.
+SH Mobile, R-Mobile and RZ SoCs.
 
 The interface supports a single parallel input with data bus width of 8 or 16
 bits.
 
 Required properties:
-- compatible: Shall be "renesas,r7s72100-ceu" for CEU units found in RZ/A1H
-  and RZ/A1M SoCs.
+- compatible: Shall be one of the following values:
+	"renesas,r7s72100-ceu" for CEU units found in RZ/A1H and RZ/A1M SoCs
+	"renesas,r8a7740-ceu" for CEU units found in R-Mobile A1 R8A7740 SoCs
 - reg: Registers address base and size.
 - interrupts: The interrupt specifier.
 
diff --git a/drivers/media/platform/renesas-ceu.c b/drivers/media/platform/renesas-ceu.c
index 6599dba..c964a56 100644
--- a/drivers/media/platform/renesas-ceu.c
+++ b/drivers/media/platform/renesas-ceu.c
@@ -1545,6 +1545,7 @@ static const struct ceu_data ceu_data_sh4 = {
 #if IS_ENABLED(CONFIG_OF)
 static const struct of_device_id ceu_of_match[] = {
 	{ .compatible = "renesas,r7s72100-ceu", .data = &ceu_data_rz },
+	{ .compatible = "renesas,r8a7740-ceu", .data = &ceu_data_rz },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, ceu_of_match);
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0
  2018-04-26 18:24 [PATCH v2 0/2] Jacopo Mondi
  2018-04-26 18:24 ` [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740 Jacopo Mondi
@ 2018-04-26 18:24 ` Jacopo Mondi
  2018-05-08 13:33   ` Simon Horman
  2018-05-16  7:40   ` Geert Uytterhoeven
  1 sibling, 2 replies; 12+ messages in thread
From: Jacopo Mondi @ 2018-04-26 18:24 UTC (permalink / raw)
  To: geert, horms, robh+dt, mark.rutland
  Cc: Jacopo Mondi, linux-renesas-soc, linux-media, devicetree, linux-kernel

Describe CEU0 peripheral for Renesas R-Mobile A1 R8A7740 Soc.

Reported-by: Geert Uytterhoeven <geert@glider.be>
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 arch/arm/boot/dts/r8a7740.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index afd3bc5..508d934 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -67,6 +67,16 @@
 		power-domains = <&pd_d4>;
 	};
 
+	ceu0: ceu@fe910000 {
+		reg = <0xfe910000 0x3000>;
+		compatible = "renesas,r8a7740-ceu";
+		interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp1_clks R8A7740_CLK_CEU20>;
+		clock-names = "ceu20";
+		power-domains = <&pd_a4r>;
+		status = "disabled";
+	};
+
 	cmt1: timer@e6138000 {
 		compatible = "renesas,cmt-48-r8a7740", "renesas,cmt-48";
 		reg = <0xe6138000 0x170>;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740
  2018-04-26 18:24 ` [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740 Jacopo Mondi
@ 2018-04-27 20:06   ` Rob Herring
  2018-04-30  7:40   ` Simon Horman
  1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring @ 2018-04-27 20:06 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: geert, horms, mark.rutland, linux-renesas-soc, linux-media,
	devicetree, linux-kernel

On Thu, Apr 26, 2018 at 08:24:42PM +0200, Jacopo Mondi wrote:
> Add R-Mobile A1 R8A7740 SoC to the list of compatible values for the CEU
> unit.
> 
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
>  Documentation/devicetree/bindings/media/renesas,ceu.txt | 7 ++++---
>  drivers/media/platform/renesas-ceu.c                    | 1 +
>  2 files changed, 5 insertions(+), 3 deletions(-)

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740
  2018-04-26 18:24 ` [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740 Jacopo Mondi
  2018-04-27 20:06   ` Rob Herring
@ 2018-04-30  7:40   ` Simon Horman
  1 sibling, 0 replies; 12+ messages in thread
From: Simon Horman @ 2018-04-30  7:40 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: geert, robh+dt, mark.rutland, linux-renesas-soc, linux-media,
	devicetree, linux-kernel

On Thu, Apr 26, 2018 at 08:24:42PM +0200, Jacopo Mondi wrote:
> Add R-Mobile A1 R8A7740 SoC to the list of compatible values for the CEU
> unit.
> 
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>

> ---
>  Documentation/devicetree/bindings/media/renesas,ceu.txt | 7 ++++---
>  drivers/media/platform/renesas-ceu.c                    | 1 +
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/renesas,ceu.txt b/Documentation/devicetree/bindings/media/renesas,ceu.txt
> index 3fc66df..8a7a616 100644
> --- a/Documentation/devicetree/bindings/media/renesas,ceu.txt
> +++ b/Documentation/devicetree/bindings/media/renesas,ceu.txt
> @@ -2,14 +2,15 @@ Renesas Capture Engine Unit (CEU)
>  ----------------------------------------------
>  
>  The Capture Engine Unit is the image capture interface found in the Renesas
> -SH Mobile and RZ SoCs.
> +SH Mobile, R-Mobile and RZ SoCs.
>  
>  The interface supports a single parallel input with data bus width of 8 or 16
>  bits.
>  
>  Required properties:
> -- compatible: Shall be "renesas,r7s72100-ceu" for CEU units found in RZ/A1H
> -  and RZ/A1M SoCs.
> +- compatible: Shall be one of the following values:
> +	"renesas,r7s72100-ceu" for CEU units found in RZ/A1H and RZ/A1M SoCs
> +	"renesas,r8a7740-ceu" for CEU units found in R-Mobile A1 R8A7740 SoCs

Nit: I think you can drop R8A7740 as I believe that by adding it to
R-Mobile A1 you have constructed a tautology (I mean "R-Mobile A1" =
"R8A7740" as far as I know).

>  - reg: Registers address base and size.
>  - interrupts: The interrupt specifier.
>  
> diff --git a/drivers/media/platform/renesas-ceu.c b/drivers/media/platform/renesas-ceu.c
> index 6599dba..c964a56 100644
> --- a/drivers/media/platform/renesas-ceu.c
> +++ b/drivers/media/platform/renesas-ceu.c
> @@ -1545,6 +1545,7 @@ static const struct ceu_data ceu_data_sh4 = {
>  #if IS_ENABLED(CONFIG_OF)
>  static const struct of_device_id ceu_of_match[] = {
>  	{ .compatible = "renesas,r7s72100-ceu", .data = &ceu_data_rz },
> +	{ .compatible = "renesas,r8a7740-ceu", .data = &ceu_data_rz },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, ceu_of_match);
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0
  2018-04-26 18:24 ` [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0 Jacopo Mondi
@ 2018-05-08 13:33   ` Simon Horman
  2018-05-16  7:40   ` Geert Uytterhoeven
  1 sibling, 0 replies; 12+ messages in thread
From: Simon Horman @ 2018-05-08 13:33 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: geert, robh+dt, mark.rutland, linux-renesas-soc, linux-media,
	devicetree, linux-kernel

On Thu, Apr 26, 2018 at 08:24:43PM +0200, Jacopo Mondi wrote:
> Describe CEU0 peripheral for Renesas R-Mobile A1 R8A7740 Soc.
> 
> Reported-by: Geert Uytterhoeven <geert@glider.be>
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks, applied.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0
  2018-04-26 18:24 ` [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0 Jacopo Mondi
  2018-05-08 13:33   ` Simon Horman
@ 2018-05-16  7:40   ` Geert Uytterhoeven
  2018-05-16  8:54     ` Simon Horman
  1 sibling, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2018-05-16  7:40 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: Simon Horman, Rob Herring, Mark Rutland, Linux-Renesas,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List

Hi Jacopo,

On Thu, Apr 26, 2018 at 8:24 PM, Jacopo Mondi <jacopo+renesas@jmondi.org> wrote:
> Describe CEU0 peripheral for Renesas R-Mobile A1 R8A7740 Soc.
>
> Reported-by: Geert Uytterhoeven <geert@glider.be>
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks for your patch!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Minor question below.

> --- a/arch/arm/boot/dts/r8a7740.dtsi
> +++ b/arch/arm/boot/dts/r8a7740.dtsi
> @@ -67,6 +67,16 @@
>                 power-domains = <&pd_d4>;
>         };
>
> +       ceu0: ceu@fe910000 {
> +               reg = <0xfe910000 0x3000>;
> +               compatible = "renesas,r8a7740-ceu";
> +               interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
> +               clocks = <&mstp1_clks R8A7740_CLK_CEU20>;
> +               clock-names = "ceu20";

Why the "clock-names" property? It's not mentioned in the DT bindings, and
may cause issues if the bindings are ever amended.

> +               power-domains = <&pd_a4r>;
> +               status = "disabled";
> +       };
> +

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0
  2018-05-16  7:40   ` Geert Uytterhoeven
@ 2018-05-16  8:54     ` Simon Horman
  0 siblings, 0 replies; 12+ messages in thread
From: Simon Horman @ 2018-05-16  8:54 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Jacopo Mondi, Rob Herring, Mark Rutland, Linux-Renesas,
	Linux Media Mailing List,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List

On Wed, May 16, 2018 at 09:40:09AM +0200, Geert Uytterhoeven wrote:
> Hi Jacopo,
> 
> On Thu, Apr 26, 2018 at 8:24 PM, Jacopo Mondi <jacopo+renesas@jmondi.org> wrote:
> > Describe CEU0 peripheral for Renesas R-Mobile A1 R8A7740 Soc.
> >
> > Reported-by: Geert Uytterhoeven <geert@glider.be>
> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> 
> Thanks for your patch!
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> Minor question below.
> 
> > --- a/arch/arm/boot/dts/r8a7740.dtsi
> > +++ b/arch/arm/boot/dts/r8a7740.dtsi
> > @@ -67,6 +67,16 @@
> >                 power-domains = <&pd_d4>;
> >         };
> >
> > +       ceu0: ceu@fe910000 {
> > +               reg = <0xfe910000 0x3000>;
> > +               compatible = "renesas,r8a7740-ceu";
> > +               interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
> > +               clocks = <&mstp1_clks R8A7740_CLK_CEU20>;
> > +               clock-names = "ceu20";
> 
> Why the "clock-names" property? It's not mentioned in the DT bindings, and
> may cause issues if the bindings are ever amended.

I have dropped that property for now.

> 
> > +               power-domains = <&pd_a4r>;
> > +               status = "disabled";
> > +       };
> > +
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 0/2]
@ 2017-08-19 18:03 sean.wang
  0 siblings, 0 replies; 12+ messages in thread
From: sean.wang @ 2017-08-19 18:03 UTC (permalink / raw)
  To: robh+dt, gregkh, jslaby, andriy.shevchenko, robert.jarzmik, arnd,
	p.zabel, joel, david, jan.kiszka, heikki.krogerus, hpeter,
	vigneshr, matthias.bgg, tthayer
  Cc: devicetree, linux-mediatek, linux-serial, linux-arm-kernel,
	linux-kernel, Sean Wang

From: Sean Wang <sean.wang@mediatek.com>

Since v2: 
- reusing 8250_of since the original driver has almost the same logic

This patchset introduces the support for MediaTek BTIF controller.

MediaTek BTIF controller is the serial interface similar to UART but it
works only as the digital device which is mainly used to communicate with
the connectivity module also called CONNSYS inside the SoC which could be
mostly found on those MediaTek SoCs with Bluetooth feature.

And the controller is made as being compatible with the 8250 register
layout so it tends to be integrated with existing 8250 core driver and
have no requirement for the modem configuration additionally such as the
baud rate calculation and assignment.

Sean Wang (2):
  dt-bindings: serial: 8250: Add MediaTek BTIF controller bindings
  serial: 8250: of: Add new port type for MediaTek BTIF controller on
    MT7622/23 SoC

 Documentation/devicetree/bindings/serial/8250.txt | 3 +++
 drivers/tty/serial/8250/8250_of.c                 | 2 ++
 drivers/tty/serial/8250/8250_port.c               | 8 ++++++++
 include/uapi/linux/serial_core.h                  | 3 +++
 4 files changed, 16 insertions(+)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [patch v2 0/2]
  2017-08-07 14:17 [patch " Oleksandr Shamray
       [not found] ` <1502115467-1735-1-git-send-email-oleksandrs-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2017-08-10 15:18 ` Greg KH
  1 sibling, 0 replies; 12+ messages in thread
From: Greg KH @ 2017-08-10 15:18 UTC (permalink / raw)
  To: Oleksandr Shamray
  Cc: arnd, linux-kernel, linux-arm-kernel, devicetree, openbmc, joel,
	jiri, tklauser, linux-serial, mec, vadimp, system-sw-low-level,
	robh+dt, openocd-devel-owner

On Mon, Aug 07, 2017 at 05:17:45PM +0300, Oleksandr Shamray wrote:
> When a need raise up to use JTAG interface for system's devices
> programming or CPU debugging, it could be done from the external
> JTAG master controller.

Your subject line is a bit "odd" :(

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [patch v2 0/2]
       [not found] ` <1502115467-1735-1-git-send-email-oleksandrs-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2017-08-09 14:31   ` Andrew Lunn
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2017-08-09 14:31 UTC (permalink / raw)
  To: Oleksandr Shamray
  Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, arnd-r2nGTMty4D4,
	devicetree-u79uwXL29TY76Z2rM5mHXA, jiri-rHqAuBHg3fBzbRFIqnYvSA,
	system-sw-low-level-VPRAkNaXOzVWk0Htik3J/w,
	openbmc-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	openocd-devel-owner-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	mec-WqBc5aa1uDFeoWH0uzbU5w, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	joel-U3u1mxZcP9KHXe+LvDLADg, linux-serial-u79uwXL29TY76Z2rM5mHXA,
	vadimp-45czdsxZ+A5DPfheJLI6IQ, tklauser-93Khv+1bN0NyDzI6CaY1VQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Mon, Aug 07, 2017 at 05:17:45PM +0300, Oleksandr Shamray wrote:
> When a need raise up to use JTAG interface for system's devices
> programming or CPU debugging, it could be done from the external
> JTAG master controller.
>  
> For such purpose, usually the user layer
> application implements jtag protocol or using a proprietary
> connection to vendor hardware.
> This method is slow and not generic.
>  
> We propose to implement general JTAG interface and infrastructure
> to communicate with user layer application. 

Hi Oleksandr

You might find this discussion interesting:

https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2017-August/004721.html

You are defining a new ABI here, so linux-abi should be involved in
the discussion of these patches.

    Andrew
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [patch v2 0/2]
@ 2017-08-07 14:17 Oleksandr Shamray
       [not found] ` <1502115467-1735-1-git-send-email-oleksandrs-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  2017-08-10 15:18 ` Greg KH
  0 siblings, 2 replies; 12+ messages in thread
From: Oleksandr Shamray @ 2017-08-07 14:17 UTC (permalink / raw)
  To: gregkh, arnd
  Cc: linux-kernel, linux-arm-kernel, devicetree, openbmc, joel, jiri,
	tklauser, linux-serial, mec, vadimp, system-sw-low-level,
	robh+dt, openocd-devel-owner, Oleksandr Shamray

When a need raise up to use JTAG interface for system's devices
programming or CPU debugging, it could be done from the external
JTAG master controller.
 
For such purpose, usually the user layer
application implements jtag protocol or using a proprietary
connection to vendor hardware.
This method is slow and not generic.
 
We propose to implement general JTAG interface and infrastructure
to communicate with user layer application. In such way, we can
have the standard JTAG interface core part and separation from
specific HW implementation.
This allow new capability to debug the CPU or program system's 
device via BMC without additional devices nor cost. 

This patch purpose is to add JTAG master core infrastructure by 
defining new JTAG class and provide generic JTAG interface
to allow hardware specific drivers to connect this interface.
This will enable all JTAG drivers to use the common interface
part and will have separate for hardware implementation.

The JTAG (Joint Test Action Group) core driver provides minimal generic
JTAG interface, which can be used by hardware specific JTAG master
controllers. By providing common interface for the JTAG controllers,
user space device programing is hardware independent.
 
Modern SoC which in use for embedded system' equipped with
internal JTAG master interface.
This interface is used for programming and debugging system's
hardware components, like CPLD, FPGA, CPU, voltage and
industrial controllers.
Firmware for such devices can be upgraded through JTAG interface during
Runtime. The JTAG standard support for multiple devices programming,
is in case their lines are daisy-chained together.

For example, systems which equipped with host CPU, BMC SoC or/and 
number of programmable devices are capable to connect a pin and
select system components dynamically for programming and debugging,
This is using by the BMC which is equipped with internal SoC master
controller.
For example:

BMC JTAG master --> pin selected to CPLDs chain for programming (filed
upgrade, production) 
BMC JTAG master --> pin selected to voltage monitors for programming 
(field upgrade, production) 
BMC JTAG master --> pin selected to host CPU (on-site debugging 
and developers debugging)

For example, we can have application in user space which using calls
to JTAG driver executes CPLD programming directly from SVF file
 
The JTAG standard (IEEE 1149.1) defines the next connector pins:
- TDI (Test Data In);
- TDO (Test Data Out);
- TCK (Test Clock);
- TMS (Test Mode Select);
- TRST (Test Reset) (Optional);

The SoC equipped with JTAG master controller, performs
device programming on command or vector level. For example
a file in a standard SVF (Serial Vector Format) that contains
boundary scan vectors, can be used by sending each vector
to the JTAG interface and the JTAG controller will execute
the programming.

Initial version provides the system calls set for:
- SIR (Scan Instruction Register, IEEE 1149.1 Data Register scan);
- SDR (Scan Data Register, IEEE 1149.1 Instruction Register scan);
- RUNTEST (Forces the IEEE 1149.1 bus to a run state for a specified
  number of clocks.

SoC which are not equipped with JTAG master interface, can be built
on top of JTAG core driver infrastructure, by applying bit-banging of
TDI, TDO, TCK and TMS pins within the hardware specific driver.

Oleksandr Shamray (2):
  drivers: jtag: Add JTAG core driver
  drivers: jtag: Add Aspeed SoC 24xx and 25xx families JTAG master
    driver

 .../devicetree/bindings/jtag/aspeed-jtag.txt       |   27 +
 Documentation/ioctl/ioctl-number.txt               |    2 +
 MAINTAINERS                                        |    8 +
 drivers/Kconfig                                    |    2 +
 drivers/Makefile                                   |    1 +
 drivers/jtag/Kconfig                               |   29 +
 drivers/jtag/Makefile                              |    2 +
 drivers/jtag/jtag-aspeed.c                         |  774 ++++++++++++++++++++
 drivers/jtag/jtag.c                                |  313 ++++++++
 include/linux/jtag.h                               |   42 ++
 include/uapi/linux/jtag.h                          |  113 +++
 11 files changed, 1313 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/jtag/aspeed-jtag.txt
 create mode 100644 drivers/jtag/Kconfig
 create mode 100644 drivers/jtag/Makefile
 create mode 100644 drivers/jtag/jtag-aspeed.c
 create mode 100644 drivers/jtag/jtag.c
 create mode 100644 include/linux/jtag.h
 create mode 100644 include/uapi/linux/jtag.h

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-05-16  8:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-26 18:24 [PATCH v2 0/2] Jacopo Mondi
2018-04-26 18:24 ` [PATCH v2 1/2] dt-bindings: media: renesas-ceu: Add R-Mobile R8A7740 Jacopo Mondi
2018-04-27 20:06   ` Rob Herring
2018-04-30  7:40   ` Simon Horman
2018-04-26 18:24 ` [PATCH v2 2/2] ARM: dts: r8a7740: Add CEU0 Jacopo Mondi
2018-05-08 13:33   ` Simon Horman
2018-05-16  7:40   ` Geert Uytterhoeven
2018-05-16  8:54     ` Simon Horman
  -- strict thread matches above, loose matches on Subject: below --
2017-08-19 18:03 [PATCH v2 0/2] sean.wang
2017-08-07 14:17 [patch " Oleksandr Shamray
     [not found] ` <1502115467-1735-1-git-send-email-oleksandrs-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-08-09 14:31   ` Andrew Lunn
2017-08-10 15:18 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).