Re: [PATCH v3 2/2] ARM: dts: imx6sl: Convert gpc to new bindings

From: Lucas Stach
Date: Wed Jul 11 2018 - 08:17:39 EST


Am Mittwoch, den 11.07.2018, 15:11 +0300 schrieb Leonard Crestez:
> With old bindings imx_gpc_onecell_data always sets num_domains to 2 so
> the DISPMIX domain can't actually be referenced. The pd is still defined
> and pm core shuts it down as "unused" so display can't work.
>
> Fix this by converting to new gpc bindings by adding pgc nodes and
> referencing the newly-defined &pu_disp domain from &lcdif.
>
> Signed-off-by: Leonard Crestez <leonard.crestez@xxxxxxx>

Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>

> ---
> Âarch/arm/boot/dts/imx6sl.dtsi | 35 +++++++++++++++++++++++++++++++----
> Â1 file changed, 31 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
> index 102c575a6025..49a56b4fd393 100644
> --- a/arch/arm/boot/dts/imx6sl.dtsi
> +++ b/arch/arm/boot/dts/imx6sl.dtsi
> @@ -698,14 +698,40 @@
> > Â reg = <0x020dc000 0x4000>;
> > Â interrupt-controller;
> > Â #interrupt-cells = <3>;
> > Â interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>;
> > Â interrupt-parent = <&intc>;
> > - pu-supply = <&reg_pu>;
> > - clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
> > - Â<&clks IMX6SL_CLK_GPU2D_PODF>;
> > - #power-domain-cells = <1>;
> > + clocks = <&clks IMX6SL_CLK_IPG>;
> > + clock-names = "ipg";
> +
> > + pgc {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> +
> > + power-domain@0 {
> > + reg = <0>;
> > + #power-domain-cells = <0>;
> > + };
> +
> > > + pd_pu: power-domain@1 {
> > + reg = <1>;
> > + #power-domain-cells = <0>;
> > + power-supply = <&reg_pu>;
> > + clocks = <&clks IMX6SL_CLK_GPU2D_OVG>,
> > + ÂÂÂÂÂÂÂÂÂ<&clks IMX6SL_CLK_GPU2D_PODF>;
> > + };
> +
> > > + pd_disp: power-domain@2 {
> > + reg = <2>;
> > + #power-domain-cells = <0>;
> > + clocks = <&clks IMX6SL_CLK_LCDIF_AXI>,
> > + Â<&clks IMX6SL_CLK_LCDIF_PIX>,
> > + Â<&clks IMX6SL_CLK_EPDC_AXI>,
> > + Â<&clks IMX6SL_CLK_EPDC_PIX>,
> > + Â<&clks IMX6SL_CLK_PXP_AXI>;
> > + };
> > + };
> > Â };
> Â
> > > Â gpr: iomuxc-gpr@20e0000 {
> > Â compatible = "fsl,imx6sl-iomuxc-gpr",
> > Â ÂÂÂÂÂ"fsl,imx6q-iomuxc-gpr", "syscon";
> @@ -756,10 +782,11 @@
> > Â clocks = <&clks IMX6SL_CLK_LCDIF_PIX>,
> > Â Â<&clks IMX6SL_CLK_LCDIF_AXI>,
> > Â Â<&clks IMX6SL_CLK_DUMMY>;
> > Â clock-names = "pix", "axi", "disp_axi";
> > Â status = "disabled";
> > + power-domains = <&pd_disp>;
> > Â };
> Â
> > > Â dcp: dcp@20fc000 {
> > Â compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
> > Â reg = <0x020fc000 0x4000>;