2018-12-10 09:10:08

by Maxime Jourdan

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: meson: add specific simplefb bindings

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.

Signed-off-by: Maxime Jourdan <[email protected]>
---
.../display/simple-framebuffer-meson.txt | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt

diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
new file mode 100644
index 000000000000..122a5c005cd9
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.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"
+- amlogic,pipeline, one of:
+ "vpu-cvbs"
+ "vpu-hdmi"
+
+Example:
+
+chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ framebuffer@0 {
+ 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.19.2



2018-12-10 09:08:56

by Maxime Jourdan

[permalink] [raw]
Subject: [PATCH 2/2] arm64: dts: meson-gx: 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.

Signed-off-by: Maxime Jourdan <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 25 +++++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 25 +++++++++++++++++++++
2 files changed, 50 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 1ade7e486828..4bc7dd5ba141 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -13,6 +13,31 @@
/ {
compatible = "amlogic,meson-gxbb";

+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ framebuffer@0 {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-cvbs";
+ power-domains = <&pwrc_vpu>;
+ status = "disabled";
+ };
+
+ framebuffer@1 {
+ 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>;
+ status = "disabled";
+ };
+ };
+
soc {
usb0_phy: phy@c0000000 {
compatible = "amlogic,meson-gxbb-usb2-phy";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index 8f0bb3c44bd6..f7ef8e0cf96e 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -13,6 +13,31 @@
/ {
compatible = "amlogic,meson-gxl";

+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ framebuffer@0 {
+ compatible = "amlogic,simple-framebuffer",
+ "simple-framebuffer";
+ amlogic,pipeline = "vpu-cvbs";
+ power-domains = <&pwrc_vpu>;
+ status = "disabled";
+ };
+
+ framebuffer@1 {
+ 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>;
+ status = "disabled";
+ };
+ };
+
soc {
usb0: usb@c9000000 {
status = "disabled";
--
2.19.2


2018-12-12 09:57:11

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: meson: add specific simplefb bindings

Hi Maxime,

On 10/12/2018 10:06, Maxime Jourdan wrote:
> 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.
>
> Signed-off-by: Maxime Jourdan <[email protected]>
> ---
> .../display/simple-framebuffer-meson.txt | 33 +++++++++++++++++++
> 1 file changed, 33 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
>
> diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
> new file mode 100644
> index 000000000000..122a5c005cd9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.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"
> +- amlogic,pipeline, one of:
> + "vpu-cvbs"
> + "vpu-hdmi"
> +
> +Example:
> +
> +chosen {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + framebuffer@0 {
> + 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>;
> + };
> +};
>

You should add a cover-letter for this patchset !

Neil

2018-12-12 13:30:50

by Maxime Jourdan

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: meson: add specific simplefb bindings

Hi Neil,
On Wed, Dec 12, 2018 at 10:54 AM Neil Armstrong <[email protected]> wrote:
>
> Hi Maxime,
>
> On 10/12/2018 10:06, Maxime Jourdan wrote:
> > 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.
> >
> > Signed-off-by: Maxime Jourdan <[email protected]>
> > ---
> > .../display/simple-framebuffer-meson.txt | 33 +++++++++++++++++++
> > 1 file changed, 33 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
> >
> > diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
> > new file mode 100644
> > index 000000000000..122a5c005cd9
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.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"
> > +- amlogic,pipeline, one of:
> > + "vpu-cvbs"
> > + "vpu-hdmi"
> > +
> > +Example:
> > +
> > +chosen {
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > + ranges;
> > +
> > + framebuffer@0 {
> > + 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>;
> > + };
> > +};
> >
>
> You should add a cover-letter for this patchset !
>
> Neil

Sorry about that, I completely forgot. Thanks for the reminder, will repost.

Maxime

2018-12-21 06:53:16

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: meson: add specific simplefb bindings

On Mon, Dec 10, 2018 at 10:06:39AM +0100, Maxime Jourdan wrote:
> 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.
>
> Signed-off-by: Maxime Jourdan <[email protected]>
> ---
> .../display/simple-framebuffer-meson.txt | 33 +++++++++++++++++++
> 1 file changed, 33 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
>
> diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.txt
> new file mode 100644
> index 000000000000..122a5c005cd9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/simple-framebuffer-meson.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"

And a fallback?

> +- amlogic,pipeline, one of:
> + "vpu-cvbs"
> + "vpu-hdmi"
> +
> +Example:
> +
> +chosen {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + framebuffer@0 {

Without 'reg', you shouldn't have a unit-address.

> + 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.19.2
>