2019-10-03 14:31:38

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH] arm64: dts: meson-g12: add support for simplefb

SimpleFB allows transferring a framebuffer from the firmware/bootloader
to the kernel, while making sure the related clocks and power supplies
stay enabled.

Add nodes for CVBS and HDMI Simple Framebuffers, based on the GXBB/GXL/GXM
support at [1].

[1] 03b370357907 ("arm64: dts: meson-gx: add support for simplef")

Cc: Maxime Jourdan <[email protected]>
Signed-off-by: Neil Armstrong <[email protected]>
---
This will be handled in the in-review U-Boot Video support for G12A at [1]
and the simplefb handling code at [2] and simplefb removal in DRM driver at [3].

[1] https://patchwork.ozlabs.org/cover/1155898/
[2] https://gitlab.denx.de/u-boot/u-boot/blob/v2019.07/drivers/video/meson/meson_vpu.c#L145
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/meson/meson_drv.c?h=v5.3#n158

.../boot/dts/amlogic/meson-g12-common.dtsi | 26 +++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 8 ++++++
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 8 ++++++
3 files changed, 42 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index f76773cabdb1..21c155f4508c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -16,6 +16,32 @@
#address-cells = <2>;
#size-cells = <2>;

+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ simplefb_cvbs: framebuffer-cvbs {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-cvbs";
+ clocks = <&clkc CLKID_HDMI>,
+ <&clkc CLKID_HTX_PCLK>,
+ <&clkc CLKID_VPU_INTR>;
+ status = "disabled";
+ };
+
+ simplefb_hdmi: framebuffer-hdmi {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-hdmi";
+ clocks = <&clkc CLKID_HDMI>,
+ <&clkc CLKID_HTX_PCLK>,
+ <&clkc CLKID_VPU_INTR>;
+ status = "disabled";
+ };
+ };
+
efuse: efuse {
compatible = "amlogic,meson-gxbb-efuse";
clocks = <&clkc CLKID_EFUSE>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
index 0d9df29994f3..d80d8a982917 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi
@@ -342,3 +342,11 @@
&sd_emmc_a {
amlogic,dram-access-quirk;
};
+
+&simplefb_cvbs {
+ power-domains = <&pwrc PWRC_G12A_VPU_ID>;
+};
+
+&simplefb_hdmi {
+ power-domains = <&pwrc PWRC_G12A_VPU_ID>;
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
index 1fdc5af5ae23..f89d744c9648 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
@@ -147,6 +147,14 @@
compatible = "amlogic,meson-sm1-pwrc";
};

+&simplefb_cvbs {
+ power-domains = <&pwrc PWRC_SM1_VPU_ID>;
+};
+
+&simplefb_hdmi {
+ power-domains = <&pwrc PWRC_SM1_VPU_ID>;
+};
+
&vpu {
power-domains = <&pwrc PWRC_SM1_VPU_ID>;
};
--
2.22.0


2019-10-03 18:59:35

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: meson-g12: add support for simplefb

Neil Armstrong <[email protected]> writes:

> SimpleFB allows transferring a framebuffer from the firmware/bootloader
> to the kernel, while making sure the related clocks and power supplies
> stay enabled.
>
> Add nodes for CVBS and HDMI Simple Framebuffers, based on the GXBB/GXL/GXM
> support at [1].
>
> [1] 03b370357907 ("arm64: dts: meson-gx: add support for simplef")
>
> Cc: Maxime Jourdan <[email protected]>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> This will be handled in the in-review U-Boot Video support for G12A at [1]
> and the simplefb handling code at [2] and simplefb removal in DRM driver at [3].

Nice! This will help for the corner cases of the VPU power domain
handling.

Reviewed-by: Kevin Hilman <[email protected]>

Queuing for v5.5,

Thanks,

Kevin