phy-stm32-usbphyc.txt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. STMicroelectronics STM32 USB HS PHY controller
  2. The STM32 USBPHYC block contains a dual port High Speed UTMI+ PHY and a UTMI
  3. switch. It controls PHY configuration and status, and the UTMI+ switch that
  4. selects either OTG or HOST controller for the second PHY port. It also sets
  5. PLL configuration.
  6. USBPHYC
  7. |_ PLL
  8. |
  9. |_ PHY port#1 _________________ HOST controller
  10. | _ |
  11. | / 1|________________|
  12. |_ PHY port#2 ----| |________________
  13. | \_0| |
  14. |_ UTMI switch_______| OTG controller
  15. Phy provider node
  16. =================
  17. Required properties:
  18. - compatible: must be "st,stm32mp1-usbphyc"
  19. - reg: address and length of the usb phy control register set
  20. - clocks: phandle + clock specifier for the PLL phy clock
  21. - vdda1v1-supply: phandle to the regulator providing 1V1 power to the PHY
  22. - vdda1v8-supply: phandle to the regulator providing 1V8 power to the PHY
  23. - #address-cells: number of address cells for phys sub-nodes, must be <1>
  24. - #size-cells: number of size cells for phys sub-nodes, must be <0>
  25. Optional properties:
  26. - assigned-clocks: phandle + clock specifier for the PLL phy clock
  27. - assigned-clock-parents: the PLL phy clock parent
  28. - resets: phandle + reset specifier
  29. Required nodes: one sub-node per port the controller provides.
  30. Phy sub-nodes
  31. ==============
  32. Required properties:
  33. - reg: phy port index
  34. - phy-supply: phandle to the regulator providing 3V3 power to the PHY,
  35. see phy-bindings.txt in the same directory.
  36. - #phy-cells: see phy-bindings.txt in the same directory, must be <0> for PHY
  37. port#1 and must be <1> for PHY port#2, to select USB controller
  38. Example:
  39. usbphyc: usb-phy@5a006000 {
  40. compatible = "st,stm32mp1-usbphyc";
  41. reg = <0x5a006000 0x1000>;
  42. clocks = <&rcc_clk USBPHY_K>;
  43. resets = <&rcc_rst USBPHY_R>;
  44. #address-cells = <1>;
  45. #size-cells = <0>;
  46. usbphyc_port0: usb-phy@0 {
  47. reg = <0>;
  48. phy-supply = <&vdd_usb>;
  49. vdda1v1-supply = <&reg11>;
  50. vdda1v8-supply = <&reg18>
  51. #phy-cells = <0>;
  52. };
  53. usbphyc_port1: usb-phy@1 {
  54. reg = <1>;
  55. phy-supply = <&vdd_usb>;
  56. vdda1v1-supply = <&reg11>;
  57. vdda1v8-supply = <&reg18>
  58. #phy-cells = <1>;
  59. };
  60. };