| 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>; |
| }; |
| }; |