phy-miphy28lp.txt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. STMicroelectronics STi MIPHY28LP PHY binding
  2. ============================================
  3. This binding describes a miphy device that is used to control PHY hardware
  4. for SATA, PCIe or USB3.
  5. Required properties (controller (parent) node):
  6. - compatible : Should be "st,miphy28lp-phy".
  7. - st,syscfg : Should be a phandle of the system configuration register group
  8. which contain the SATA, PCIe or USB3 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. - PHY_TYPE_SATA
  18. - PHY_TYPE_PCI
  19. - PHY_TYPE_USB3
  20. - reg : Address and length of the register set for the device.
  21. - reg-names : The names of the register addresses corresponding to the registers
  22. filled in "reg". It can also contain the offset of the system configuration
  23. registers used as glue-logic to setup the device for SATA/PCIe or USB3
  24. devices.
  25. - st,syscfg : Offset of the parent configuration register.
  26. - resets : phandle to the parent reset controller.
  27. - reset-names : Associated name must be "miphy-sw-rst".
  28. Optional properties (port (child) node):
  29. - st,osc-rdy : to check the MIPHY0_OSC_RDY status in the glue-logic. This
  30. is not available in all the MiPHY. For example, for STiH407, only the
  31. MiPHY0 has this bit.
  32. - st,osc-force-ext : to select the external oscillator. This can change from
  33. different MiPHY inside the same SoC.
  34. - st,sata_gen : to select which SATA_SPDMODE has to be set in the SATA system config
  35. register.
  36. - st,px_rx_pol_inv : to invert polarity of RXn/RXp (respectively negative line and positive
  37. line).
  38. - st,scc-on : enable ssc to reduce effects of EMI (only for sata or PCIe).
  39. - st,tx-impedance-comp : to compensate tx impedance avoiding out of range values.
  40. example:
  41. miphy28lp_phy: miphy28lp@9b22000 {
  42. compatible = "st,miphy28lp-phy";
  43. st,syscfg = <&syscfg_core>;
  44. #address-cells = <1>;
  45. #size-cells = <1>;
  46. ranges;
  47. phy_port0: port@9b22000 {
  48. reg = <0x9b22000 0xff>,
  49. <0x9b09000 0xff>,
  50. <0x9b04000 0xff>;
  51. reg-names = "sata-up",
  52. "pcie-up",
  53. "pipew";
  54. st,syscfg = <0x114 0x818 0xe0 0xec>;
  55. #phy-cells = <1>;
  56. st,osc-rdy;
  57. reset-names = "miphy-sw-rst";
  58. resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
  59. };
  60. phy_port1: port@9b2a000 {
  61. reg = <0x9b2a000 0xff>,
  62. <0x9b19000 0xff>,
  63. <0x9b14000 0xff>;
  64. reg-names = "sata-up",
  65. "pcie-up",
  66. "pipew";
  67. st,syscfg = <0x118 0x81c 0xe4 0xf0>;
  68. #phy-cells = <1>;
  69. st,osc-force-ext;
  70. reset-names = "miphy-sw-rst";
  71. resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
  72. };
  73. phy_port2: port@8f95000 {
  74. reg = <0x8f95000 0xff>,
  75. <0x8f90000 0xff>;
  76. reg-names = "pipew",
  77. "usb3-up";
  78. st,syscfg = <0x11c 0x820>;
  79. #phy-cells = <1>;
  80. reset-names = "miphy-sw-rst";
  81. resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
  82. };
  83. };
  84. Specifying phy control of devices
  85. =================================
  86. Device nodes should specify the configuration required in their "phys"
  87. property, containing a phandle to the miphy device node and an index
  88. specifying which configuration to use, as described in phy-bindings.txt.
  89. example:
  90. sata0: sata@9b20000 {
  91. ...
  92. phys = <&phy_port0 PHY_TYPE_SATA>;
  93. ...
  94. };
  95. Macro definitions for the supported miphy configuration can be found in:
  96. include/dt-bindings/phy/phy.h