Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | Freescale SOC USB controllers |
| 2 | |
| 3 | The device node for a USB controller that is part of a Freescale |
| 4 | SOC is as described in the document "Open Firmware Recommended |
| 5 | Practice : Universal Serial Bus" with the following modifications |
| 6 | and additions : |
| 7 | |
| 8 | Required 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 | Wherever applicable, the IP version of the USB controller should |
| 13 | also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). |
| 14 | - phy_type : For multi port host USB controllers, should be one of |
| 15 | "ulpi", or "serial". For dual role USB controllers, should be |
| 16 | one of "ulpi", "utmi", "utmi_wide", or "serial". |
| 17 | - reg : Offset and length of the register set for the device |
| 18 | - port0 : boolean; if defined, indicates port0 is connected for |
| 19 | fsl-usb2-mph compatible controllers. Either this property or |
| 20 | "port1" (or both) must be defined for "fsl-usb2-mph" compatible |
| 21 | controllers. |
| 22 | - port1 : boolean; if defined, indicates port1 is connected for |
| 23 | fsl-usb2-mph compatible controllers. Either this property or |
| 24 | "port0" (or both) must be defined for "fsl-usb2-mph" compatible |
| 25 | controllers. |
| 26 | - dr_mode : indicates the working mode for "fsl-usb2-dr" compatible |
| 27 | controllers. Can be "host", "peripheral", or "otg". Default to |
| 28 | "host" if not defined for backward compatibility. |
| 29 | |
| 30 | Recommended properties : |
| 31 | - interrupts : <a b> where a is the interrupt number and b is a |
| 32 | field that represents an encoding of the sense and level |
| 33 | information for the interrupt. This should be encoded based on |
| 34 | the information in section 2) depending on the type of interrupt |
| 35 | controller you have. |
| 36 | |
| 37 | Optional 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 | |
| 43 | Example 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 | |
| 56 | Example 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 | |
| 68 | Example 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 | }; |