All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacky Bai <ping.bai@nxp.com>
To: Marek Vasut <marex@denx.de>, Lucas Stach <l.stach@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	"patchwork-lst@pengutronix.de" <patchwork-lst@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH 04/11] soc: imx: gpcv2: wait for ADB400 handshake
Date: Fri, 9 Oct 2020 03:05:11 +0000	[thread overview]
Message-ID: <AM0PR04MB4915964704698912AC3AEFF487080@AM0PR04MB4915.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <de6d73ea-c7dc-6405-29fb-7975368424c0@denx.de>

> -----Original Message-----
> From: Marek Vasut [mailto:marex@denx.de]
> Sent: Thursday, October 1, 2020 12:23 AM
> To: Lucas Stach <l.stach@pengutronix.de>; Shawn Guo
> <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>
> Cc: devicetree@vger.kernel.org; Frieder Schrempf
> <frieder.schrempf@kontron.de>; patchwork-lst@pengutronix.de; dl-linux-imx
> <linux-imx@nxp.com>; kernel@pengutronix.de; Fabio Estevam
> <festevam@gmail.com>; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH 04/11] soc: imx: gpcv2: wait for ADB400 handshake
> 
> On 9/30/20 6:19 PM, Lucas Stach wrote:
> > On Mi, 2020-09-30 at 18:11 +0200, Marek Vasut wrote:
> >> On 9/30/20 5:49 PM, Lucas Stach wrote:
> >>
> >> [...]
> >>
> >>> @@ -176,9 +180,19 @@ static int imx_pgc_power_up(struct
> generic_pm_domain *genpd)
> >>>  			   GPC_PGC_CTRL_PCR, 0);
> >>>
> >>>  	/* request the ADB400 to power up */
> >>> -	if (domain->bits.hsk)
> >>> +	if (domain->bits.hskreq) {
> >>>  		regmap_update_bits(domain->regmap, GPC_PU_PWRHSK,
> >>> -				   domain->bits.hsk, domain->bits.hsk);
> >>> +				   domain->bits.hskreq, domain->bits.hskreq);
> >>> +
> >>> +		ret = regmap_read_poll_timeout(domain->regmap,
> GPC_PU_PWRHSK,
> >>> +					       reg_val,
> >>> +					       (reg_val & domain->bits.hskack),
> >>> +					       0, USEC_PER_MSEC);
> >>> +		if (ret) {
> >>> +			dev_err(domain->dev, "failed to power up ADB400\n");
> >>
> >> The ADB400 is a bus bridge, so the bus is being attached here, not
> >> powered up, right ?
> >
> > The bits in the PWRHSK register are called "power down" bits, so I
> > kept this nomenclature. Also I think the ADB400 is mostly isolating
> > the bus in the power domains from the rest of the NoC, "attaching" of
> > the bus is really disabling the isolation.
> >
> > As there are multiple valid naming choices I kept the naming from the
> > RM.
> 
> Maybe NXP can finally explain what these bits really do ?

This bit is used to sync the ADB400 bridge to a known status before MIX side power down & isolation.
Detailed info can be find in ARM's ADB400 TRM.

BR
Jacky Bai


WARNING: multiple messages have this Message-ID (diff)
From: Jacky Bai <ping.bai@nxp.com>
To: Marek Vasut <marex@denx.de>, Lucas Stach <l.stach@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	"patchwork-lst@pengutronix.de" <patchwork-lst@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH 04/11] soc: imx: gpcv2: wait for ADB400 handshake
Date: Fri, 9 Oct 2020 03:05:11 +0000	[thread overview]
Message-ID: <AM0PR04MB4915964704698912AC3AEFF487080@AM0PR04MB4915.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <de6d73ea-c7dc-6405-29fb-7975368424c0@denx.de>

> -----Original Message-----
> From: Marek Vasut [mailto:marex@denx.de]
> Sent: Thursday, October 1, 2020 12:23 AM
> To: Lucas Stach <l.stach@pengutronix.de>; Shawn Guo
> <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>
> Cc: devicetree@vger.kernel.org; Frieder Schrempf
> <frieder.schrempf@kontron.de>; patchwork-lst@pengutronix.de; dl-linux-imx
> <linux-imx@nxp.com>; kernel@pengutronix.de; Fabio Estevam
> <festevam@gmail.com>; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH 04/11] soc: imx: gpcv2: wait for ADB400 handshake
> 
> On 9/30/20 6:19 PM, Lucas Stach wrote:
> > On Mi, 2020-09-30 at 18:11 +0200, Marek Vasut wrote:
> >> On 9/30/20 5:49 PM, Lucas Stach wrote:
> >>
> >> [...]
> >>
> >>> @@ -176,9 +180,19 @@ static int imx_pgc_power_up(struct
> generic_pm_domain *genpd)
> >>>  			   GPC_PGC_CTRL_PCR, 0);
> >>>
> >>>  	/* request the ADB400 to power up */
> >>> -	if (domain->bits.hsk)
> >>> +	if (domain->bits.hskreq) {
> >>>  		regmap_update_bits(domain->regmap, GPC_PU_PWRHSK,
> >>> -				   domain->bits.hsk, domain->bits.hsk);
> >>> +				   domain->bits.hskreq, domain->bits.hskreq);
> >>> +
> >>> +		ret = regmap_read_poll_timeout(domain->regmap,
> GPC_PU_PWRHSK,
> >>> +					       reg_val,
> >>> +					       (reg_val & domain->bits.hskack),
> >>> +					       0, USEC_PER_MSEC);
> >>> +		if (ret) {
> >>> +			dev_err(domain->dev, "failed to power up ADB400\n");
> >>
> >> The ADB400 is a bus bridge, so the bus is being attached here, not
> >> powered up, right ?
> >
> > The bits in the PWRHSK register are called "power down" bits, so I
> > kept this nomenclature. Also I think the ADB400 is mostly isolating
> > the bus in the power domains from the rest of the NoC, "attaching" of
> > the bus is really disabling the isolation.
> >
> > As there are multiple valid naming choices I kept the naming from the
> > RM.
> 
> Maybe NXP can finally explain what these bits really do ?

This bit is used to sync the ADB400 bridge to a known status before MIX side power down & isolation.
Detailed info can be find in ARM's ADB400 TRM.

BR
Jacky Bai

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-10-09  3:05 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-30 15:49 [PATCH 00/11] i.MX8MM power domain support Lucas Stach
2020-09-30 15:49 ` Lucas Stach
2020-09-30 15:49 ` [PATCH 01/11] soc: imx: gpcv2: move to more ideomatic error handling in probe Lucas Stach
2020-09-30 15:49   ` Lucas Stach
2020-09-30 16:04   ` Marek Vasut
2020-09-30 16:04     ` Marek Vasut
2020-09-30 15:49 ` [PATCH 02/11] soc: imx: gpcv2: move domain mapping to domain driver probe Lucas Stach
2020-09-30 15:49   ` Lucas Stach
2020-09-30 16:07   ` Marek Vasut
2020-09-30 16:07     ` Marek Vasut
2020-09-30 15:49 ` [PATCH 03/11] soc: imx: gpcv2: split power up and power down sequence control Lucas Stach
2020-09-30 15:49   ` Lucas Stach
2020-09-30 16:10   ` Marek Vasut
2020-09-30 16:10     ` Marek Vasut
2020-09-30 15:49 ` [PATCH 04/11] soc: imx: gpcv2: wait for ADB400 handshake Lucas Stach
2020-09-30 15:49   ` Lucas Stach
2020-09-30 16:11   ` Marek Vasut
2020-09-30 16:11     ` Marek Vasut
2020-09-30 16:19     ` Lucas Stach
2020-09-30 16:19       ` Lucas Stach
2020-09-30 16:23       ` Marek Vasut
2020-09-30 16:23         ` Marek Vasut
2020-10-09  3:05         ` Jacky Bai [this message]
2020-10-09  3:05           ` Jacky Bai
2020-10-09  7:27           ` Marek Vasut
2020-10-09  7:27             ` Marek Vasut
2020-10-09  7:51             ` Jacky Bai
2020-10-09  7:51               ` Jacky Bai
2020-10-09  8:19               ` Marek Vasut
2020-10-09  8:19                 ` Marek Vasut
2020-09-30 15:50 ` [PATCH 05/11] soc: imx: gpcv2: add runtime PM support for power-domains Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-09-30 16:14   ` Marek Vasut
2020-09-30 16:14     ` Marek Vasut
2020-09-30 16:20     ` Lucas Stach
2020-09-30 16:20       ` Lucas Stach
2020-09-30 15:50 ` [PATCH 06/11] soc: imx: gpcv2: allow domains without power-sequence control Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-10-09  7:54   ` Jacky Bai
2020-10-09  7:54     ` Jacky Bai
2020-10-09  7:57     ` Jacky Bai
2020-10-09  7:57       ` Jacky Bai
2020-09-30 15:50 ` [PATCH 07/11] soc: imx: gpcv2: add support for optional resets Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-09-30 16:15   ` Marek Vasut
2020-09-30 16:15     ` Marek Vasut
2020-09-30 16:23     ` Lucas Stach
2020-09-30 16:23       ` Lucas Stach
2020-09-30 16:30       ` Marek Vasut
2020-09-30 16:30         ` Marek Vasut
2020-09-30 16:34         ` Lucas Stach
2020-09-30 16:34           ` Lucas Stach
2020-09-30 16:38           ` Marek Vasut
2020-09-30 16:38             ` Marek Vasut
2020-10-01  8:59   ` Krzysztof Kozlowski
2020-10-01  8:59     ` Krzysztof Kozlowski
2020-10-06 19:42   ` Rob Herring
2020-10-06 19:42     ` Rob Herring
2020-09-30 15:50 ` [PATCH 08/11] dt-bindings: add defines for i.MX8MM power domains Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-10-01  8:54   ` Krzysztof Kozlowski
2020-10-01  8:54     ` Krzysztof Kozlowski
2020-10-06 19:47   ` Rob Herring
2020-10-06 19:47     ` Rob Herring
2020-09-30 15:50 ` [PATCH 09/11] soc: imx: gpcv2: add support " Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-09-30 16:18   ` Marek Vasut
2020-09-30 16:18     ` Marek Vasut
2020-09-30 15:50 ` [PATCH 10/11] arm64: dts: imx8mm: add GPC node and " Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-09-30 16:20   ` Marek Vasut
2020-09-30 16:20     ` Marek Vasut
2020-10-01  8:51   ` Krzysztof Kozlowski
2020-10-01  8:51     ` Krzysztof Kozlowski
2020-10-23 13:22   ` Adam Ford
2020-10-23 13:22     ` Adam Ford
2020-10-23 14:39     ` Jacky Bai
2020-10-23 14:39       ` Jacky Bai
2020-10-26 10:56   ` Abel Vesa
2020-10-26 10:56     ` Abel Vesa
2020-10-26 11:01     ` Abel Vesa
2020-10-26 11:01       ` Abel Vesa
2020-10-26 11:13       ` Adam Ford
2020-10-26 11:13         ` Adam Ford
2020-10-26 11:02     ` Lucas Stach
2020-10-26 11:02       ` Lucas Stach
2020-09-30 15:50 ` [PATCH 11/11] arm64: dts: imx8mm: put USB controllers into power-domains Lucas Stach
2020-09-30 15:50   ` Lucas Stach
2020-10-01  7:46 ` [PATCH 00/11] i.MX8MM power domain support Frieder Schrempf
2020-10-01  7:46   ` Frieder Schrempf
2020-10-03 18:03 ` Adam Ford
2020-10-03 18:03   ` Adam Ford
     [not found] ` <CAHCN7xKjWEwQr9y0QLrR6KVT=ut=v=coqt4beAvrz1kQSGbX1g@mail.gmail.com>
2020-10-03 18:08   ` Marek Vasut
2020-10-03 18:08     ` Marek Vasut
2020-10-03 18:11     ` Adam Ford
2020-10-03 18:11       ` Adam Ford
2020-10-08 20:47 ` Adam Ford
2020-10-08 20:47   ` Adam Ford
2020-10-09  3:00 ` Jacky Bai
2020-10-09  3:00   ` Jacky Bai
2020-10-09 11:12   ` Lucas Stach
2020-10-09 11:12     ` Lucas Stach
2020-10-09 12:57     ` Adam Ford
2020-10-09 12:57       ` Adam Ford
2020-10-10  2:16     ` Jacky Bai
2020-10-10  2:16       ` Jacky Bai
2020-10-13 18:26       ` Lucas Stach
2020-10-13 18:26         ` Lucas Stach
2020-10-14  1:23         ` Peng Fan
2020-10-14  1:23           ` Peng Fan
2020-10-22  8:24           ` Lucas Stach
2020-10-22  8:24             ` Lucas Stach
2020-10-22 16:36             ` Fabio Estevam
2020-10-22 16:36               ` Fabio Estevam
2020-10-28 13:50             ` Peng Fan
2020-10-28 13:50               ` Peng Fan
2020-10-31 13:56               ` Adam Ford
2020-10-31 13:56                 ` Adam Ford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM0PR04MB4915964704698912AC3AEFF487080@AM0PR04MB4915.eurprd04.prod.outlook.com \
    --to=ping.bai@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=frieder.schrempf@kontron.de \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=marex@denx.de \
    --cc=patchwork-lst@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.