From: jernej.skrabec@siol.net (Jernej Škrabec)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-sunxi] [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline
Date: Thu, 26 Jul 2018 20:01:10 +0200 [thread overview]
Message-ID: <1705510.X61WvWzHFo@jernej-laptop> (raw)
In-Reply-To: <20180726171257.6688-8-icenowy@aosc.io>
Dne ?etrtek, 26. julij 2018 ob 19:12:54 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
>
> Allwinner A64 have a display pipeline with 2 mixers/TCONs, the first
> TCON is connected to LCD and the second is to HDMI.
>
> The HDMI controller/PHY pair is similar to the one on H3/H5, but have
> two video PLLs selectable.
>
> Add all required device tree nodes of the display pipeline, including
> the TCON0 LCD one and the TCON1 HDMI one.
>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> [Icenowy: refactor commit message and add 1st pipeline]
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes for v3.1:
> - Refactor commit message to make it more clear.
> - Added first pipeline (mixer0 -> tcon0)
> Changes for v3:
> - Squash all pipeline components in one patch
> - Add status for mixer1 and tcon1
> Changes for v2:
> - Change compatibles and other based on previous patch changes
>
> arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 169 ++++++++++++++++++
> 1 file changed, 169 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi index
> d3daf90a8715..fe9cc673fe07 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> @@ -112,6 +112,12 @@
> };
> };
>
> + de: display-engine {
> + compatible = "allwinner,sun50i-a64-display-engine";
> + allwinner,pipelines = <&mixer1>;
> + status = "disabled";
> + };
> +
> osc24M: osc24M_clk {
> #clock-cells = <0>;
> compatible = "fixed-clock";
> @@ -194,6 +200,55 @@
> #clock-cells = <1>;
> #reset-cells = <1>;
> };
> +
> + mixer0: mixer at 100000 {
> + compatible = "allwinner,sun50i-a64-de2-mixer-0";
> + reg = <0x100000 0x100000>;
> + clocks = <&display_clocks CLK_BUS_MIXER0>,
> + <&display_clocks CLK_MIXER0>;
> + clock-names = "bus",
> + "mod";
> + resets = <&display_clocks RST_MIXER0>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + mixer0_out: port at 1 {
> + reg = <1>;
> +
> + mixer0_out_tcon0: endpoint {
> + remote-endpoint = <&tcon0_in_mixer0>;
> + };
> + };
> + };
> + };
> +
> + mixer1: mixer at 200000 {
> + compatible = "allwinner,sun50i-a64-de2-mixer-1";
> + reg = <0x200000 0x100000>;
> + clocks = <&display_clocks CLK_BUS_MIXER1>,
> + <&display_clocks CLK_MIXER1>;
> + clock-names = "bus",
> + "mod";
> + /* The reset line is shared */
> + resets = <&display_clocks RST_WB>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + mixer1_out: port at 1 {
> + reg = <1>;
> +
> + mixer1_out_tcon1: endpoint {
> + remote-endpoint = <&tcon1_in_mixer1>;
> + };
> + };
> + };
> + };
> };
>
> syscon: syscon at 1c00000 {
> @@ -228,6 +283,76 @@
> #dma-cells = <1>;
> };
>
> + tcon0: lcd-controller at 1c0c000 {
> + compatible = "allwinner,sun50i-a64-tcon-lcd",
> + "allwinner,sun8i-a83t-tcon-lcd";
> + reg = <0x01c0c000 0x1000>;
> + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
> + clock-names = "ahb", "tcon-ch0";
> + clock-output-names = "tcon-pixel-clock";
> + resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
> + reset-names = "lcd", "lvds";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tcon0_in: port at 0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + tcon0_in_mixer0: endpoint at 0 {
> + reg = <0>;
> + remote-endpoint = <&mixer0_out_tcon0>;
> + };
> + };
> +
> + tcon0_out: port at 1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> + };
> + };
> + };
> +
> + tcon1: lcd-controller at 1c0d000 {
> + compatible = "allwinner,sun50i-a64-tcon-tv",
> + "allwinner,sun8i-a83t-tcon-tv";
> + reg = <0x01c0d000 0x1000>;
> + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
> + clock-names = "ahb", "tcon-ch1";
> + resets = <&ccu RST_BUS_TCON1>;
> + reset-names = "lcd";
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tcon1_in: port at 0 {
> + reg = <0>;
> +
> + tcon1_in_mixer1: endpoint {
> + remote-endpoint = <&mixer1_out_tcon1>;
> + };
> + };
> +
> + tcon1_out: port at 1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> +
> + tcon1_out_hdmi: endpoint at 1 {
> + reg = <1>;
> + remote-endpoint = <&hdmi_in_tcon1>;
> + };
> + };
> + };
> + };
> +
> mmc0: mmc at 1c0f000 {
> compatible = "allwinner,sun50i-a64-mmc";
> reg = <0x01c0f000 0x1000>;
> @@ -686,6 +811,50 @@
> status = "disabled";
> };
>
> + hdmi: hdmi at 1ee0000 {
> + compatible = "allwinner,sun50i-a64-dw-hdmi",
> + "allwinner,sun8i-a83t-dw-hdmi";
> + reg = <0x01ee0000 0x10000>;
> + reg-io-width = <1>;
> + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
> + <&ccu CLK_HDMI>;
> + clock-names = "iahb", "isfr", "tmds";
> + resets = <&ccu RST_BUS_HDMI1>;
> + reset-names = "ctrl";
> + phys = <&hdmi_phy>;
> + phy-names = "hdmi-phy";
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hdmi_in: port at 0 {
> + reg = <0>;
> +
> + hdmi_in_tcon1: endpoint {
> + remote-endpoint = <&tcon1_out_hdmi>;
> + };
> + };
> +
> + hdmi_out: port at 1 {
> + reg = <1>;
> + };
> + };
> + };
> +
> + hdmi_phy: hdmi-phy at 1ef0000 {
> + compatible = "allwinner,sun50i-a64-hdmi-phy";
> + reg = <0x01ef0000 0x10000>;
> + clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
> + <&ccu CLK_PLL_VIDEO0>, <&ccu CLK_PLL_VIDEO1>;
You should use numbers directly for easier merging through different trees.
Best regards,
Jernej
> + clock-names = "bus", "mod", "pll-0", "pll-1";
> + resets = <&ccu RST_BUS_HDMI0>;
> + reset-names = "phy";
> + #phy-cells = <0>;
> + };
> +
> rtc: rtc at 1f00000 {
> compatible = "allwinner,sun6i-a31-rtc";
> reg = <0x01f00000 0x54>;
next prev parent reply other threads:[~2018-07-26 18:01 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
2018-07-26 17:53 ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 02/10] dt-bindings: display: Add compatible for A64 DE2 display pipeline Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers Icenowy Zheng
2018-07-26 17:56 ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 04/10] drm/sun4i: Add support for A64 display engine Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 05/10] dt-bindings: display: Add compatible for A64 HDMI Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros Icenowy Zheng
2018-07-26 17:59 ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
2018-07-26 18:01 ` Jernej Škrabec [this message]
2018-07-27 15:42 ` Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi Icenowy Zheng
2018-07-30 23:12 ` Rob Herring
2018-07-30 23:51 ` Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 09/10] drm/sun4i: Add support for HDMI voltage regulator Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
2018-07-26 18:03 ` [linux-sunxi] " Jernej Škrabec
2018-07-27 0:44 ` Icenowy Zheng
2018-07-27 12:56 ` Maxime Ripard
2018-07-27 13:26 ` Icenowy Zheng
2018-07-27 13:57 ` Jagan Teki
2018-07-27 14:11 ` [linux-sunxi] " Icenowy Zheng
2018-07-27 14:20 ` Icenowy Zheng
2018-07-27 14:00 ` Maxime Ripard
2018-07-27 15:42 ` Icenowy Zheng
2018-07-27 15:44 ` [linux-sunxi] " Jernej Škrabec
2018-07-27 12:59 ` [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1705510.X61WvWzHFo@jernej-laptop \
--to=jernej.skrabec@siol.net \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox