Re: [PATCH V5 0/4] soc: imx: add i.MX BLK-CTL support
From: Adam Ford <hidden>
Date: 2021-05-22 02:32:36
Also in:
linux-devicetree, lkml
On Fri, May 21, 2021 at 7:54 PM Peng Fan [off-list ref] wrote:
quoted
Subject: Re: [PATCH V5 0/4] soc: imx: add i.MX BLK-CTL support On Fri, May 21, 2021 at 5:27 AM Peng Fan (OSS) [off-list ref] wrote:quoted
From: Peng Fan <peng.fan@nxp.com> V5: Rework the blk-ctl driver to let sub-PGC use blk-ctl as parent power domain to fix the potential handshake issue. I still keep R-b/A-b tag for Patch 1,2,4, since very minor changes I only drop R-b tag for Patch 3, since it has big change. An example, the pgc_mipi not take pgc_dispmix as parent: pgc_dispmix: power-domain@10 { #power-domain-cells = <0>; reg = <IMX8MM_POWER_DOMAIN_DISPMIX>; clocks = <&clk IMX8MM_CLK_DISP_ROOT>, <&clk IMX8MM_CLK_DISP_AXI_ROOT>, <&clk IMX8MM_CLK_DISP_APB_ROOT>; }; pgc_mipi: power-domain@11 { #power-domain-cells = <0>; reg = <IMX8MM_POWER_DOMAIN_MIPI>; power-domains = <&dispmix_blk_ctl IMX8MM_BLK_CTL_PD_DISPMIX_BUS>;With this change, I get a bunch of errors on boot. The list of power-domains appear correct on the surface, but it also has trouble waking from sleep. [ 0.695947] imx8mm-blk-ctl imx-dispmix-blk-ctl.0: invalid resource [ 0.702849] imx8mm-blk-ctl: probe of imx-dispmix-blk-ctl.0 failed with error -22 [ 0.711259] imx8mm-blk-ctl imx-dispmix-blk-ctl.1: invalid resource [ 0.716451] imx8mm-blk-ctl: probe of imx-dispmix-blk-ctl.1 failed with error -22 [ 0.724856] imx8mm-blk-ctl imx-dispmix-blk-ctl.2: invalid resource [ 0.730097] imx8mm-blk-ctl: probe of imx-dispmix-blk-ctl.2 failed with error -22 [ 0.738398] imx8mm-blk-ctl imx-dispmix-blk-ctl.3: invalid resource [ 0.743747] imx8mm-blk-ctl: probe of imx-dispmix-blk-ctl.3 failed with error -22It is just the imx8mm-blk-ctl driver matches with the new created child device, because the child device points the of_node of the parent device. But this error will not affect functionality. I'll resolve this issue and send out v6.quoted
If I have a wrong device tree configuration, can you please post an updated device tree? I don't think an official patch for original pgc's were pushed as part of either series. I used this e-mail as the patch to enable the blk-ctl.Do you have an device tree, I could give a look.
I have a git repo where I've been collecting the various power domain patches. I have updated the imx8mn blk-ctl and device trees as well in that same repo. https://github.com/aford173/linux/blob/linux-5.13.y-aford/arch/arm64/boot/dts/freescale/imx8mm.dtsi thanks for looking at this. adam
Regards, Peng.quoted
thanks, adamquoted
}; dispmix_blk_ctl: clock-controller@32e28000 { compatible = "fsl,imx8mm-dispmix-blk-ctl", "syscon"; reg = <0x32e28000 0x100>; #power-domain-cells = <1>; power-domains = <&pgc_dispmix>, <&pgc_mipi>; power-domain-names = "dispmix", "mipi"; clocks = <&clk IMX8MM_CLK_DISP_ROOT>, <&clkIMX8MM_CLK_DISP_AXI_ROOT>,quoted
<&clk IMX8MM_CLK_DISP_APB_ROOT>; }; V4: Add R-b tag Typo fix Update the power domain macro names Per Abel and Frieder V3: Add explaination for not listing items in patch 2 commit log Per Rob. Addressed comments from Lucas and Frieder on patch [3,4]. A few comments from Jacky was ignored, because following gpcv2 coding style. V2: Fix yaml check failure. Previously there is an effort from Abel that take BLK-CTL as clock provider, but it turns out that there is A/B lock issue and we are not able resolve that. Per discuss with Lucas and Jacky, we made an agreement that take BLK-CTL as a power domain provider and use GPC's domain as parent, the consumer node take BLK-CTL as power domain input. This patchset has been tested on i.MX8MM EVK board, but one hack is not included in the patchset is that the DISPMIX BLK-CTL MIPI_M/S_RESET not implemented. Per Lucas, we will finally have a MIPI DPHY driver, so fine to leave it. Thanks for Lucas's suggestion, Frieder Schrempf for collecting all the patches, Abel's previous BLK-CTL work, Jacky Bai on help debug issues. Peng Fan (4): dt-bindings: power: Add defines for i.MX8MM BLK-CTL power domains Documentation: bindings: clk: Add bindings for i.MX BLK_CTL soc: imx: Add generic blk-ctl driver soc: imx: Add blk-ctl driver for i.MX8MM .../bindings/soc/imx/fsl,imx-blk-ctl.yaml | 66 ++++ drivers/soc/imx/Makefile | 2 +- drivers/soc/imx/blk-ctl-imx8mm.c | 139 ++++++++ drivers/soc/imx/blk-ctl.c | 311++++++++++++++++++quoted
drivers/soc/imx/blk-ctl.h | 85 +++++ include/dt-bindings/power/imx8mm-power.h | 13 + 6 files changed, 615 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx-blk-ctl.yaml create mode 100644 drivers/soc/imx/blk-ctl-imx8mm.c create mode 100644 drivers/soc/imx/blk-ctl.c create mode 100644 drivers/soc/imx/blk-ctl.h -- 2.30.0
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel