mbox series

[0/4] Add SimpleFB support for Allwinner H3 SoC

Message ID 20170911155529.62891-1-icenowy@aosc.io
Headers show
Series Add SimpleFB support for Allwinner H3 SoC | expand

Message

Icenowy Zheng Sept. 11, 2017, 3:55 p.m. UTC
This patchset adds devicetree-side support of SimpleFB on Allwinner H3
SoC.

The DE2 CCU is initialized and used by the SimpleFB node, in order to
furtherly coexist with the DRM code.

The first patch adds pipelines for DE2 displays in simplefb-sunxi
device tree binding.

The second patch adds DE2 CCU device node for H3 SoC, and the skeleton
of the node enters the H3/H5 common DTSI; the H5 support is splited
into the third patch, as they will enter different tree.

The fourth patch finally adds simplefb nodes, using the
pipeline strings introduced in the first patch.

Icenowy Zheng (4):
  dt-bindings: simplefb-sunxi: add pipelines for DE2
  ARM: sun8i: h3/h5: add DE2 CCU device node for H3
  arm64: allwinner: h5: add compatible string for DE2 CCU
  ARM: sunxi: h3/h5: add simplefb nodes

 .../bindings/display/simple-framebuffer-sunxi.txt  |  4 ++
 arch/arm/boot/dts/sun8i-h3.dtsi                    |  4 ++
 arch/arm/boot/dts/sunxi-h3-h5.dtsi                 | 43 ++++++++++++++++++++++
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi       |  4 ++
 4 files changed, 55 insertions(+)

Comments

Julian Calaby Sept. 17, 2017, 2:34 a.m. UTC | #1
Hi Icenowy,

On Tue, Sep 12, 2017 at 1:55 AM, Icenowy Zheng <icenowy@aosc.io> wrote:
> The DE2 in H3/H5 has a clock control unit in it, and the behavior is
> slightly different between H3 and H5.
>
> Add the common parts in H3/H5 DTSI, and add the compatible string in H3
> DTSI.
>
> The compatible string of H5 DE2 CCU will be added in a separated patch.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
>  arch/arm/boot/dts/sun8i-h3.dtsi    |  4 ++++
>  arch/arm/boot/dts/sunxi-h3-h5.dtsi | 14 ++++++++++++++
>  2 files changed, 18 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> index 11240a8313c2..76a4cbc99bdb 100644
> --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> @@ -85,6 +87,18 @@
>                 #size-cells = <1>;
>                 ranges;
>
> +               display_clocks: clock@1000000 {
> +                       /* compatible is in per SoC .dtsi file */

I don't know device tree very well, but shouldn't this node be
disabled so that it doesn't do anything weird on H5? Or are nodes
without compatibles ignored?

Thanks,
Julian Calaby Sept. 17, 2017, 2:35 a.m. UTC | #2
Hi Icenowy,

On Tue, Sep 12, 2017 at 1:55 AM, Icenowy Zheng <icenowy@aosc.io> wrote:
> The DE2 CCU on Allwinner H5 SoC has a slightly different behavior than
> the one on H3, so the compatible string is not set in the common DTSI
> file.
>
> Add the compatible string of H5 DE2 CCU in H5 DTSI file.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
> index d9a720bff05d..e237c05cfdb4 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
> @@ -98,6 +98,10 @@
>         compatible = "allwinner,sun50i-h5-ccu";
>  };
>
> +&display_clocks {
> +       compatible = "allwinner,sun50i-h5-de2-clk";
> +};
> +

This is what I get for reviewing before reading the full patch set.

Shouldn't this be rolled into the previous patch?

Thanks,
Icenowy Zheng Oct. 27, 2017, 4:07 a.m. UTC | #3
在 2017-09-11 23:55,Icenowy Zheng 写道:
> This patchset adds devicetree-side support of SimpleFB on Allwinner H3
> SoC.
> 
> The DE2 CCU is initialized and used by the SimpleFB node, in order to
> furtherly coexist with the DRM code.
> 
> The first patch adds pipelines for DE2 displays in simplefb-sunxi
> device tree binding.
> 
> The second patch adds DE2 CCU device node for H3 SoC, and the skeleton
> of the node enters the H3/H5 common DTSI; the H5 support is splited
> into the third patch, as they will enter different tree.
> 
> The fourth patch finally adds simplefb nodes, using the
> pipeline strings introduced in the first patch.
> 
> Icenowy Zheng (4):
>   dt-bindings: simplefb-sunxi: add pipelines for DE2
>   ARM: sun8i: h3/h5: add DE2 CCU device node for H3
>   arm64: allwinner: h5: add compatible string for DE2 CCU
>   ARM: sunxi: h3/h5: add simplefb nodes

Maxime,
as the U-Boot side is applied to u-boot-video, could you take a look at 
this
patchset?

Thanks!
Icenowy

> 
>  .../bindings/display/simple-framebuffer-sunxi.txt  |  4 ++
>  arch/arm/boot/dts/sun8i-h3.dtsi                    |  4 ++
>  arch/arm/boot/dts/sunxi-h3-h5.dtsi                 | 43 
> ++++++++++++++++++++++
>  arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi       |  4 ++
>  4 files changed, 55 insertions(+)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Icenowy Zheng Oct. 27, 2017, 8:01 a.m. UTC | #4
在 2017-09-11 23:55,Icenowy Zheng 写道:
> The DE2 in H3/H5 has a clock control unit in it, and the behavior is
> slightly different between H3 and H5.
> 
> Add the common parts in H3/H5 DTSI, and add the compatible string in H3
> DTSI.
> 
> The compatible string of H5 DE2 CCU will be added in a separated patch.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
>  arch/arm/boot/dts/sun8i-h3.dtsi    |  4 ++++
>  arch/arm/boot/dts/sunxi-h3-h5.dtsi | 14 ++++++++++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi 
> b/arch/arm/boot/dts/sun8i-h3.dtsi
> index b36f9f423c39..a8a1db79f362 100644
> --- a/arch/arm/boot/dts/sun8i-h3.dtsi
> +++ b/arch/arm/boot/dts/sun8i-h3.dtsi
> @@ -85,6 +85,10 @@
>  	compatible = "allwinner,sun8i-h3-ccu";
>  };
> 
> +&display_clocks {
> +	compatible = "allwinner,sun8i-a83t-de2-clk";

Sorry, this compatible is wrong.

Please wait for my new version of this patchset to add a
allwinner,sun8i-h3-de2-clk and use it.

(A83T doesn't have DE mod clk, but H3 has)

> +};
> +
>  &mmc0 {
>  	compatible = "allwinner,sun7i-a20-mmc";
>  	clocks = <&ccu CLK_BUS_MMC0>,
> diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> index 11240a8313c2..76a4cbc99bdb 100644
> --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
> @@ -40,9 +40,11 @@
>   *     OTHER DEALINGS IN THE SOFTWARE.
>   */
> 
> +#include <dt-bindings/clock/sun8i-de2.h>
>  #include <dt-bindings/clock/sun8i-h3-ccu.h>
>  #include <dt-bindings/clock/sun8i-r-ccu.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/reset/sun8i-de2.h>
>  #include <dt-bindings/reset/sun8i-h3-ccu.h>
>  #include <dt-bindings/reset/sun8i-r-ccu.h>
> 
> @@ -85,6 +87,18 @@
>  		#size-cells = <1>;
>  		ranges;
> 
> +		display_clocks: clock@1000000 {
> +			/* compatible is in per SoC .dtsi file */
> +			reg = <0x01000000 0x100000>;
> +			clocks = <&ccu CLK_DE>,
> +				 <&ccu CLK_BUS_DE>;
> +			clock-names = "mod",
> +				      "bus";
> +			resets = <&ccu RST_BUS_DE>;
> +			#clock-cells = <1>;
> +			#reset-cells = <1>;
> +		};
> +
>  		syscon: syscon@1c00000 {
>  			compatible = "allwinner,sun8i-h3-system-controller",
>  				"syscon";
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html