* [PATCH 0/4 v2] drm: Add support of ARC PGU display controller
@ 2016-03-03 14:39 Alexey Brodkin
2016-03-03 14:39 ` [PATCH 2/4 v2] drm: Add DT bindings documentation for " Alexey Brodkin
2016-03-03 14:39 ` [PATCH 3/4 v2] arc: axs10x - add support of ARC PGU Alexey Brodkin
0 siblings, 2 replies; 5+ messages in thread
From: Alexey Brodkin @ 2016-03-03 14:39 UTC (permalink / raw)
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Alexey Brodkin,
David Airlie, devicetree-u79uwXL29TY76Z2rM5mHXA,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ian Campbell,
Kumar Gala, Mark Rutland, Pawel Moll, Rob Herring, Vineet Gupta
This series add support of ARC PGU display controller.
ARC PGU is a quite simple byte streamer that gets data from the framebuffer
and pushes it to hte connected encoder (DP or HDMI).
It was tested on ARC SDP boards (axs101 in particular).
Changes v1 -> v2:
* Clean-up of DT bindings documentation
* Added missing "pxlclk" clock in axs10x_mb.dtsi
Cc: David Airlie <airlied-cv59FeDIM0c@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
Cc: Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Vineet Gupta <vgupta-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
Alexey Brodkin (4):
drm: Add support of ARC PGU display controller
drm: Add DT bindings documentation for ARC PGU display controller
arc: axs10x - add support of ARC PGU
MAINTAINERS: Add maintainer for ARC PGU display controller
.../devicetree/bindings/display/snps,arcpgu.txt | 33 +++
MAINTAINERS | 6 +
arch/arc/boot/dts/axs10x_mb.dtsi | 61 +++++
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/arc/Kconfig | 10 +
drivers/gpu/drm/arc/Makefile | 2 +
drivers/gpu/drm/arc/arcpgu.h | 47 ++++
drivers/gpu/drm/arc/arcpgu_crtc.c | 274 +++++++++++++++++++++
drivers/gpu/drm/arc/arcpgu_drv.c | 239 ++++++++++++++++++
drivers/gpu/drm/arc/arcpgu_hdmi.c | 204 +++++++++++++++
drivers/gpu/drm/arc/arcpgu_regs.h | 36 +++
12 files changed, 915 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/snps,arcpgu.txt
create mode 100644 drivers/gpu/drm/arc/Kconfig
create mode 100644 drivers/gpu/drm/arc/Makefile
create mode 100644 drivers/gpu/drm/arc/arcpgu.h
create mode 100644 drivers/gpu/drm/arc/arcpgu_crtc.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_drv.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_hdmi.c
create mode 100644 drivers/gpu/drm/arc/arcpgu_regs.h
--
2.5.0
--
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] 5+ messages in thread
* [PATCH 2/4 v2] drm: Add DT bindings documentation for ARC PGU display controller
2016-03-03 14:39 [PATCH 0/4 v2] drm: Add support of ARC PGU display controller Alexey Brodkin
@ 2016-03-03 14:39 ` Alexey Brodkin
2016-03-05 4:30 ` Rob Herring
2016-03-03 14:39 ` [PATCH 3/4 v2] arc: axs10x - add support of ARC PGU Alexey Brodkin
1 sibling, 1 reply; 5+ messages in thread
From: Alexey Brodkin @ 2016-03-03 14:39 UTC (permalink / raw)
To: linux-kernel
Cc: Mark Rutland, devicetree, Pawel Moll, Ian Campbell,
Alexey Brodkin, Rob Herring, Kumar Gala, linux-snps-arc
This add DT bindings documentation for ARC PGU display controller.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: devicetree@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
---
Changes v1 -> v2:
* Clean-up
.../devicetree/bindings/display/snps,arcpgu.txt | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/snps,arcpgu.txt
diff --git a/Documentation/devicetree/bindings/display/snps,arcpgu.txt b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
new file mode 100644
index 0000000..57f3bc8
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
@@ -0,0 +1,33 @@
+ARC PGU
+
+This is a display controller found on several development boards produced
+by Synopsys. The ARC PGU is an RGB streamer that reads the data from a
+framebuffer and sends it to a single digital encoder (usually HDMI).
+
+Required properties:
+ - compatible: "snps,arcpgu"
+ - reg: Physical base address and length of the controller's registers.
+ - clocks: A list of phandle + clock-specifier pairs, one for each
+ entry in 'clock-names'.
+ - clock-names: A list of clock names. For ARC PGU it should contain:
+ - "pxlclk" for the clock feeding the output PLL of the controller.
+
+Required sub-nodes:
+ - port: The PGU connection to an encoder chip. The connection is modelled
+ using the OF graph bindings specified in
+ Documentation/devicetree/bindings/graph.txt.
+
+Example:
+
+/ {
+ ...
+
+ pgu@XXXXXXXX {
+ compatible = "snps,arcpgu";
+ reg = <0xXXXXXXXX 0x400>;
+ clocks = <&clock_node>;
+ clock-names = "pxlclk";
+ };
+
+ ...
+};
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/4 v2] drm: Add DT bindings documentation for ARC PGU display controller
2016-03-03 14:39 ` [PATCH 2/4 v2] drm: Add DT bindings documentation for " Alexey Brodkin
@ 2016-03-05 4:30 ` Rob Herring
2016-03-07 14:53 ` Alexey Brodkin
0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2016-03-05 4:30 UTC (permalink / raw)
To: Alexey Brodkin
Cc: linux-kernel, linux-snps-arc, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, devicetree
On Thu, Mar 03, 2016 at 05:39:14PM +0300, Alexey Brodkin wrote:
> This add DT bindings documentation for ARC PGU display controller.
>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> Cc: Kumar Gala <galak@codeaurora.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-snps-arc@lists.infradead.org
> ---
>
> Changes v1 -> v2:
> * Clean-up
Not really useful. What we like to see is what changed. Maintainers have
short memories and don't remember what they said previously (unless
comments are ignored).
>
> .../devicetree/bindings/display/snps,arcpgu.txt | 33 ++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/snps,arcpgu.txt
>
> diff --git a/Documentation/devicetree/bindings/display/snps,arcpgu.txt b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
> new file mode 100644
> index 0000000..57f3bc8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
> @@ -0,0 +1,33 @@
> +ARC PGU
> +
> +This is a display controller found on several development boards produced
> +by Synopsys. The ARC PGU is an RGB streamer that reads the data from a
> +framebuffer and sends it to a single digital encoder (usually HDMI).
> +
> +Required properties:
> + - compatible: "snps,arcpgu"
> + - reg: Physical base address and length of the controller's registers.
> + - clocks: A list of phandle + clock-specifier pairs, one for each
> + entry in 'clock-names'.
> + - clock-names: A list of clock names. For ARC PGU it should contain:
> + - "pxlclk" for the clock feeding the output PLL of the controller.
> +
> +Required sub-nodes:
> + - port: The PGU connection to an encoder chip. The connection is modelled
> + using the OF graph bindings specified in
> + Documentation/devicetree/bindings/graph.txt.
> +
> +Example:
> +
> +/ {
> + ...
> +
> + pgu@XXXXXXXX {
> + compatible = "snps,arcpgu";
> + reg = <0xXXXXXXXX 0x400>;
> + clocks = <&clock_node>;
> + clock-names = "pxlclk";
Where's the port? Didn't you previously say it was optional?
> + };
> +
> + ...
> +};
> --
> 2.5.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/4 v2] drm: Add DT bindings documentation for ARC PGU display controller
2016-03-05 4:30 ` Rob Herring
@ 2016-03-07 14:53 ` Alexey Brodkin
0 siblings, 0 replies; 5+ messages in thread
From: Alexey Brodkin @ 2016-03-07 14:53 UTC (permalink / raw)
To: robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
mark.rutland-5wv7dgnIgG8@public.gmane.org,
galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
pawel.moll-5wv7dgnIgG8@public.gmane.org,
linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Hi Rob,
On Fri, 2016-03-04 at 22:30 -0600, Rob Herring wrote:
> On Thu, Mar 03, 2016 at 05:39:14PM +0300, Alexey Brodkin wrote:
> >
> > This add DT bindings documentation for ARC PGU display controller.
> >
> > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Pawel Moll <pawel.moll@arm.com>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> > Cc: Kumar Gala <galak@codeaurora.org>
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-snps-arc@lists.infradead.org
> > ---
> >
> > Changes v1 -> v2:
> > * Clean-up
> Not really useful. What we like to see is what changed. Maintainers have
> short memories and don't remember what they said previously (unless
> comments are ignored).
That's understood :)
> >
> >
> > .../devicetree/bindings/display/snps,arcpgu.txt | 33 ++++++++++++++++++++++
> > 1 file changed, 33 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/snps,arcpgu.txt
> >
> > diff --git a/Documentation/devicetree/bindings/display/snps,arcpgu.txt
> > b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
> > new file mode 100644
> > index 0000000..57f3bc8
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/snps,arcpgu.txt
> > @@ -0,0 +1,33 @@
> > +ARC PGU
> > +
> > +This is a display controller found on several development boards produced
> > +by Synopsys. The ARC PGU is an RGB streamer that reads the data from a
> > +framebuffer and sends it to a single digital encoder (usually HDMI).
> > +
> > +Required properties:
> > + - compatible: "snps,arcpgu"
> > + - reg: Physical base address and length of the controller's registers.
> > + - clocks: A list of phandle + clock-specifier pairs, one for each
> > + entry in 'clock-names'.
> > + - clock-names: A list of clock names. For ARC PGU it should contain:
> > + - "pxlclk" for the clock feeding the output PLL of the controller.
> > +
> > +Required sub-nodes:
> > + - port: The PGU connection to an encoder chip. The connection is modelled
> > + using the OF graph bindings specified in
> > + Documentation/devicetree/bindings/graph.txt.
> > +
> > +Example:
> > +
> > +/ {
> > + ...
> > +
> > + pgu@XXXXXXXX {
> > + compatible = "snps,arcpgu";
> > + reg = <0xXXXXXXXX 0x400>;
> > + clocks = <&clock_node>;
> > + clock-names = "pxlclk";
> Where's the port? Didn't you previously say it was optional?
Well I wanted to get rid of anything except bare minimal that is required for
that driver.
What I did miss in that clean-up is description above.
In particular "Required subnodes" section that still lists "port".
And frankly now I'm a bit lost with what should I put in that binding
description and what should not. Any comments here are much appreciated.
-Alexey--
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] 5+ messages in thread
* [PATCH 3/4 v2] arc: axs10x - add support of ARC PGU
2016-03-03 14:39 [PATCH 0/4 v2] drm: Add support of ARC PGU display controller Alexey Brodkin
2016-03-03 14:39 ` [PATCH 2/4 v2] drm: Add DT bindings documentation for " Alexey Brodkin
@ 2016-03-03 14:39 ` Alexey Brodkin
1 sibling, 0 replies; 5+ messages in thread
From: Alexey Brodkin @ 2016-03-03 14:39 UTC (permalink / raw)
To: linux-kernel
Cc: Mark Rutland, devicetree, Pawel Moll, Ian Campbell, Vineet Gupta,
Alexey Brodkin, Rob Herring, Kumar Gala, linux-snps-arc
Synopsys DesignWare ARC SDP boards sport ARC SDP display
controller attached to ADV7511 HDMI encoder.
That change adds desctiption of both ARC PGU and ADV7511 in
ARC SDP'd base-board Device Tree.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: devicetree@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
---
Changes v1 -> v2:
* Added missing "pxlclk" clock in axs10x_mb.dtsi
arch/arc/boot/dts/axs10x_mb.dtsi | 61 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index 44a578c..6e639c9 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -34,6 +34,12 @@
clock-frequency = <50000000>;
#clock-cells = <0>;
};
+
+ pguclk: pguclk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <74440000>;
+ };
};
ethernet@0x18000 {
@@ -147,6 +153,37 @@
clocks = <&i2cclk>;
interrupts = <16>;
+ adv7511:adv7511@0x39{
+ compatible="adi,adv7511";
+ reg = <0x39>;
+ interrupts = <23>;
+ adi,input-depth = <8>;
+ adi,input-colorspace = "rgb";
+ adi,input-clock = "1x";
+ adi,clock-delay = <0x03>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* RGB/YUV input */
+ port@0 {
+ reg = <0>;
+ adv7511_input:endpoint {
+ remote-endpoint = <&pgu_output>;
+ };
+ };
+
+ /* HDMI output */
+ port@1 {
+ reg = <1>;
+ adv7511_output: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+
eeprom@0x54{
compatible = "24c01";
reg = <0x54>;
@@ -160,6 +197,16 @@
};
};
+ hdmi0: connector {
+ compatible = "hdmi-connector";
+ type = "a";
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&adv7511_output>;
+ };
+ };
+ };
+
gpio0:gpio@13000 {
compatible = "snps,dw-apb-gpio";
reg = <0x13000 0x1000>;
@@ -221,5 +268,19 @@
reg = <2>;
};
};
+
+ pgu@0x17000 {
+ compatible = "snps,arcpgu";
+ reg = <0x17000 0x400>;
+ encoder-slave = <&adv7511>;
+ clocks = <&pguclk>;
+ clock-names = "pxlclk";
+
+ port {
+ pgu_output: endpoint {
+ remote-endpoint = <&adv7511_input>;
+ };
+ };
+ };
};
};
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-03-07 14:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-03 14:39 [PATCH 0/4 v2] drm: Add support of ARC PGU display controller Alexey Brodkin
2016-03-03 14:39 ` [PATCH 2/4 v2] drm: Add DT bindings documentation for " Alexey Brodkin
2016-03-05 4:30 ` Rob Herring
2016-03-07 14:53 ` Alexey Brodkin
2016-03-03 14:39 ` [PATCH 3/4 v2] arc: axs10x - add support of ARC PGU Alexey Brodkin
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).