This patch series adds support for simplefb for the GXBB and GXL chips.
simple-framebuffer allows sharing a framebuffer already setup by the
firmware to the kernel for a seamless boot transition.
It goes along with a u-boot patch series adding display support to
GXBB & GXL [3].
Changes since v2 [2]:
- Renamed bindings file to "amlogic,simple-framebuffer.txt"
Changes since v1 [1]:
- added cover letter
- added simple-framebuffer compatible fallback to the bindings
- Updated node names and removed the unit-address
- Consolidated base nodes in meson-gx.dtsi
[1] https://patchwork.kernel.org/patch/10720879/
[2] https://patchwork.kernel.org/cover/10750205/
[3] https://patchwork.ozlabs.org/project/uboot/list/?series=86214
Maxime Jourdan (2):
dt-bindings: meson: add specific simplefb bindings
arm64: dts: meson-gx: add support for simplefb
.../display/amlogic,simple-framebuffer.txt | 33 +++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 22 +++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 6 ++++
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 6 ++++
4 files changed, 67 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/amlogic,simple-framebuffer.txt
--
2.20.1
Similar to simple-framebuffer-sunxi, we support different display pipelines
that the firmware is free to choose from.
This documents the "amlogic,simple-framebuffer" compatible and the
"amlogic,pipeline" extension.
Reviewed-by: Rob Herring <[email protected]>
Signed-off-by: Maxime Jourdan <[email protected]>
---
.../display/amlogic,simple-framebuffer.txt | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/amlogic,simple-framebuffer.txt
diff --git a/Documentation/devicetree/bindings/display/amlogic,simple-framebuffer.txt b/Documentation/devicetree/bindings/display/amlogic,simple-framebuffer.txt
new file mode 100644
index 000000000000..aaa6c24c8e70
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/amlogic,simple-framebuffer.txt
@@ -0,0 +1,33 @@
+Meson specific Simple Framebuffer bindings
+
+This binding documents meson specific extensions to the simple-framebuffer
+bindings. The meson simplefb u-boot code relies on the devicetree containing
+pre-populated simplefb nodes.
+
+These extensions are intended so that u-boot can select the right node based
+on which pipeline is being used. As such they are solely intended for
+firmware / bootloader use, and the OS should ignore them.
+
+Required properties:
+- compatible: "amlogic,simple-framebuffer", "simple-framebuffer"
+- amlogic,pipeline, one of:
+ "vpu-cvbs"
+ "vpu-hdmi"
+
+Example:
+
+chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ simplefb_hdmi: framebuffer-hdmi {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-hdmi";
+ clocks = <&clkc CLKID_HDMI_PCLK>,
+ <&clkc CLKID_CLK81>,
+ <&clkc CLKID_GCLK_VENCI_INT0>;
+ power-domains = <&pwrc_vpu>;
+ };
+};
--
2.20.1
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.
Signed-off-by: Maxime Jourdan <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 22 +++++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 6 ++++++
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 6 ++++++
3 files changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 44c5c51ff1fa..a6ffdbba37b9 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -50,6 +50,28 @@
};
};
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ simplefb_cvbs: framebuffer-cvbs {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-cvbs";
+ power-domains = <&pwrc_vpu>;
+ status = "disabled";
+ };
+
+ simplefb_hdmi: framebuffer-hdmi {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-hdmi";
+ power-domains = <&pwrc_vpu>;
+ status = "disabled";
+ };
+ };
+
cpus {
#address-cells = <0x2>;
#size-cells = <0x0>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index a7b883ced0a8..a60d3652beee 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -784,6 +784,12 @@
resets = <&reset RESET_SD_EMMC_C>;
};
+&simplefb_hdmi {
+ clocks = <&clkc CLKID_HDMI_PCLK>,
+ <&clkc CLKID_CLK81>,
+ <&clkc CLKID_GCLK_VENCI_INT0>;
+};
+
&spicc {
clocks = <&clkc CLKID_SPICC>;
clock-names = "core";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index d5c3d78aafeb..3093ae421b17 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -787,6 +787,12 @@
resets = <&reset RESET_SD_EMMC_C>;
};
+&simplefb_hdmi {
+ clocks = <&clkc CLKID_HDMI_PCLK>,
+ <&clkc CLKID_CLK81>,
+ <&clkc CLKID_GCLK_VENCI_INT0>;
+};
+
&spicc {
clocks = <&clkc CLKID_SPICC>;
clock-names = "core";
--
2.20.1
Maxime Jourdan <[email protected]> writes:
> This patch series adds support for simplefb for the GXBB and GXL chips.
>
> simple-framebuffer allows sharing a framebuffer already setup by the
> firmware to the kernel for a seamless boot transition.
>
> It goes along with a u-boot patch series adding display support to
> GXBB & GXL [3].
>
Queued for v5.1 (branch: v5.1/dt64)
Kevin