Message ID | 20220406082330.2681591-1-peng.fan@oss.nxp.com |
---|---|
Headers | show |
Series | imx: support noc settings with power domain | expand |
Hi Peng, Thank you for the patch. On Wed, Apr 06, 2022 at 04:23:26PM +0800, Peng Fan (OSS) wrote: > From: Peng Fan <peng.fan@nxp.com> > > i.MX8MP features same NoC/NIC as i.MX8MM/N/Q, and use two compatible > strings. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > .../devicetree/bindings/interconnect/fsl,imx8m-noc.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml b/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > index b8204ed22dd5..0923cd28d6c6 100644 > --- a/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > +++ b/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > @@ -26,16 +26,22 @@ properties: > oneOf: > - items: > - enum: > + - fsl,imx8mp-nic > - fsl,imx8mn-nic > - fsl,imx8mm-nic > - fsl,imx8mq-nic Alphabetical order would be nice here, maybe you could sort those entries while at it ? > - const: fsl,imx8m-nic Why do we need both -nic and -noc versions of the compatible string btw ? The imx-bus driver matches on { .compatible = "fsl,imx8mq-noc", .data = "imx8mq-interconnect", }, { .compatible = "fsl,imx8mm-noc", .data = "imx8mm-interconnect", }, { .compatible = "fsl,imx8mn-noc", .data = "imx8mn-interconnect", }, { .compatible = "fsl,imx8m-noc", }, { .compatible = "fsl,imx8m-nic", }, > - items: > - enum: > + - fsl,imx8mp-noc > - fsl,imx8mn-noc > - fsl,imx8mm-noc > - fsl,imx8mq-noc Same here. > - const: fsl,imx8m-noc > + - items: > + - const: fsl,imx8mp-noc > + - const: fsl,imx8m-noc > + - const: syscon Do we want to support both compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc"; and compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc", "syscon"; or we can pick one of the two (the latter one in that case I suppose) ? > - const: fsl,imx8m-nic > > reg:
Hi Peng, Am Mittwoch, dem 06.04.2022 um 16:23 +0800 schrieb Peng Fan (OSS): > From: Peng Fan <peng.fan@nxp.com> > > i.MX8MP has a design that NoC(Not main NoC) is distributed in multiple > blocks, such as vpumix, hsiomix and etc. The access to NoC requires > power domain on and blk ctrl settings configured. > > So the design here is for mixes that not have blk-ctrl, configure > the NoC in gpcv2 driver, for mixes that have blk-ctrl, configure > the NoC in blk-ctrl drivers. > > This v1 patchset not apply on Shawn's tree, I picked up Lucas's HSIO > and Laurent's mediablk patches, then worked out this patchset: > https://github.com/MrVan/linux/tree/noc-imx8mp > > Note: This interconnect related functions not added. This patchset > is only to replace the function did in NXP downstream: > https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx8mp/gpc.c?h=lf_v2.4#n157 As a general comment I think this is implemented the wrong way around. Neither GPC, nor the blk-ctrl should poke into the NoC registers directly. The NoC driver should attach itself to the power domain via a notifier (same as the blk-ctrl does with the GPC domains) and should do the necessary NoC configuration when the power domain is powered up. Regards, Lucas > > Peng Fan (5): > dt-bindings: interconnect: imx8m: Add bindings for imx8mp noc > arm64: dts: imx8mp: add noc node > soc: imx: gpcv2: support i.MX8MP NoC settings > soc: imx: imx8m-blk-ctrl: support i.MX8MP media blk ctrl noc settings > soc: imx: imx8mp-blk-ctrl: introduce HSIO blk ctrl noc settings > > .../bindings/interconnect/fsl,imx8m-noc.yaml | 6 + > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 7 ++ > drivers/soc/imx/gpcv2.c | 56 ++++++++- > drivers/soc/imx/imx8m-blk-ctrl.c | 109 ++++++++++++++++++ > drivers/soc/imx/imx8mp-blk-ctrl.c | 74 ++++++++++++ > 5 files changed, 251 insertions(+), 1 deletion(-) >
> Subject: Re: [PATCH 1/5] dt-bindings: interconnect: imx8m: Add bindings for > imx8mp noc > > Hi Peng, > > Thank you for the patch. > > On Wed, Apr 06, 2022 at 04:23:26PM +0800, Peng Fan (OSS) wrote: > > From: Peng Fan <peng.fan@nxp.com> > > > > i.MX8MP features same NoC/NIC as i.MX8MM/N/Q, and use two > compatible > > strings. > > > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > > --- > > .../devicetree/bindings/interconnect/fsl,imx8m-noc.yaml | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git > > a/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > > b/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > > index b8204ed22dd5..0923cd28d6c6 100644 > > --- > > a/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yaml > > +++ > b/Documentation/devicetree/bindings/interconnect/fsl,imx8m-noc.yam > > +++ l > > @@ -26,16 +26,22 @@ properties: > > oneOf: > > - items: > > - enum: > > + - fsl,imx8mp-nic > > - fsl,imx8mn-nic > > - fsl,imx8mm-nic > > - fsl,imx8mq-nic > > Alphabetical order would be nice here, maybe you could sort those entries > while at it ? Sure. > > > - const: fsl,imx8m-nic > > Why do we need both -nic and -noc versions of the compatible string btw ? > The imx-bus driver matches on There is NoC and PL301 NIC in i.MX8M*. > > { .compatible = "fsl,imx8mq-noc", .data = "imx8mq-interconnect", }, > { .compatible = "fsl,imx8mm-noc", .data = "imx8mm-interconnect", }, > { .compatible = "fsl,imx8mn-noc", .data = "imx8mn-interconnect", }, > { .compatible = "fsl,imx8m-noc", }, > { .compatible = "fsl,imx8m-nic", }, > > > - items: > > - enum: > > + - fsl,imx8mp-noc > > - fsl,imx8mn-noc > > - fsl,imx8mm-noc > > - fsl,imx8mq-noc > > Same here. > > > - const: fsl,imx8m-noc > > + - items: > > + - const: fsl,imx8mp-noc > > + - const: fsl,imx8m-noc > > + - const: syscon > > Do we want to support both > > compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc"; > > and > > compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc", "syscon"; > > or we can pick one of the two (the latter one in that case I suppose) ? Latter one should be ok. Thanks Peng. > > > - const: fsl,imx8m-nic > > > > reg: > > -- > Regards, > > Laurent Pinchart
From: Peng Fan <peng.fan@nxp.com> i.MX8MP has a design that NoC(Not main NoC) is distributed in multiple blocks, such as vpumix, hsiomix and etc. The access to NoC requires power domain on and blk ctrl settings configured. So the design here is for mixes that not have blk-ctrl, configure the NoC in gpcv2 driver, for mixes that have blk-ctrl, configure the NoC in blk-ctrl drivers. This v1 patchset not apply on Shawn's tree, I picked up Lucas's HSIO and Laurent's mediablk patches, then worked out this patchset: https://github.com/MrVan/linux/tree/noc-imx8mp Note: This interconnect related functions not added. This patchset is only to replace the function did in NXP downstream: https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx8mp/gpc.c?h=lf_v2.4#n157 Peng Fan (5): dt-bindings: interconnect: imx8m: Add bindings for imx8mp noc arm64: dts: imx8mp: add noc node soc: imx: gpcv2: support i.MX8MP NoC settings soc: imx: imx8m-blk-ctrl: support i.MX8MP media blk ctrl noc settings soc: imx: imx8mp-blk-ctrl: introduce HSIO blk ctrl noc settings .../bindings/interconnect/fsl,imx8m-noc.yaml | 6 + arch/arm64/boot/dts/freescale/imx8mp.dtsi | 7 ++ drivers/soc/imx/gpcv2.c | 56 ++++++++- drivers/soc/imx/imx8m-blk-ctrl.c | 109 ++++++++++++++++++ drivers/soc/imx/imx8mp-blk-ctrl.c | 74 ++++++++++++ 5 files changed, 251 insertions(+), 1 deletion(-)