1Freescale SOC USB controllers 2 3The device node for a USB controller that is part of a Freescale 4SOC is as described in the document "Open Firmware Recommended 5Practice : Universal Serial Bus" with the following modifications 6and additions : 7 8Required properties : 9 - compatible : Should be "fsl-usb2-mph" for multi port host USB 10 controllers, or "fsl-usb2-dr" for dual role USB controllers 11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 12 - phy_type : For multi port host USB controllers, should be one of 13 "ulpi", or "serial". For dual role USB controllers, should be 14 one of "ulpi", "utmi", "utmi_wide", or "serial". 15 - reg : Offset and length of the register set for the device 16 - port0 : boolean; if defined, indicates port0 is connected for 17 fsl-usb2-mph compatible controllers. Either this property or 18 "port1" (or both) must be defined for "fsl-usb2-mph" compatible 19 controllers. 20 - port1 : boolean; if defined, indicates port1 is connected for 21 fsl-usb2-mph compatible controllers. Either this property or 22 "port0" (or both) must be defined for "fsl-usb2-mph" compatible 23 controllers. 24 - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible 25 controllers. Can be "host", "peripheral", or "otg". Default to 26 "host" if not defined for backward compatibility. 27 28Recommended properties : 29 - interrupts : <a b> where a is the interrupt number and b is a 30 field that represents an encoding of the sense and level 31 information for the interrupt. This should be encoded based on 32 the information in section 2) depending on the type of interrupt 33 controller you have. 34 - interrupt-parent : the phandle for the interrupt controller that 35 services interrupts for this device. 36 37Optional properties : 38 - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the 39 port power polarity of internal PHY signal DRVVBUS is inverted. 40 - fsl,invert-pwr-fault : boolean; for MPC5121 USB0 only. Indicates 41 the PWR_FAULT signal polarity is inverted. 42 43Example multi port host USB controller device node : 44 usb@22000 { 45 compatible = "fsl-usb2-mph"; 46 reg = <22000 1000>; 47 #address-cells = <1>; 48 #size-cells = <0>; 49 interrupt-parent = <700>; 50 interrupts = <27 1>; 51 phy_type = "ulpi"; 52 port0; 53 port1; 54 }; 55 56Example dual role USB controller device node : 57 usb@23000 { 58 compatible = "fsl-usb2-dr"; 59 reg = <23000 1000>; 60 #address-cells = <1>; 61 #size-cells = <0>; 62 interrupt-parent = <700>; 63 interrupts = <26 1>; 64 dr_mode = "otg"; 65 phy = "ulpi"; 66 }; 67 68Example dual role USB controller device node for MPC5121ADS: 69 70 usb@4000 { 71 compatible = "fsl,mpc5121-usb2-dr"; 72 reg = <0x4000 0x1000>; 73 #address-cells = <1>; 74 #size-cells = <0>; 75 interrupt-parent = < &ipic >; 76 interrupts = <44 0x8>; 77 dr_mode = "otg"; 78 phy_type = "utmi_wide"; 79 fsl,invert-drvvbus; 80 fsl,invert-pwr-fault; 81 }; 82