All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Johan Hovold" <johan@kernel.org>
Cc: <linux-arm-msm@vger.kernel.org>,
	<~postmarketos/upstreaming@lists.sr.ht>,
	<phone-devel@vger.kernel.org>, "Andy Gross" <agross@kernel.org>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konrad.dybcio@linaro.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"Kishon Vijay Abraham I" <kishon@kernel.org>,
	<linux-phy@lists.infradead.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH v2 2/3] phy: qcom-qmp-combo: Add config for SM6350
Date: Fri, 25 Nov 2022 11:14:53 +0100	[thread overview]
Message-ID: <COLAQH772WXW.P442ICY46TDR@otso> (raw)
In-Reply-To: <Y4CSYZE+3fZCV4Z3@hovoldconsulting.com>

Hi Johan,

On Fri Nov 25, 2022 at 11:01 AM CET, Johan Hovold wrote:
> On Fri, Nov 25, 2022 at 10:27:48AM +0100, Luca Weiss wrote:
> > Add the tables and config for the combo phy found on SM6350.
> > 
> > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> > ---
> > @Johan Hovold, here I've added dp_txa & dp_txb, I believe otherwise
> > qmp->dp_tx would be wrong. Is this different on sc8280xp or was this a
> > mistake on your side? I think this should probably be split out to
> > another patch to not mix things up too much.
>
> Yeah, that's a difference in sc8280xp which does not have dedicated TX
> registers for DP.

Good to know.

>
> This is probably best handled explicitly when parsing the DT by using
> dp_txa/b if they are set and otherwise fallback to txa/txb (e.g.
> instead of hiding it in the v5 table by using the same offset in two
> places).

Are you thinking about something like this?

if (offs->dp_txa)
    qmp->dp_tx = base + offs->dp_txa
else
    qmp->dp_tx = base + offs->txa;

if (offs->dp_txb)
    qmp->dp_tx2 = base + offs->dp_txb;
else
    qmp->dp_tx2 = base + offs->txb;

This wouldn't handle ".dp_txa = 0x0000" but I don't think this should be
a problem, right?

>
> It can be done as part of this patch as long as you mention it in the
> commit message.

Ack.

Regards
Luca

>
> > I think other than that this patch is good.
>
> Indeed, looks good! Nice to see this working out as intended also for
> the older platforms.
>
> >  static const struct qmp_phy_init_tbl sm8150_usb3_serdes_tbl[] = {
> >  	QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_EN_CENTER, 0x01),
> >  	QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER1, 0x31),
> > @@ -809,6 +873,8 @@ struct qmp_combo_offsets {
> >  	u16 usb3_pcs;
> >  	u16 usb3_pcs_usb;
> >  	u16 dp_serdes;
> > +	u16 dp_txa;
> > +	u16 dp_txb;
> >  	u16 dp_dp_phy;
> >  };
> >  
> > @@ -975,6 +1041,21 @@ static const char * const sc7180_usb3phy_reset_l[] = {
> >  	"phy",
> >  };
> >  
> > +static const struct qmp_combo_offsets qmp_combo_offsets_v3 = {
> > +	.com		= 0x0000,
> > +	.txa		= 0x1200,
> > +	.rxa		= 0x1400,
> > +	.txb		= 0x1600,
> > +	.rxb		= 0x1800,
> > +	.usb3_serdes	= 0x1000,
> > +	.usb3_pcs_misc	= 0x1a00,
> > +	.usb3_pcs	= 0x1c00,
> > +	.dp_serdes	= 0x2000,
> > +	.dp_txa		= 0x2200,
> > +	.dp_txb		= 0x2600,
> > +	.dp_dp_phy	= 0x2c00,
> > +};
> > +
> >  static const struct qmp_combo_offsets qmp_combo_offsets_v5 = {
> >  	.com		= 0x0000,
> >  	.txa		= 0x0400,
>
> > @@ -2641,8 +2767,8 @@ static int qmp_combo_parse_dt(struct qmp_combo *qmp)
> >  	qmp->pcs_usb = base + offs->usb3_pcs_usb;
> >  
> >  	qmp->dp_serdes = base + offs->dp_serdes;
> > -	qmp->dp_tx = base + offs->txa;
> > -	qmp->dp_tx2 = base + offs->txb;
> > +	qmp->dp_tx = base + offs->dp_txa;
> > +	qmp->dp_tx2 = base + offs->dp_txb;
> >  	qmp->dp_dp_phy = base + offs->dp_dp_phy;
> >  
> >  	qmp->pipe_clk = devm_clk_get(dev, "usb3_pipe");
>
> Johan


WARNING: multiple messages have this Message-ID (diff)
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Johan Hovold" <johan@kernel.org>
Cc: <linux-arm-msm@vger.kernel.org>,
	<~postmarketos/upstreaming@lists.sr.ht>,
	<phone-devel@vger.kernel.org>, "Andy Gross" <agross@kernel.org>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konrad.dybcio@linaro.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"Kishon Vijay Abraham I" <kishon@kernel.org>,
	<linux-phy@lists.infradead.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH v2 2/3] phy: qcom-qmp-combo: Add config for SM6350
Date: Fri, 25 Nov 2022 11:14:53 +0100	[thread overview]
Message-ID: <COLAQH772WXW.P442ICY46TDR@otso> (raw)
In-Reply-To: <Y4CSYZE+3fZCV4Z3@hovoldconsulting.com>

Hi Johan,

On Fri Nov 25, 2022 at 11:01 AM CET, Johan Hovold wrote:
> On Fri, Nov 25, 2022 at 10:27:48AM +0100, Luca Weiss wrote:
> > Add the tables and config for the combo phy found on SM6350.
> > 
> > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> > ---
> > @Johan Hovold, here I've added dp_txa & dp_txb, I believe otherwise
> > qmp->dp_tx would be wrong. Is this different on sc8280xp or was this a
> > mistake on your side? I think this should probably be split out to
> > another patch to not mix things up too much.
>
> Yeah, that's a difference in sc8280xp which does not have dedicated TX
> registers for DP.

Good to know.

>
> This is probably best handled explicitly when parsing the DT by using
> dp_txa/b if they are set and otherwise fallback to txa/txb (e.g.
> instead of hiding it in the v5 table by using the same offset in two
> places).

Are you thinking about something like this?

if (offs->dp_txa)
    qmp->dp_tx = base + offs->dp_txa
else
    qmp->dp_tx = base + offs->txa;

if (offs->dp_txb)
    qmp->dp_tx2 = base + offs->dp_txb;
else
    qmp->dp_tx2 = base + offs->txb;

This wouldn't handle ".dp_txa = 0x0000" but I don't think this should be
a problem, right?

>
> It can be done as part of this patch as long as you mention it in the
> commit message.

Ack.

Regards
Luca

>
> > I think other than that this patch is good.
>
> Indeed, looks good! Nice to see this working out as intended also for
> the older platforms.
>
> >  static const struct qmp_phy_init_tbl sm8150_usb3_serdes_tbl[] = {
> >  	QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_EN_CENTER, 0x01),
> >  	QMP_PHY_INIT_CFG(QSERDES_V4_COM_SSC_PER1, 0x31),
> > @@ -809,6 +873,8 @@ struct qmp_combo_offsets {
> >  	u16 usb3_pcs;
> >  	u16 usb3_pcs_usb;
> >  	u16 dp_serdes;
> > +	u16 dp_txa;
> > +	u16 dp_txb;
> >  	u16 dp_dp_phy;
> >  };
> >  
> > @@ -975,6 +1041,21 @@ static const char * const sc7180_usb3phy_reset_l[] = {
> >  	"phy",
> >  };
> >  
> > +static const struct qmp_combo_offsets qmp_combo_offsets_v3 = {
> > +	.com		= 0x0000,
> > +	.txa		= 0x1200,
> > +	.rxa		= 0x1400,
> > +	.txb		= 0x1600,
> > +	.rxb		= 0x1800,
> > +	.usb3_serdes	= 0x1000,
> > +	.usb3_pcs_misc	= 0x1a00,
> > +	.usb3_pcs	= 0x1c00,
> > +	.dp_serdes	= 0x2000,
> > +	.dp_txa		= 0x2200,
> > +	.dp_txb		= 0x2600,
> > +	.dp_dp_phy	= 0x2c00,
> > +};
> > +
> >  static const struct qmp_combo_offsets qmp_combo_offsets_v5 = {
> >  	.com		= 0x0000,
> >  	.txa		= 0x0400,
>
> > @@ -2641,8 +2767,8 @@ static int qmp_combo_parse_dt(struct qmp_combo *qmp)
> >  	qmp->pcs_usb = base + offs->usb3_pcs_usb;
> >  
> >  	qmp->dp_serdes = base + offs->dp_serdes;
> > -	qmp->dp_tx = base + offs->txa;
> > -	qmp->dp_tx2 = base + offs->txb;
> > +	qmp->dp_tx = base + offs->dp_txa;
> > +	qmp->dp_tx2 = base + offs->dp_txb;
> >  	qmp->dp_dp_phy = base + offs->dp_dp_phy;
> >  
> >  	qmp->pipe_clk = devm_clk_get(dev, "usb3_pipe");
>
> Johan


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2022-11-25 10:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-25  9:27 [RFC PATCH v2 1/3] dt-bindings: phy: qcom,qmp-usb3-dp: Add sm6350 compatible Luca Weiss
2022-11-25  9:27 ` Luca Weiss
2022-11-25  9:27 ` [RFC PATCH v2 2/3] phy: qcom-qmp-combo: Add config for SM6350 Luca Weiss
2022-11-25  9:27   ` Luca Weiss
2022-11-25 10:01   ` Johan Hovold
2022-11-25 10:01     ` Johan Hovold
2022-11-25 10:14     ` Luca Weiss [this message]
2022-11-25 10:14       ` Luca Weiss
2022-11-25 10:23       ` Johan Hovold
2022-11-25 10:23         ` Johan Hovold
2022-11-25  9:27 ` [RFC PATCH v2 3/3] arm64: dts: qcom: sm6350: Use specific qmpphy compatible Luca Weiss
2022-11-25 10:11   ` Johan Hovold
2022-11-25  9:50 ` [RFC PATCH v2 1/3] dt-bindings: phy: qcom,qmp-usb3-dp: Add sm6350 compatible Johan Hovold
2022-11-25  9:50   ` Johan Hovold
2022-11-25  9:55   ` Luca Weiss
2022-11-25  9:55     ` Luca Weiss
2022-11-25 10:19     ` Johan Hovold
2022-11-25 10:19       ` Johan Hovold
2022-11-25 12:53       ` Luca Weiss
2022-11-25 12:53         ` Luca Weiss
2022-11-25 13:52         ` Johan Hovold
2022-11-25 13:52           ` Johan Hovold
2022-11-25 14:12           ` Luca Weiss
2022-11-25 14:12             ` Luca Weiss
2022-11-29 15:29             ` Johan Hovold
2022-11-29 15:29               ` Johan Hovold

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=COLAQH772WXW.P442ICY46TDR@otso \
    --to=luca.weiss@fairphone.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=johan@kernel.org \
    --cc=kishon@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=phone-devel@vger.kernel.org \
    --cc=vkoul@kernel.org \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /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.