devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] Does PHY UTMI data width belong to DWC2 or PHY binding?
@ 2013-10-18 14:12 Matt Porter
  2013-10-21  9:27 ` Kishon Vijay Abraham I
  0 siblings, 1 reply; 12+ messages in thread
From: Matt Porter @ 2013-10-18 14:12 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Felipe Balbi, Kishon Vijay Abraham I,
	Greg Kroah-Hartman, Paul Zimmerman, Devicetree List,
	Linux USB List, Linux ARM Kernel List, Linux Kernel Mailing List

This is a summary of an unresolved issue resulting from this thread:
http://www.spinics.net/lists/arm-kernel/msg277700.html

The BCM281xx family of SoCs contain an OTG subsystem consisting of a
DWC2 HSOTG controller and an internal UTMI PHY. This is appears as
follows (monospace font requirement ahead):

+----------------+              +-----------------+
|                |              |                 |
|                |       8      |                 |
|      DWC2      |<------/----->|     BCM Kona    |
|                |     UTMI     |     UTMI PHY    |
|                |              |                 |
+----------------+              +-----------------+

The internal UTMI phy is connected via an 8-bit data path. There is
no way to autodetect whether the data path is 8-bit or 16-bit. As such,
it was determined that a DT property is necessary to reflect this.

In the original patch submitted this property was offered as an
additional optional dwc2 property:

--- a/Documentation/devicetree/bindings/staging/dwc2.txt
+++ b/Documentation/devicetree/bindings/staging/dwc2.txt
@@ -6,10 +6,14 @@ Required properties:
 - reg : Should contain 1 register range (address and length)
 - interrupts : Should contain 1 interrupt

+Optional properties:
+- snps,phy-utmi-width: Must contain the UTMI data width (either 8 or 16)
+
 Example:

         usb@101c0000 {
                 compatible = "ralink,rt3050-usb, snps,dwc2";
                 reg = <0x101c0000 40000>;
                 interrupts = <18>;
+		snps,phy-utmi-width = <8>;
         };

The open question is whether this required hardware property belongs to
the DWC2 controller or the PHY itself.

If the UTMI data path width is considered to be a property of the PHY
then this will impact both the generic PHY framework and the PHY device
node (producer) binding. The binding would need to be extended to carry
the data path width property. In addition, the generic PHY framework
would need to allow for this information to be gathered in some manner
for use by the controller driver (PHY consumer). In the case of DWC2,
the driver needs to know whether to program the phy interface for 8 or
16 bit UTMI communication.

Thanks,
Matt

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-10-25 13:33 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-18 14:12 [RFC] Does PHY UTMI data width belong to DWC2 or PHY binding? Matt Porter
2013-10-21  9:27 ` Kishon Vijay Abraham I
     [not found]   ` <5264F37E.9060307-l0cyMroinI0@public.gmane.org>
2013-10-22 10:48     ` Matthijs Kooijman
     [not found]       ` <20131022104829.GF15425-tJobPqrNDpleFRaWBN1JIYg6o0x57dKM8/qWW+O4k6E@public.gmane.org>
2013-10-22 11:25         ` Matt Porter
2013-10-22 21:38           ` Rob Herring
     [not found]             ` <5266F06C.2080701-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-23 14:42               ` Matt Porter
2013-10-23 18:11                 ` Felipe Balbi
2013-10-23 20:07                   ` Matt Porter
2013-10-23 21:29                 ` Paul Zimmerman
     [not found]                   ` <A2CA0424C0A6F04399FB9E1CD98E030458E1DB5B-Yu2iAY70zvrYN67daEjeMPufCSb+aD3WLzEdoUbNIic@public.gmane.org>
2013-10-25 13:31                     ` Matt Porter
2013-10-24  5:21                 ` Kishon Vijay Abraham I
     [not found]                   ` <5268AE67.8060902-l0cyMroinI0@public.gmane.org>
2013-10-25 13:33                     ` Matt Porter

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).