From: Christoph Fritz <chf.fritz@googlemail.com>
To: Fabio Estevam <festevam@gmail.com>
Cc: "Martin Fuzzey" <mfuzzey@parkeon.com>,
"Baruch Siach" <baruch@tkos.co.il>,
"Sascha Hauer" <kernel@pengutronix.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Fabio Estevam" <fabio.estevam@nxp.com>,
"Shawn Guo" <shawnguo@kernel.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1
Date: Wed, 17 Aug 2016 20:03:01 +0200 [thread overview]
Message-ID: <1471456981.1934.63.camel@googlemail.com> (raw)
In-Reply-To: <CAOMZO5CCwreYYgNd6uGnf9A0=KcMefYqHLFNWdMnweSTezxnWQ@mail.gmail.com>
On Wed, 2016-08-17 at 11:26 -0300, Fabio Estevam wrote:
> Hi Christoph,
>
> On Wed, Aug 17, 2016 at 6:25 AM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
>
> > +/*
> > + * SION bit is necessary for ENET1_REF_CLK1 (ENET2_REF_CLK2 untested) if it is
> > + * used as clock output of IMX6SX_CLK_ENET_REF (ENET1_TX_CLK) to e.g. supply a
> > + * PHY in RMII mode. This configuration is valid if:
> > + * - bit 1 in field IMX6SX_GPR1_FEC_CLOCK_PAD_DIR_MASK is set
> > + * - bit 1 in field IMX6SX_GPR1_FEC_CLOCK_MUX_SEL_MASK unset
>
> So in your case the imx6sx_enet_clk_sel() does not do what you need:
>
> static void __init imx6sx_enet_clk_sel(void)
> {
> struct regmap *gpr;
>
> gpr = syscon_regmap_lookup_by_compatible("fsl,imx6sx-iomuxc-gpr");
> if (!IS_ERR(gpr)) {
> regmap_update_bits(gpr, IOMUXC_GPR1,
> IMX6SX_GPR1_FEC_CLOCK_MUX_SEL_MASK, 0);
> regmap_update_bits(gpr, IOMUXC_GPR1,
> IMX6SX_GPR1_FEC_CLOCK_PAD_DIR_MASK, 0);
> } else {
> pr_err("failed to find fsl,imx6sx-iomux-gpr regmap\n");
> }
> }
>
> It seems that it is not a good idea to have imx6sx_enet_clk_sel() in
> common code as the GPR1 setting can change from board to board.
Yes, currently I'm adapting/quirking the fec config there and in
imx6sx_clocks_init() to set the Phy-Clock-Frequency to 50Mhz.
> I think we need the fec driver to be in charge of configuring the GPR1 register.
What about making the Phy-Clock-Frequency IMX6SX_CLK_ENET_REF
adjustable?
> This is unrelated to your patch though :-)
Thanks
-- Christoph
WARNING: multiple messages have this Message-ID (diff)
From: chf.fritz@googlemail.com (Christoph Fritz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1
Date: Wed, 17 Aug 2016 20:03:01 +0200 [thread overview]
Message-ID: <1471456981.1934.63.camel@googlemail.com> (raw)
In-Reply-To: <CAOMZO5CCwreYYgNd6uGnf9A0=KcMefYqHLFNWdMnweSTezxnWQ@mail.gmail.com>
On Wed, 2016-08-17 at 11:26 -0300, Fabio Estevam wrote:
> Hi Christoph,
>
> On Wed, Aug 17, 2016 at 6:25 AM, Christoph Fritz
> <chf.fritz@googlemail.com> wrote:
>
> > +/*
> > + * SION bit is necessary for ENET1_REF_CLK1 (ENET2_REF_CLK2 untested) if it is
> > + * used as clock output of IMX6SX_CLK_ENET_REF (ENET1_TX_CLK) to e.g. supply a
> > + * PHY in RMII mode. This configuration is valid if:
> > + * - bit 1 in field IMX6SX_GPR1_FEC_CLOCK_PAD_DIR_MASK is set
> > + * - bit 1 in field IMX6SX_GPR1_FEC_CLOCK_MUX_SEL_MASK unset
>
> So in your case the imx6sx_enet_clk_sel() does not do what you need:
>
> static void __init imx6sx_enet_clk_sel(void)
> {
> struct regmap *gpr;
>
> gpr = syscon_regmap_lookup_by_compatible("fsl,imx6sx-iomuxc-gpr");
> if (!IS_ERR(gpr)) {
> regmap_update_bits(gpr, IOMUXC_GPR1,
> IMX6SX_GPR1_FEC_CLOCK_MUX_SEL_MASK, 0);
> regmap_update_bits(gpr, IOMUXC_GPR1,
> IMX6SX_GPR1_FEC_CLOCK_PAD_DIR_MASK, 0);
> } else {
> pr_err("failed to find fsl,imx6sx-iomux-gpr regmap\n");
> }
> }
>
> It seems that it is not a good idea to have imx6sx_enet_clk_sel() in
> common code as the GPR1 setting can change from board to board.
Yes, currently I'm adapting/quirking the fec config there and in
imx6sx_clocks_init() to set the Phy-Clock-Frequency to 50Mhz.
> I think we need the fec driver to be in charge of configuring the GPR1 register.
What about making the Phy-Clock-Frequency IMX6SX_CLK_ENET_REF
adjustable?
> This is unrelated to your patch though :-)
Thanks
-- Christoph
next prev parent reply other threads:[~2016-08-17 18:03 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-24 13:24 [PATCH v2 0/6] serial: imx: handshaking fixes and improvments Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 1/6] serial: imx: fix polarity of RI Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 2/6] serial: imx: let irq handler return IRQ_NONE if no event was handled Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 3/6] serial: imx: make sure unhandled irqs are disabled Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 4/6] serial: imx: only count 0->1 transitions for RNG Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 5/6] serial: imx: reorder functions to simplify next patch Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
2016-03-24 13:24 ` [PATCH v2 6/6] serial: imx: implement DSR irq handling for DTE mode Uwe Kleine-König
2016-03-24 13:24 ` Uwe Kleine-König
[not found] ` <1470350663.26773.41.camel@googlemail.com>
2016-08-05 6:58 ` serial: imx: regression triggered by newly introduced DSR irq handling Uwe Kleine-König
2016-08-05 6:58 ` Uwe Kleine-König
2016-08-05 12:03 ` Christoph Fritz
2016-08-05 12:03 ` Christoph Fritz
2016-08-10 20:54 ` Fabio Estevam
2016-08-10 20:54 ` Fabio Estevam
2016-08-13 20:35 ` Christoph Fritz
2016-08-13 20:35 ` Christoph Fritz
2016-08-15 5:22 ` Uwe Kleine-König
2016-08-15 5:22 ` Uwe Kleine-König
2016-08-17 9:25 ` [PATCH] ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1 Christoph Fritz
2016-08-17 9:25 ` Christoph Fritz
2016-08-17 14:26 ` Fabio Estevam
2016-08-17 14:26 ` Fabio Estevam
2016-08-17 18:03 ` Christoph Fritz [this message]
2016-08-17 18:03 ` Christoph Fritz
2016-08-22 15:08 ` Christoph Fritz
2016-08-22 15:08 ` Christoph Fritz
2016-08-29 1:18 ` Shawn Guo
2016-08-29 1:18 ` Shawn Guo
2016-11-21 11:00 ` serial: imx: regression triggered by newly introduced DSR irq handling Christoph Fritz
2016-11-21 11:00 ` Christoph Fritz
2016-11-21 11:07 ` Uwe Kleine-König
2016-11-21 11:07 ` Uwe Kleine-König
2016-04-11 16:01 ` [PATCH v2 0/6] serial: imx: handshaking fixes and improvments Petr Štetiar
2016-04-11 16:01 ` Petr Štetiar
2016-04-12 7:46 ` Uwe Kleine-König
2016-04-12 7:46 ` Uwe Kleine-König
2016-04-12 9:48 ` Petr Štetiar
2016-04-12 9:48 ` Petr Štetiar
2016-04-12 10:58 ` Uwe Kleine-König
2016-04-12 10:58 ` Uwe Kleine-König
2016-04-12 12:17 ` Petr Štetiar
2016-04-12 12:17 ` Petr Štetiar
2016-04-12 17:30 ` Uwe Kleine-König
2016-04-12 17:30 ` Uwe Kleine-König
2016-04-13 9:13 ` Petr Štetiar
2016-04-13 9:13 ` Petr Štetiar
2016-04-13 11:16 ` Uwe Kleine-König
2016-04-13 11:16 ` Uwe Kleine-König
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=1471456981.1934.63.camel@googlemail.com \
--to=chf.fritz@googlemail.com \
--cc=baruch@tkos.co.il \
--cc=fabio.estevam@nxp.com \
--cc=festevam@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=mfuzzey@parkeon.com \
--cc=shawnguo@kernel.org \
--cc=u.kleine-koenig@pengutronix.de \
/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.