samsung-usbphy.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. SAMSUNG USB-PHY controllers
  2. ** Samsung's usb 2.0 phy transceiver
  3. The Samsung's usb 2.0 phy transceiver is used for controlling
  4. usb 2.0 phy for s3c-hsotg as well as ehci-s5p and ohci-exynos
  5. usb controllers across Samsung SOCs.
  6. TODO: Adding the PHY binding with controller(s) according to the under
  7. development generic PHY driver.
  8. Required properties:
  9. Exynos4210:
  10. - compatible : should be "samsung,exynos4210-usb2phy"
  11. - reg : base physical address of the phy registers and length of memory mapped
  12. region.
  13. - clocks: Clock IDs array as required by the controller.
  14. - clock-names: names of clock correseponding IDs clock property as requested
  15. by the controller driver.
  16. Exynos5250:
  17. - compatible : should be "samsung,exynos5250-usb2phy"
  18. - reg : base physical address of the phy registers and length of memory mapped
  19. region.
  20. Optional properties:
  21. - #address-cells: should be '1' when usbphy node has a child node with 'reg'
  22. property.
  23. - #size-cells: should be '1' when usbphy node has a child node with 'reg'
  24. property.
  25. - ranges: allows valid translation between child's address space and parent's
  26. address space.
  27. - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller
  28. interface for usb-phy. It should provide the following information required by
  29. usb-phy controller to control phy.
  30. - reg : base physical address of PHY_CONTROL registers.
  31. The size of this register is the total sum of size of all PHY_CONTROL
  32. registers that the SoC has. For example, the size will be
  33. '0x4' in case we have only one PHY_CONTROL register (e.g.
  34. OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210)
  35. and, '0x8' in case we have two PHY_CONTROL registers (e.g.
  36. USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x).
  37. and so on.
  38. Example:
  39. - Exynos4210
  40. usbphy@125B0000 {
  41. #address-cells = <1>;
  42. #size-cells = <1>;
  43. compatible = "samsung,exynos4210-usb2phy";
  44. reg = <0x125B0000 0x100>;
  45. ranges;
  46. clocks = <&clock 2>, <&clock 305>;
  47. clock-names = "xusbxti", "otg";
  48. usbphy-sys {
  49. /* USB device and host PHY_CONTROL registers */
  50. reg = <0x10020704 0x8>;
  51. };
  52. };
  53. ** Samsung's usb 3.0 phy transceiver
  54. Starting exynso5250, Samsung's SoC have usb 3.0 phy transceiver
  55. which is used for controlling usb 3.0 phy for dwc3-exynos usb 3.0
  56. controllers across Samsung SOCs.
  57. Required properties:
  58. Exynos5250:
  59. - compatible : should be "samsung,exynos5250-usb3phy"
  60. - reg : base physical address of the phy registers and length of memory mapped
  61. region.
  62. - clocks: Clock IDs array as required by the controller.
  63. - clock-names: names of clocks correseponding to IDs in the clock property
  64. as requested by the controller driver.
  65. Optional properties:
  66. - #address-cells: should be '1' when usbphy node has a child node with 'reg'
  67. property.
  68. - #size-cells: should be '1' when usbphy node has a child node with 'reg'
  69. property.
  70. - ranges: allows valid translation between child's address space and parent's
  71. address space.
  72. - The child node 'usbphy-sys' to the node 'usbphy' is for the system controller
  73. interface for usb-phy. It should provide the following information required by
  74. usb-phy controller to control phy.
  75. - reg : base physical address of PHY_CONTROL registers.
  76. The size of this register is the total sum of size of all PHY_CONTROL
  77. registers that the SoC has. For example, the size will be
  78. '0x4' in case we have only one PHY_CONTROL register (e.g.
  79. OTHERS register in S3C64XX or USB_PHY_CONTROL register in S5PV210)
  80. and, '0x8' in case we have two PHY_CONTROL registers (e.g.
  81. USBDEVICE_PHY_CONTROL and USBHOST_PHY_CONTROL registers in exynos4x).
  82. and so on.
  83. Example:
  84. usbphy@12100000 {
  85. compatible = "samsung,exynos5250-usb3phy";
  86. reg = <0x12100000 0x100>;
  87. #address-cells = <1>;
  88. #size-cells = <1>;
  89. ranges;
  90. clocks = <&clock 1>, <&clock 286>;
  91. clock-names = "ext_xtal", "usbdrd30";
  92. usbphy-sys {
  93. /* USB device and host PHY_CONTROL registers */
  94. reg = <0x10040704 0x8>;
  95. };
  96. };