diff options
Diffstat (limited to 'Documentation/devicetree/bindings/usb/samsung-usbphy.txt')
-rw-r--r-- | Documentation/devicetree/bindings/usb/samsung-usbphy.txt | 78 |
1 files changed, 70 insertions, 8 deletions
diff --git a/Documentation/devicetree/bindings/usb/samsung-usbphy.txt b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt index 033194934f64..33fd3543f3f8 100644 --- a/Documentation/devicetree/bindings/usb/samsung-usbphy.txt +++ b/Documentation/devicetree/bindings/usb/samsung-usbphy.txt | |||
@@ -1,20 +1,25 @@ | |||
1 | * Samsung's usb phy transceiver | 1 | SAMSUNG USB-PHY controllers |
2 | 2 | ||
3 | The Samsung's phy transceiver is used for controlling usb phy for | 3 | ** Samsung's usb 2.0 phy transceiver |
4 | s3c-hsotg as well as ehci-s5p and ohci-exynos usb controllers | 4 | |
5 | across Samsung SOCs. | 5 | The Samsung's usb 2.0 phy transceiver is used for controlling |
6 | usb 2.0 phy for s3c-hsotg as well as ehci-s5p and ohci-exynos | ||
7 | usb controllers across Samsung SOCs. | ||
6 | TODO: Adding the PHY binding with controller(s) according to the under | 8 | TODO: Adding the PHY binding with controller(s) according to the under |
7 | developement generic PHY driver. | 9 | development generic PHY driver. |
8 | 10 | ||
9 | Required properties: | 11 | Required properties: |
10 | 12 | ||
11 | Exynos4210: | 13 | Exynos4210: |
12 | - compatible : should be "samsung,exynos4210-usbphy" | 14 | - compatible : should be "samsung,exynos4210-usb2phy" |
13 | - reg : base physical address of the phy registers and length of memory mapped | 15 | - reg : base physical address of the phy registers and length of memory mapped |
14 | region. | 16 | region. |
17 | - clocks: Clock IDs array as required by the controller. | ||
18 | - clock-names: names of clock correseponding IDs clock property as requested | ||
19 | by the controller driver. | ||
15 | 20 | ||
16 | Exynos5250: | 21 | Exynos5250: |
17 | - compatible : should be "samsung,exynos5250-usbphy" | 22 | - compatible : should be "samsung,exynos5250-usb2phy" |
18 | - reg : base physical address of the phy registers and length of memory mapped | 23 | - reg : base physical address of the phy registers and length of memory mapped |
19 | region. | 24 | region. |
20 | 25 | ||
@@ -44,12 +49,69 @@ Example: | |||
44 | usbphy@125B0000 { | 49 | usbphy@125B0000 { |
45 | #address-cells = <1>; | 50 | #address-cells = <1>; |
46 | #size-cells = <1>; | 51 | #size-cells = <1>; |
47 | compatible = "samsung,exynos4210-usbphy"; | 52 | compatible = "samsung,exynos4210-usb2phy"; |
48 | reg = <0x125B0000 0x100>; | 53 | reg = <0x125B0000 0x100>; |
49 | ranges; | 54 | ranges; |
50 | 55 | ||
56 | clocks = <&clock 2>, <&clock 305>; | ||
57 | clock-names = "xusbxti", "otg"; | ||
58 | |||
51 | usbphy-sys { | 59 | usbphy-sys { |
52 | /* USB device and host PHY_CONTROL registers */ | 60 | /* USB device and host PHY_CONTROL registers */ |
53 | reg = <0x10020704 0x8>; | 61 | reg = <0x10020704 0x8>; |
54 | }; | 62 | }; |
55 | }; | 63 | }; |
64 | |||
65 | |||
66 | ** Samsung's usb 3.0 phy transceiver | ||
67 | |||
68 | Starting exynso5250, Samsung's SoC have usb 3.0 phy transceiver | ||
69 | which is used for controlling usb 3.0 phy for dwc3-exynos usb 3.0 | ||
70 | controllers across Samsung SOCs. | ||
71 | |||
72 | Required properties: | ||
73 | |||
74 | Exynos5250: | ||
75 | - compatible : should be "samsung,exynos5250-usb3phy" | ||
76 | - reg : base physical address of the phy registers and length of memory mapped | ||
77 | region. | ||
78 | - clocks: Clock IDs array as required by the controller. | ||
79 | - clock-names: names of clocks correseponding to IDs in the clock property | ||
80 | as requested by the controller driver. | ||
81 | |||
82 | Optional properties: | ||
83 | - #address-cells: should be '1' when usbphy node has a child node with 'reg' | ||
84 | property. | ||
85 | - #size-cells: should be '1' when usbphy node has a child node with 'reg' | ||
86 | property. | ||
87 | - ranges: allows valid translation between child's address space and parent's | ||
88 | address space. | ||
89 | |||
90 | - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller | ||
91 | interface for usb-phy. It should provide the following information required by | ||
92 | usb-phy controller to control phy. | ||
93 | - reg : base physical address of PHY_CONTROL registers. | ||
94 | The size of this register is the total sum of size of all PHY_CONTROL | ||
95 | registers that the SoC has. For example, the size will be | ||
96 | '0x4' in case we have only one PHY_CONTROL register (e.g. | ||
97 | OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210) | ||
98 | and, '0x8' in case we have two PHY_CONTROL registers (e.g. | ||
99 | USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x). | ||
100 | and so on. | ||
101 | |||
102 | Example: | ||
103 | usbphy@12100000 { | ||
104 | compatible = "samsung,exynos5250-usb3phy"; | ||
105 | reg = <0x12100000 0x100>; | ||
106 | #address-cells = <1>; | ||
107 | #size-cells = <1>; | ||
108 | ranges; | ||
109 | |||
110 | clocks = <&clock 1>, <&clock 286>; | ||
111 | clock-names = "ext_xtal", "usbdrd30"; | ||
112 | |||
113 | usbphy-sys { | ||
114 | /* USB device and host PHY_CONTROL registers */ | ||
115 | reg = <0x10040704 0x8>; | ||
116 | }; | ||
117 | }; | ||