ufs-qcom.txt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. * Qualcomm Technologies Inc Universal Flash Storage (UFS) PHY
  2. UFSPHY nodes are defined to describe on-chip UFS PHY hardware macro.
  3. Each UFS PHY node should have its own node.
  4. To bind UFS PHY with UFS host controller, the controller node should
  5. contain a phandle reference to UFS PHY node.
  6. Required properties:
  7. - compatible : compatible list, contains "qcom,ufs-phy-qmp-20nm"
  8. or "qcom,ufs-phy-qmp-14nm" according to the relevant phy in use.
  9. - reg : should contain PHY register address space (mandatory),
  10. - reg-names : indicates various resources passed to driver (via reg proptery) by name.
  11. Required "reg-names" is "phy_mem".
  12. - #phy-cells : This property shall be set to 0
  13. - vdda-phy-supply : phandle to main PHY supply for analog domain
  14. - vdda-pll-supply : phandle to PHY PLL and Power-Gen block power supply
  15. - clocks : List of phandle and clock specifier pairs
  16. - clock-names : List of clock input name strings sorted in the same
  17. order as the clocks property. "ref_clk_src", "ref_clk",
  18. "tx_iface_clk" & "rx_iface_clk" are mandatory but
  19. "ref_clk_parent" is optional
  20. Optional properties:
  21. - vdda-phy-max-microamp : specifies max. load that can be drawn from phy supply
  22. - vdda-pll-max-microamp : specifies max. load that can be drawn from pll supply
  23. - vddp-ref-clk-supply : phandle to UFS device ref_clk pad power supply
  24. - vddp-ref-clk-max-microamp : specifies max. load that can be drawn from this supply
  25. - vddp-ref-clk-always-on : specifies if this supply needs to be kept always on
  26. Example:
  27. ufsphy1: ufsphy@0xfc597000 {
  28. compatible = "qcom,ufs-phy-qmp-20nm";
  29. reg = <0xfc597000 0x800>;
  30. reg-names = "phy_mem";
  31. #phy-cells = <0>;
  32. vdda-phy-supply = <&pma8084_l4>;
  33. vdda-pll-supply = <&pma8084_l12>;
  34. vdda-phy-max-microamp = <50000>;
  35. vdda-pll-max-microamp = <1000>;
  36. clock-names = "ref_clk_src",
  37. "ref_clk_parent",
  38. "ref_clk",
  39. "tx_iface_clk",
  40. "rx_iface_clk";
  41. clocks = <&clock_rpm clk_ln_bb_clk>,
  42. <&clock_gcc clk_pcie_1_phy_ldo >,
  43. <&clock_gcc clk_ufs_phy_ldo>,
  44. <&clock_gcc clk_gcc_ufs_tx_cfg_clk>,
  45. <&clock_gcc clk_gcc_ufs_rx_cfg_clk>;
  46. };
  47. ufshc@0xfc598000 {
  48. ...
  49. phys = <&ufsphy1>;
  50. phy-names = "ufsphy";
  51. };