phy-miphy365x.txt 2.4 KB

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