phy-miphy365x.txt 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. STMicroelectronics STi MIPHY365x PHY binding
  2. ============================================
  3. This binding describes a miphy device that is used to control PHY hardware
  4. for SATA and PCIe.
  5. Required properties (controller (parent) node):
  6. - compatible : Should be "st,miphy365x-phy"
  7. - st,syscfg : Should be a phandle of the system configuration register group
  8. which contain the SATA, PCIe mode setting bits
  9. Required nodes : A sub-node is required for each channel the controller
  10. provides. Address range information including the usual
  11. 'reg' and 'reg-names' properties are used inside these
  12. nodes to describe the controller's topology. These nodes
  13. are translated by the driver's .xlate() function.
  14. Required properties (port (child) node):
  15. - #phy-cells : Should be 1 (See second example)
  16. Cell after port phandle is device type from:
  17. - MIPHY_TYPE_SATA
  18. - MIPHY_TYPE_PCI
  19. - reg : Address and length of register sets for each device in
  20. "reg-names"
  21. - reg-names : The names of the register addresses corresponding to the
  22. registers filled in "reg":
  23. - sata: For SATA devices
  24. - pcie: For PCIe devices
  25. - syscfg: To specify the syscfg based config register
  26. Optional properties (port (child) node):
  27. - st,sata-gen : Generation of locally attached SATA IP. Expected values
  28. are {1,2,3). If not supplied generation 1 hardware will
  29. be expected
  30. - st,pcie-tx-pol-inv : Bool property to invert the polarity PCIe Tx (Txn/Txp)
  31. - st,sata-tx-pol-inv : Bool property to invert the polarity SATA Tx (Txn/Txp)
  32. Example:
  33. miphy365x_phy: miphy365x@fe382000 {
  34. compatible = "st,miphy365x-phy";
  35. st,syscfg = <&syscfg_rear>;
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. ranges;
  39. phy_port0: port@fe382000 {
  40. reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>;
  41. reg-names = "sata", "pcie", "syscfg";
  42. #phy-cells = <1>;
  43. st,sata-gen = <3>;
  44. };
  45. phy_port1: port@fe38a000 {
  46. reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;;
  47. reg-names = "sata", "pcie", "syscfg";
  48. #phy-cells = <1>;
  49. st,pcie-tx-pol-inv;
  50. };
  51. };
  52. Specifying phy control of devices
  53. =================================
  54. Device nodes should specify the configuration required in their "phys"
  55. property, containing a phandle to the phy port node and a device type.
  56. Example:
  57. #include <dt-bindings/phy/phy-miphy365x.h>
  58. sata0: sata@fe380000 {
  59. ...
  60. phys = <&phy_port0 MIPHY_TYPE_SATA>;
  61. ...
  62. };