On Tue, Apr 27, 2010 at 10:11 AM, Anatolij Gustschin <agust@xxxxxxx> wrote: > Platform specific code for MPC5121 USB Host support. > > The patch also contains changes to FSL EHCI platform driver > needed to support MPC5121 USB controllers. MPC5121 Rev 2.0 > silicon EHCI registers are in big endian format. The > appropriate flags are set using the information in the > platform data structure. 83xx system interface registers > are not available on 512x, so the access to these registers > is isolated for 512x. Furthermore the USB controller clock > must be enabled before 512x register access which is done > by providing platform specific init callback. > > The 512x internal USB PHY doesn't provide supply voltage. > For boards using different power switches allow specifying > DRVVBUS and PWR_FAULT signal polarity of the MPC5121 internal > PHY using "fsl,invert-drvvbus" and "fsl,invert-pwr-fault" > properties in the device tree USB node. > > Signed-off-by: Bruce Schmid <duck@xxxxxxxxxxxxx> > Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> > Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxx> > Cc: Grant Likely <grant.likely@xxxxxxxxxxxx> > Cc: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx> > Cc: devicetree-discuss@xxxxxxxxxxxxxxxx > --- > Documentation/powerpc/dts-bindings/fsl/usb.txt | 22 ++++ > arch/powerpc/platforms/512x/Kconfig | 3 + > arch/powerpc/platforms/512x/Makefile | 2 +- > arch/powerpc/platforms/512x/mpc5121_usb.c | 131 ++++++++++++++++++++++++ > arch/powerpc/platforms/512x/mpc512x.h | 1 + > arch/powerpc/platforms/512x/mpc512x_shared.c | 1 + > arch/powerpc/sysdev/fsl_soc.c | 20 ++++ > arch/powerpc/sysdev/fsl_soc.h | 9 ++ > drivers/usb/host/ehci-fsl.c | 111 +++++++++++++++------ > drivers/usb/host/ehci-fsl.h | 19 ++++- > drivers/usb/host/ehci-mem.c | 2 +- > include/linux/fsl_devices.h | 13 +++ > 12 files changed, 301 insertions(+), 33 deletions(-) > create mode 100644 arch/powerpc/platforms/512x/mpc5121_usb.c > > diff --git a/Documentation/powerpc/dts-bindings/fsl/usb.txt b/Documentation/powerpc/dts-bindings/fsl/usb.txt > index b001524..bd5723f 100644 > --- a/Documentation/powerpc/dts-bindings/fsl/usb.txt > +++ b/Documentation/powerpc/dts-bindings/fsl/usb.txt > @@ -8,6 +8,7 @@ and additions : > Required properties : > - compatible : Should be "fsl-usb2-mph" for multi port host USB > controllers, or "fsl-usb2-dr" for dual role USB controllers > + or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 > - phy_type : For multi port host USB controllers, should be one of > "ulpi", or "serial". For dual role USB controllers, should be > one of "ulpi", "utmi", "utmi_wide", or "serial". > @@ -33,6 +34,12 @@ Recommended properties : > - interrupt-parent : the phandle for the interrupt controller that > services interrupts for this device. > > +Optional properties : > + - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the > + port power polarity of internal PHY signal DRVVBUS is inverted. > + - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates > + the PWR_FAULT signal polarity is inverted. > + > Example multi port host USB controller device node : > usb@22000 { > compatible = "fsl-usb2-mph"; > @@ -57,3 +64,18 @@ Example dual role USB controller device node : > dr_mode = "otg"; > phy = "ulpi"; > }; > + > +Example dual role USB controller device node for MPC5121ADS: > + > + usb@4000 { > + compatible = "fsl,mpc5121-usb2-dr"; > + reg = <0x4000 0x1000>; > + #address-cells = <1>; > + #size-cells = <0>; > + interrupt-parent = < &ipic >; > + interrupts = <44 0x8>; > + dr_mode = "otg"; > + phy_type = "utmi_wide"; > + fsl,invert-drvvbus; > + fsl,invert-pwr-fault; > + }; This modification to the device binding looks fine to me. Cheers, g. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html