From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: device tree binding documentation outdated
Date: Fri, 27 Sep 2013 18:49:16 +0100 [thread overview]
Message-ID: <20130927174916.GD12758@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <CAHCPf3t8=mJn-RCz3C1cY6zqsH9ds8UANKpKx9ZpwPM6WjJt3g@mail.gmail.com>
On Fri, Sep 27, 2013 at 11:52:52AM -0500, Matt Sealey wrote:
> Russell,
>
> There is a chicken bit in the IOMUXC GPR1 (IOMUXC+0x4 bit 21, it's on
> page 1927 of the i.MX6DQRM Rev 1 04/2013) which turns on or off the
> ENET_REF_CLK loopback. You could need to clear it to make the pad an
> input to the i.MX6 rather than an output to the PHY.. while it may
> seem like this removes the need for the SION bit in the pin you want,
> that's actually also required otherwise the pad mux latch 'sees' the
> data but the input latch behind it doesn't.
>
> There is a great diagram somewhere in the manual (Figure 28-1, right
> at the top of the GPIO docs) - SION *forces* data (it's the input_on
> signal in the diagram IIRC) to the gpio data register behind the
> IOMUX, but the logic behind every muxed pad is almost the same across
> the SoC.
The manual which Fabio pointed me at (iMX 6Solo/6DualLite - IMX6SDLRM.pdf)
doesn't correspond - figure 28-1 is something entirely different.
> In essence, the pad control setting needs to be correct (SION set) and
> that chicken bit correctly cleared, or the clock input never goes into
> the MAC, because the MAC isn't connected directly to the pad, it's
> connected to the input latch. The only logic block that can 'really'
> read the pad latch is the GPIO unit.
>
> Note that you MAY have to cycle the clock or reset the PHY or MAC
> *after* setting the pin up, otherwise the MAC won't get the clock..
> it's really a laborious process which isn't described properly in the
> DT (all it needs is a property to define where it's clock comes from
> and Do The Right Thing (tm) at driver init.. because this is
> infuriatingly common on i.MX6 designs, but not so common that everyone
> needs it)
Okay, but from what I'm working from (which works) the order is:
- Set IOMUXC GPR1 bit 21.
- Set ipg/ahb ethernet clock to 50MHz
- IOMUX settings applied, including setting the reference clock SION bit
- Reset lowered, wait 2ms, reset raised
- imx6_init_fec(fec_data_rgmii) called
After that is the time that the phy is configured to supply the 125MHz
reference clock into the IMX6.
That order seems to be happening with my 3.12-rc1 kernel, although a
little more spread out.
Thanks.
next prev parent reply other threads:[~2013-09-27 17:49 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-26 19:51 device tree binding documentation outdated Russell King - ARM Linux
2013-09-26 20:29 ` Fabio Estevam
2013-09-26 20:59 ` Russell King - ARM Linux
2013-09-26 23:10 ` Matt Sealey
2013-09-26 23:29 ` Russell King - ARM Linux
2013-09-26 23:48 ` Matt Sealey
2013-09-27 13:15 ` Jason Cooper
2013-09-27 17:05 ` Russell King - ARM Linux
2013-09-27 18:31 ` Russell King - ARM Linux
2013-09-27 18:52 ` Fabio Estevam
2013-09-27 20:16 ` Matt Sealey
2013-09-27 20:43 ` Russell King - ARM Linux
2013-09-26 23:25 ` Fabio Estevam
2013-09-27 12:13 ` Russell King - ARM Linux
2013-09-27 13:26 ` Shawn Guo
2013-09-27 15:19 ` Russell King - ARM Linux
2013-09-27 15:49 ` Russell King - ARM Linux
2013-09-27 16:52 ` Matt Sealey
2013-09-27 17:49 ` Russell King - ARM Linux [this message]
2013-09-27 18:33 ` Matt Sealey
2013-09-27 19:05 ` Russell King - ARM Linux
2013-09-27 19:41 ` Matt Sealey
2013-09-27 19:48 ` Matt Sealey
2013-09-27 20:21 ` Russell King - ARM Linux
2013-09-28 8:38 ` Russell King - ARM Linux
2013-09-29 6:13 ` Shawn Guo
2013-09-29 6:23 ` Duan Fugang-B38611
2013-09-29 6:35 ` Shawn Guo
2013-09-29 6:47 ` Duan Fugang-B38611
2013-10-02 19:33 ` Russell King - ARM Linux
2013-10-02 23:49 ` Russell King - ARM Linux
2013-10-03 2:21 ` Fabio Estevam
2013-10-04 15:45 ` Shawn Guo
2013-10-04 15:58 ` Russell King - ARM Linux
2013-09-29 5:01 ` Shawn Guo
2013-09-27 20:18 ` Russell King - ARM Linux
2013-09-28 3:28 ` Fabio Estevam
2013-09-26 21:35 ` Linus Walleij
2013-09-27 2:51 ` Shawn Guo
2013-09-27 8:45 ` Russell King - ARM Linux
2013-09-27 12:28 ` Shawn Guo
2013-09-27 13:12 ` Jason Cooper
2013-09-27 13:21 ` Russell King - ARM Linux
2013-09-27 13:29 ` Linus Walleij
2013-09-27 13:31 ` Jason Cooper
2013-09-27 16:33 ` Matt Sealey
2013-09-27 20:52 ` Russell King - ARM Linux
2013-09-27 13:52 ` Arnaud Patard (Rtp)
2013-09-27 15:40 ` Matt Sealey
2013-09-27 9:49 ` Russell King - ARM Linux
2013-09-27 12:08 ` Sascha Hauer
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=20130927174916.GD12758@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).