| SAMSUNG USB-PHY controllers | 
 |  | 
 | ** Samsung's usb 2.0 phy transceiver | 
 |  | 
 | The Samsung's usb 2.0 phy transceiver is used for controlling | 
 | usb 2.0 phy for s3c-hsotg as well as ehci-s5p and ohci-exynos | 
 | usb controllers across Samsung SOCs. | 
 | TODO: Adding the PHY binding with controller(s) according to the under | 
 | development generic PHY driver. | 
 |  | 
 | Required properties: | 
 |  | 
 | Exynos4210: | 
 | - compatible : should be "samsung,exynos4210-usb2phy" | 
 | - reg : base physical address of the phy registers and length of memory mapped | 
 | 	region. | 
 | - clocks: Clock IDs array as required by the controller. | 
 | - clock-names: names of clock correseponding IDs clock property as requested | 
 | 	       by the controller driver. | 
 |  | 
 | Exynos5250: | 
 | - compatible : should be "samsung,exynos5250-usb2phy" | 
 | - reg : base physical address of the phy registers and length of memory mapped | 
 | 	region. | 
 |  | 
 | Optional properties: | 
 | - #address-cells: should be '1' when usbphy node has a child node with 'reg' | 
 | 		  property. | 
 | - #size-cells: should be '1' when usbphy node has a child node with 'reg' | 
 | 	       property. | 
 | - ranges: allows valid translation between child's address space and parent's | 
 | 	  address space. | 
 |  | 
 | - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller | 
 |   interface for usb-phy. It should provide the following information required by | 
 |   usb-phy controller to control phy. | 
 |   - reg : base physical address of PHY_CONTROL registers. | 
 | 	  The size of this register is the total sum of size of all PHY_CONTROL | 
 | 	  registers that the SoC has. For example, the size will be | 
 | 	  '0x4' in case we have only one PHY_CONTROL register (e.g. | 
 | 	  OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210) | 
 | 	  and, '0x8' in case we have two PHY_CONTROL registers (e.g. | 
 | 	  USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x). | 
 | 	  and so on. | 
 |  | 
 | Example: | 
 |  - Exynos4210 | 
 |  | 
 | 	usbphy@125B0000 { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		compatible = "samsung,exynos4210-usb2phy"; | 
 | 		reg = <0x125B0000 0x100>; | 
 | 		ranges; | 
 |  | 
 | 		clocks = <&clock 2>, <&clock 305>; | 
 | 		clock-names = "xusbxti", "otg"; | 
 |  | 
 | 		usbphy-sys { | 
 | 			/* USB device and host PHY_CONTROL registers */ | 
 | 			reg = <0x10020704 0x8>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 |  | 
 | ** Samsung's usb 3.0 phy transceiver | 
 |  | 
 | Starting exynso5250, Samsung's SoC have usb 3.0 phy transceiver | 
 | which is used for controlling usb 3.0 phy for dwc3-exynos usb 3.0 | 
 | controllers across Samsung SOCs. | 
 |  | 
 | Required properties: | 
 |  | 
 | Exynos5250: | 
 | - compatible : should be "samsung,exynos5250-usb3phy" | 
 | - reg : base physical address of the phy registers and length of memory mapped | 
 | 	region. | 
 | - clocks: Clock IDs array as required by the controller. | 
 | - clock-names: names of clocks correseponding to IDs in the clock property | 
 | 	       as requested by the controller driver. | 
 |  | 
 | Optional properties: | 
 | - #address-cells: should be '1' when usbphy node has a child node with 'reg' | 
 | 		  property. | 
 | - #size-cells: should be '1' when usbphy node has a child node with 'reg' | 
 | 	       property. | 
 | - ranges: allows valid translation between child's address space and parent's | 
 | 	  address space. | 
 |  | 
 | - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller | 
 |   interface for usb-phy. It should provide the following information required by | 
 |   usb-phy controller to control phy. | 
 |   - reg : base physical address of PHY_CONTROL registers. | 
 | 	  The size of this register is the total sum of size of all PHY_CONTROL | 
 | 	  registers that the SoC has. For example, the size will be | 
 | 	  '0x4' in case we have only one PHY_CONTROL register (e.g. | 
 | 	  OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210) | 
 | 	  and, '0x8' in case we have two PHY_CONTROL registers (e.g. | 
 | 	  USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x). | 
 | 	  and so on. | 
 |  | 
 | Example: | 
 | 	usbphy@12100000 { | 
 | 		compatible = "samsung,exynos5250-usb3phy"; | 
 | 		reg = <0x12100000 0x100>; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		ranges; | 
 |  | 
 | 		clocks = <&clock 1>, <&clock 286>; | 
 | 		clock-names = "ext_xtal", "usbdrd30"; | 
 |  | 
 | 		usbphy-sys { | 
 | 			/* USB device and host PHY_CONTROL registers */ | 
 | 			reg = <0x10040704 0x8>; | 
 | 		}; | 
 | 	}; |