forked from Minki/linux
fbea230e78
Now there are generic phy type constants declared in phy.h, migrate over to using them rather than defining our own. This change has been done as one atomic commit to be bisectable. Note: The values of the defines are the same, so there is no ABI breakage with this patch. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
78 lines
2.4 KiB
Plaintext
78 lines
2.4 KiB
Plaintext
STMicroelectronics STi MIPHY365x PHY binding
|
|
============================================
|
|
|
|
This binding describes a miphy device that is used to control PHY hardware
|
|
for SATA and PCIe.
|
|
|
|
Required properties (controller (parent) node):
|
|
- compatible : Should be "st,miphy365x-phy"
|
|
- st,syscfg : Phandle / integer array property. Phandle of sysconfig group
|
|
containing the miphy registers and integer array should contain
|
|
an entry for each port sub-node, specifying the control
|
|
register offset inside the sysconfig group.
|
|
|
|
Required nodes : A sub-node is required for each channel the controller
|
|
provides. Address range information including the usual
|
|
'reg' and 'reg-names' properties are used inside these
|
|
nodes to describe the controller's topology. These nodes
|
|
are translated by the driver's .xlate() function.
|
|
|
|
Required properties (port (child) node):
|
|
- #phy-cells : Should be 1 (See second example)
|
|
Cell after port phandle is device type from:
|
|
- PHY_TYPE_SATA
|
|
- PHY_TYPE_PCI
|
|
- reg : Address and length of register sets for each device in
|
|
"reg-names"
|
|
- reg-names : The names of the register addresses corresponding to the
|
|
registers filled in "reg":
|
|
- sata: For SATA devices
|
|
- pcie: For PCIe devices
|
|
|
|
Optional properties (port (child) node):
|
|
- st,sata-gen : Generation of locally attached SATA IP. Expected values
|
|
are {1,2,3). If not supplied generation 1 hardware will
|
|
be expected
|
|
- st,pcie-tx-pol-inv : Bool property to invert the polarity PCIe Tx (Txn/Txp)
|
|
- st,sata-tx-pol-inv : Bool property to invert the polarity SATA Tx (Txn/Txp)
|
|
|
|
Example:
|
|
|
|
miphy365x_phy: miphy365x@fe382000 {
|
|
compatible = "st,miphy365x-phy";
|
|
st,syscfg = <&syscfg_rear 0x824 0x828>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
phy_port0: port@fe382000 {
|
|
reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
|
|
reg-names = "sata", "pcie";
|
|
#phy-cells = <1>;
|
|
st,sata-gen = <3>;
|
|
};
|
|
|
|
phy_port1: port@fe38a000 {
|
|
reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;;
|
|
reg-names = "sata", "pcie", "syscfg";
|
|
#phy-cells = <1>;
|
|
st,pcie-tx-pol-inv;
|
|
};
|
|
};
|
|
|
|
Specifying phy control of devices
|
|
=================================
|
|
|
|
Device nodes should specify the configuration required in their "phys"
|
|
property, containing a phandle to the phy port node and a device type.
|
|
|
|
Example:
|
|
|
|
#include <dt-bindings/phy/phy.h>
|
|
|
|
sata0: sata@fe380000 {
|
|
...
|
|
phys = <&phy_port0 PHY_TYPE_SATA>;
|
|
...
|
|
};
|