mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-06 00:17:46 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
79
Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
Normal file
79
Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
Normal file
|
@ -0,0 +1,79 @@
|
|||
* APM X-Gene 15Gbps Multi-purpose PHY nodes
|
||||
|
||||
PHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each
|
||||
PHY (pair of lanes) has its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible : Shall be "apm,xgene-phy".
|
||||
- reg : PHY memory resource is the SDS PHY access resource.
|
||||
- #phy-cells : Shall be 1 as it expects one argument for setting
|
||||
the mode of the PHY. Possible values are 0 (SATA),
|
||||
1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).
|
||||
|
||||
Optional properties:
|
||||
- status : Shall be "ok" if enabled or "disabled" if disabled.
|
||||
Default is "ok".
|
||||
- clocks : Reference to the clock entry.
|
||||
- apm,tx-eye-tuning : Manual control to fine tune the capture of the serial
|
||||
bit lines from the automatic calibrated position.
|
||||
Two set of 3-tuple setting for each (up to 3)
|
||||
supported link speed on the host. Range from 0 to
|
||||
127 in unit of one bit period. Default is 10.
|
||||
- apm,tx-eye-direction : Eye tuning manual control direction. 0 means sample
|
||||
data earlier than the nominal sampling point. 1 means
|
||||
sample data later than the nominal sampling point.
|
||||
Two set of 3-tuple setting for each (up to 3)
|
||||
supported link speed on the host. Default is 0.
|
||||
- apm,tx-boost-gain : Frequency boost AC (LSB 3-bit) and DC (2-bit)
|
||||
gain control. Two set of 3-tuple setting for each
|
||||
(up to 3) supported link speed on the host. Range is
|
||||
between 0 to 31 in unit of dB. Default is 3.
|
||||
- apm,tx-amplitude : Amplitude control. Two set of 3-tuple setting for
|
||||
each (up to 3) supported link speed on the host.
|
||||
Range is between 0 to 199500 in unit of uV.
|
||||
Default is 199500 uV.
|
||||
- apm,tx-pre-cursor1 : 1st pre-cursor emphasis taps control. Two set of
|
||||
3-tuple setting for each (up to 3) supported link
|
||||
speed on the host. Range is 0 to 273000 in unit of
|
||||
uV. Default is 0.
|
||||
- apm,tx-pre-cursor2 : 2st pre-cursor emphasis taps control. Two set of
|
||||
3-tuple setting for each (up to 3) supported link
|
||||
speed on the host. Range is 0 to 127400 in unit uV.
|
||||
Default is 0x0.
|
||||
- apm,tx-post-cursor : Post-cursor emphasis taps control. Two set of
|
||||
3-tuple setting for Gen1, Gen2, and Gen3. Range is
|
||||
between 0 to 0x1f in unit of 18.2mV. Default is 0xf.
|
||||
- apm,tx-speed : Tx operating speed. One set of 3-tuple for each
|
||||
supported link speed on the host.
|
||||
0 = 1-2Gbps
|
||||
1 = 2-4Gbps (1st tuple default)
|
||||
2 = 4-8Gbps
|
||||
3 = 8-15Gbps (2nd tuple default)
|
||||
4 = 2.5-4Gbps
|
||||
5 = 4-5Gbps
|
||||
6 = 5-6Gbps
|
||||
7 = 6-16Gbps (3rd tuple default)
|
||||
|
||||
NOTE: PHY override parameters are board specific setting.
|
||||
|
||||
Example:
|
||||
phy1: phy@1f21a000 {
|
||||
compatible = "apm,xgene-phy";
|
||||
reg = <0x0 0x1f21a000 0x0 0x100>;
|
||||
#phy-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
phy2: phy@1f22a000 {
|
||||
compatible = "apm,xgene-phy";
|
||||
reg = <0x0 0x1f22a000 0x0 0x100>;
|
||||
#phy-cells = <1>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
phy3: phy@1f23a000 {
|
||||
compatible = "apm,xgene-phy";
|
||||
reg = <0x0 0x1f23a000 0x0 0x100>;
|
||||
#phy-cells = <1>;
|
||||
status = "ok";
|
||||
};
|
15
Documentation/devicetree/bindings/phy/bcm-phy.txt
Normal file
15
Documentation/devicetree/bindings/phy/bcm-phy.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
BROADCOM KONA USB2 PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: brcm,kona-usb2-phy
|
||||
- reg: offset and length of the PHY registers
|
||||
- #phy-cells: must be 0
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties
|
||||
|
||||
Example:
|
||||
|
||||
usbphy: usb-phy@3f130000 {
|
||||
compatible = "brcm,kona-usb2-phy";
|
||||
reg = <0x3f130000 0x28>;
|
||||
#phy-cells = <0>;
|
||||
};
|
34
Documentation/devicetree/bindings/phy/berlin-sata-phy.txt
Normal file
34
Documentation/devicetree/bindings/phy/berlin-sata-phy.txt
Normal file
|
@ -0,0 +1,34 @@
|
|||
Berlin SATA PHY
|
||||
---------------
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "marvell,berlin2q-sata-phy"
|
||||
- address-cells: should be 1
|
||||
- size-cells: should be 0
|
||||
- phy-cells: from the generic PHY bindings, must be 1
|
||||
- reg: address and length of the register
|
||||
- clocks: reference to the clock entry
|
||||
|
||||
Sub-nodes:
|
||||
Each PHY should be represented as a sub-node.
|
||||
|
||||
Sub-nodes required properties:
|
||||
- reg: the PHY number
|
||||
|
||||
Example:
|
||||
sata_phy: phy@f7e900a0 {
|
||||
compatible = "marvell,berlin2q-sata-phy";
|
||||
reg = <0xf7e900a0 0x200>;
|
||||
clocks = <&chip CLKID_SATA>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#phy-cells = <1>;
|
||||
|
||||
sata-phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
sata-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
22
Documentation/devicetree/bindings/phy/hix5hd2-phy.txt
Normal file
22
Documentation/devicetree/bindings/phy/hix5hd2-phy.txt
Normal file
|
@ -0,0 +1,22 @@
|
|||
Hisilicon hix5hd2 SATA PHY
|
||||
-----------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "hisilicon,hix5hd2-sata-phy"
|
||||
- reg: offset and length of the PHY registers
|
||||
- #phy-cells: must be 0
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties
|
||||
|
||||
Optional Properties:
|
||||
- hisilicon,peripheral-syscon: phandle of syscon used to control peripheral.
|
||||
- hisilicon,power-reg: offset and bit number within peripheral-syscon,
|
||||
register of controlling sata power supply.
|
||||
|
||||
Example:
|
||||
sata_phy: phy@f9900000 {
|
||||
compatible = "hisilicon,hix5hd2-sata-phy";
|
||||
reg = <0xf9900000 0x10000>;
|
||||
#phy-cells = <0>;
|
||||
hisilicon,peripheral-syscon = <&peripheral_ctrl>;
|
||||
hisilicon,power-reg = <0x8 10>;
|
||||
};
|
70
Documentation/devicetree/bindings/phy/phy-bindings.txt
Normal file
70
Documentation/devicetree/bindings/phy/phy-bindings.txt
Normal file
|
@ -0,0 +1,70 @@
|
|||
This document explains only the device tree data binding. For general
|
||||
information about PHY subsystem refer to Documentation/phy.txt
|
||||
|
||||
PHY device node
|
||||
===============
|
||||
|
||||
Required Properties:
|
||||
#phy-cells: Number of cells in a PHY specifier; The meaning of all those
|
||||
cells is defined by the binding for the phy node. The PHY
|
||||
provider can use the values in cells to find the appropriate
|
||||
PHY.
|
||||
|
||||
Optional Properties:
|
||||
phy-supply: Phandle to a regulator that provides power to the PHY. This
|
||||
regulator will be managed during the PHY power on/off sequence.
|
||||
|
||||
For example:
|
||||
|
||||
phys: phy {
|
||||
compatible = "xxx";
|
||||
reg = <...>;
|
||||
.
|
||||
.
|
||||
#phy-cells = <1>;
|
||||
.
|
||||
.
|
||||
};
|
||||
|
||||
That node describes an IP block (PHY provider) that implements 2 different PHYs.
|
||||
In order to differentiate between these 2 PHYs, an additional specifier should be
|
||||
given while trying to get a reference to it.
|
||||
|
||||
PHY user node
|
||||
=============
|
||||
|
||||
Required Properties:
|
||||
phys : the phandle for the PHY device (used by the PHY subsystem)
|
||||
phy-names : the names of the PHY corresponding to the PHYs present in the
|
||||
*phys* phandle
|
||||
|
||||
Example 1:
|
||||
usb1: usb_otg_ss@xxx {
|
||||
compatible = "xxx";
|
||||
reg = <xxx>;
|
||||
.
|
||||
.
|
||||
phys = <&usb2_phy>, <&usb3_phy>;
|
||||
phy-names = "usb2phy", "usb3phy";
|
||||
.
|
||||
.
|
||||
};
|
||||
|
||||
This node represents a controller that uses two PHYs, one for usb2 and one for
|
||||
usb3.
|
||||
|
||||
Example 2:
|
||||
usb2: usb_otg_ss@xxx {
|
||||
compatible = "xxx";
|
||||
reg = <xxx>;
|
||||
.
|
||||
.
|
||||
phys = <&phys 1>;
|
||||
phy-names = "usbphy";
|
||||
.
|
||||
.
|
||||
};
|
||||
|
||||
This node represents a controller that uses one of the PHYs of the PHY provider
|
||||
device defined previously. Note that the phy handle has an additional specifier
|
||||
"1" to differentiate between the two PHYs.
|
76
Documentation/devicetree/bindings/phy/phy-miphy365x.txt
Normal file
76
Documentation/devicetree/bindings/phy/phy-miphy365x.txt
Normal file
|
@ -0,0 +1,76 @@
|
|||
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 : Should be a phandle of the system configuration register group
|
||||
which contain the SATA, PCIe mode setting bits
|
||||
|
||||
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:
|
||||
- MIPHY_TYPE_SATA
|
||||
- MIPHY_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
|
||||
- syscfg: To specify the syscfg based config register
|
||||
|
||||
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>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
phy_port0: port@fe382000 {
|
||||
reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>;
|
||||
reg-names = "sata", "pcie", "syscfg";
|
||||
#phy-cells = <1>;
|
||||
st,sata-gen = <3>;
|
||||
};
|
||||
|
||||
phy_port1: port@fe38a000 {
|
||||
reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;;
|
||||
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-miphy365x.h>
|
||||
|
||||
sata0: sata@fe380000 {
|
||||
...
|
||||
phys = <&phy_port0 MIPHY_TYPE_SATA>;
|
||||
...
|
||||
};
|
30
Documentation/devicetree/bindings/phy/phy-stih407-usb.txt
Normal file
30
Documentation/devicetree/bindings/phy/phy-stih407-usb.txt
Normal file
|
@ -0,0 +1,30 @@
|
|||
ST STiH407 USB PHY controller
|
||||
|
||||
This file documents the dt bindings for the usb picoPHY driver which is the PHY for both USB2 and USB3
|
||||
host controllers (when controlling usb2/1.1 devices) available on STiH407 SoC family from STMicroelectronics.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "st,stih407-usb2-phy"
|
||||
- reg : contain the offset and length of the system configuration registers
|
||||
used as glue logic to control & parameter phy
|
||||
- reg-names : the names of the system configuration registers in "reg", should be "param" and "reg"
|
||||
- st,syscfg : sysconfig register to manage phy parameter at driver level
|
||||
- resets : list of phandle and reset specifier pairs. There should be two entries, one
|
||||
for the whole phy and one for the port
|
||||
- reset-names : list of reset signal names. Should be "global" and "port"
|
||||
See: Documentation/devicetree/bindings/reset/st,sti-powerdown.txt
|
||||
See: Documentation/devicetree/bindings/reset/reset.txt
|
||||
|
||||
Example:
|
||||
|
||||
usb2_picophy0: usbpicophy@f8 {
|
||||
compatible = "st,stih407-usb2-phy";
|
||||
reg = <0xf8 0x04>, /* syscfg 5062 */
|
||||
<0xf4 0x04>; /* syscfg 5061 */
|
||||
reg-names = "param", "ctrl";
|
||||
#phy-cells = <0>;
|
||||
st,syscfg = <&syscfg_core>;
|
||||
resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
|
||||
<&picophyreset STIH407_PICOPHY0_RESET>;
|
||||
reset-names = "global", "port";
|
||||
};
|
24
Documentation/devicetree/bindings/phy/phy-stih41x-usb.txt
Normal file
24
Documentation/devicetree/bindings/phy/phy-stih41x-usb.txt
Normal file
|
@ -0,0 +1,24 @@
|
|||
STMicroelectronics STiH41x USB PHY binding
|
||||
------------------------------------------
|
||||
|
||||
This file contains documentation for the usb phy found in STiH415/6 SoCs from
|
||||
STMicroelectronics.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "st,stih416-usb-phy" or "st,stih415-usb-phy"
|
||||
- st,syscfg : should be a phandle of the syscfg node
|
||||
- clock-names : must contain "osc_phy"
|
||||
- clocks : must contain an entry for each name in clock-names.
|
||||
See: Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
- #phy-cells : must be 0 for this phy
|
||||
See: Documentation/devicetree/bindings/phy/phy-bindings.txt
|
||||
|
||||
Example:
|
||||
|
||||
usb2_phy: usb2phy@0 {
|
||||
compatible = "st,stih416-usb-phy";
|
||||
#phy-cell = <0>;
|
||||
st,syscfg = <&syscfg_rear>;
|
||||
clocks = <&clk_sysin>;
|
||||
clock-names = "osc_phy";
|
||||
};
|
|
@ -0,0 +1,24 @@
|
|||
Qualcomm APQ8064 SATA PHY Controller
|
||||
------------------------------------
|
||||
|
||||
SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
|
||||
Each SATA PHY controller should have its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible: compatible list, contains "qcom,apq8064-sata-phy".
|
||||
- reg: offset and length of the SATA PHY register set;
|
||||
- #phy-cells: must be zero
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
- clock-names: must be "cfg" for phy config clock.
|
||||
|
||||
Example:
|
||||
sata_phy: sata-phy@1b400000 {
|
||||
compatible = "qcom,apq8064-sata-phy";
|
||||
reg = <0x1b400000 0x200>;
|
||||
|
||||
clocks = <&gcc SATA_PHY_CFG_CLK>;
|
||||
clock-names = "cfg";
|
||||
|
||||
#phy-cells = <0>;
|
||||
};
|
39
Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
Normal file
39
Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
Normal file
|
@ -0,0 +1,39 @@
|
|||
Qualcomm DWC3 HS AND SS PHY CONTROLLER
|
||||
--------------------------------------
|
||||
|
||||
DWC3 PHY nodes are defined to describe on-chip Synopsis Physical layer
|
||||
controllers. Each DWC3 PHY controller should have its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain one of the following:
|
||||
- "qcom,dwc3-hs-usb-phy" for High Speed Synopsis PHY controller
|
||||
- "qcom,dwc3-ss-usb-phy" for Super Speed Synopsis PHY controller
|
||||
- reg: offset and length of the DWC3 PHY controller register set
|
||||
- #phy-cells: must be zero
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
- clock-names: Should contain "ref" for the PHY reference clock
|
||||
|
||||
Optional clocks:
|
||||
"xo" External reference clock
|
||||
|
||||
Example:
|
||||
phy@100f8800 {
|
||||
compatible = "qcom,dwc3-hs-usb-phy";
|
||||
reg = <0x100f8800 0x30>;
|
||||
clocks = <&gcc USB30_0_UTMI_CLK>;
|
||||
clock-names = "ref";
|
||||
#phy-cells = <0>;
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
phy@100f8830 {
|
||||
compatible = "qcom,dwc3-ss-usb-phy";
|
||||
reg = <0x100f8830 0x30>;
|
||||
clocks = <&gcc USB30_0_MASTER_CLK>;
|
||||
clock-names = "ref";
|
||||
#phy-cells = <0>;
|
||||
|
||||
status = "ok";
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
Qualcomm IPQ806x SATA PHY Controller
|
||||
------------------------------------
|
||||
|
||||
SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
|
||||
Each SATA PHY controller should have its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible: compatible list, contains "qcom,ipq806x-sata-phy"
|
||||
- reg: offset and length of the SATA PHY register set;
|
||||
- #phy-cells: must be zero
|
||||
- clocks: must be exactly one entry
|
||||
- clock-names: must be "cfg"
|
||||
|
||||
Example:
|
||||
sata_phy: sata-phy@1b400000 {
|
||||
compatible = "qcom,ipq806x-sata-phy";
|
||||
reg = <0x1b400000 0x200>;
|
||||
|
||||
clocks = <&gcc SATA_PHY_CFG_CLK>;
|
||||
clock-names = "cfg";
|
||||
|
||||
#phy-cells = <0>;
|
||||
};
|
51
Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
Normal file
51
Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
Normal file
|
@ -0,0 +1,51 @@
|
|||
* Renesas R-Car generation 2 USB PHY
|
||||
|
||||
This file provides information on what the device node for the R-Car generation
|
||||
2 USB PHY contains.
|
||||
|
||||
Required properties:
|
||||
- compatible: "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
|
||||
"renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
|
||||
- reg: offset and length of the register block.
|
||||
- #address-cells: number of address cells for the USB channel subnodes, must
|
||||
be <1>.
|
||||
- #size-cells: number of size cells for the USB channel subnodes, must be <0>.
|
||||
- clocks: clock phandle and specifier pair.
|
||||
- clock-names: string, clock input name, must be "usbhs".
|
||||
|
||||
The USB PHY device tree node should have the subnodes corresponding to the USB
|
||||
channels. These subnodes must contain the following properties:
|
||||
- reg: the USB controller selector; see the table below for the values.
|
||||
- #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
|
||||
|
||||
The phandle's argument in the PHY specifier is the USB controller selector for
|
||||
the USB channel; see the selector meanings below:
|
||||
|
||||
+-----------+---------------+---------------+
|
||||
|\ Selector | | |
|
||||
+ --------- + 0 | 1 |
|
||||
| Channel \| | |
|
||||
+-----------+---------------+---------------+
|
||||
| 0 | PCI EHCI/OHCI | HS-USB |
|
||||
| 2 | PCI EHCI/OHCI | xHCI |
|
||||
+-----------+---------------+---------------+
|
||||
|
||||
Example (Lager board):
|
||||
|
||||
usb-phy@e6590100 {
|
||||
compatible = "renesas,usb-phy-r8a7790";
|
||||
reg = <0 0xe6590100 0 0x100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
|
||||
clock-names = "usbhs";
|
||||
|
||||
usb-channel@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
usb-channel@2 {
|
||||
reg = <2>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
};
|
169
Documentation/devicetree/bindings/phy/samsung-phy.txt
Normal file
169
Documentation/devicetree/bindings/phy/samsung-phy.txt
Normal file
|
@ -0,0 +1,169 @@
|
|||
Samsung S5P/EXYNOS SoC series MIPI CSIS/DSIM DPHY
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "samsung,s5pv210-mipi-video-phy";
|
||||
- reg : offset and length of the MIPI DPHY register set;
|
||||
- #phy-cells : from the generic phy bindings, must be 1;
|
||||
|
||||
For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in
|
||||
the PHY specifier identifies the PHY and its meaning is as follows:
|
||||
0 - MIPI CSIS 0,
|
||||
1 - MIPI DSIM 0,
|
||||
2 - MIPI CSIS 1,
|
||||
3 - MIPI DSIM 1.
|
||||
|
||||
Samsung EXYNOS SoC series Display Port PHY
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of the following supported values:
|
||||
- "samsung,exynos5250-dp-video-phy"
|
||||
- "samsung,exynos5420-dp-video-phy"
|
||||
- samsung,pmu-syscon: phandle for PMU system controller interface, used to
|
||||
control pmu registers for power isolation.
|
||||
- #phy-cells : from the generic PHY bindings, must be 0;
|
||||
|
||||
Samsung S5P/EXYNOS SoC series USB PHY
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of the listed compatibles:
|
||||
- "samsung,exynos3250-usb2-phy"
|
||||
- "samsung,exynos4210-usb2-phy"
|
||||
- "samsung,exynos4x12-usb2-phy"
|
||||
- "samsung,exynos5250-usb2-phy"
|
||||
- "samsung,s5pv210-usb2-phy"
|
||||
- reg : a list of registers used by phy driver
|
||||
- first and obligatory is the location of phy modules registers
|
||||
- samsung,sysreg-phandle - handle to syscon used to control the system registers
|
||||
- samsung,pmureg-phandle - handle to syscon used to control PMU registers
|
||||
- #phy-cells : from the generic phy bindings, must be 1;
|
||||
- clocks and clock-names:
|
||||
- the "phy" clock is required by the phy module, used as a gate
|
||||
- the "ref" clock is used to get the rate of the clock provided to the
|
||||
PHY module
|
||||
|
||||
The first phandle argument in the PHY specifier identifies the PHY, its
|
||||
meaning is compatible dependent. For the currently supported SoCs (Exynos 4210
|
||||
and Exynos 4212) it is as follows:
|
||||
0 - USB device ("device"),
|
||||
1 - USB host ("host"),
|
||||
2 - HSIC0 ("hsic0"),
|
||||
3 - HSIC1 ("hsic1"),
|
||||
Exynos3250 has only USB device phy available as phy 0.
|
||||
|
||||
Exynos 4210 and Exynos 4212 use mode switching and require that mode switch
|
||||
register is supplied.
|
||||
|
||||
Example:
|
||||
|
||||
For Exynos 4412 (compatible with Exynos 4212):
|
||||
|
||||
usbphy: phy@125b0000 {
|
||||
compatible = "samsung,exynos4x12-usb2-phy";
|
||||
reg = <0x125b0000 0x100>;
|
||||
clocks = <&clock 305>, <&clock 2>;
|
||||
clock-names = "phy", "ref";
|
||||
status = "okay";
|
||||
#phy-cells = <1>;
|
||||
samsung,sysreg-phandle = <&sys_reg>;
|
||||
samsung,pmureg-phandle = <&pmu_reg>;
|
||||
};
|
||||
|
||||
Then the PHY can be used in other nodes such as:
|
||||
|
||||
phy-consumer@12340000 {
|
||||
phys = <&usbphy 2>;
|
||||
phy-names = "phy";
|
||||
};
|
||||
|
||||
Refer to DT bindings documentation of particular PHY consumer devices for more
|
||||
information about required PHYs and the way of specification.
|
||||
|
||||
Samsung SATA PHY Controller
|
||||
---------------------------
|
||||
|
||||
SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
|
||||
Each SATA PHY controller should have its own node.
|
||||
|
||||
Required properties:
|
||||
- compatible : compatible list, contains "samsung,exynos5250-sata-phy"
|
||||
- reg : offset and length of the SATA PHY register set;
|
||||
- #phy-cells : must be zero
|
||||
- clocks : must be exactly one entry
|
||||
- clock-names : must be "sata_phyctrl"
|
||||
- samsung,exynos-sataphy-i2c-phandle : a phandle to the I2C device, no arguments
|
||||
- samsung,syscon-phandle : a phandle to the PMU system controller, no arguments
|
||||
|
||||
Example:
|
||||
sata_phy: sata-phy@12170000 {
|
||||
compatible = "samsung,exynos5250-sata-phy";
|
||||
reg = <0x12170000 0x1ff>;
|
||||
clocks = <&clock 287>;
|
||||
clock-names = "sata_phyctrl";
|
||||
#phy-cells = <0>;
|
||||
samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
|
||||
samsung,syscon-phandle = <&pmu_syscon>;
|
||||
};
|
||||
|
||||
Device-Tree bindings for sataphy i2c client driver
|
||||
--------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
compatible: Should be "samsung,exynos-sataphy-i2c"
|
||||
- reg: I2C address of the sataphy i2c device.
|
||||
|
||||
Example:
|
||||
|
||||
sata_phy_i2c:sata-phy@38 {
|
||||
compatible = "samsung,exynos-sataphy-i2c";
|
||||
reg = <0x38>;
|
||||
};
|
||||
|
||||
Samsung Exynos5 SoC series USB DRD PHY controller
|
||||
--------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be set to one of the following supported values:
|
||||
- "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC,
|
||||
- "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC.
|
||||
- reg : Register offset and length of USB DRD PHY register set;
|
||||
- clocks: Clock IDs array as required by the controller
|
||||
- clock-names: names of clocks correseponding to IDs in the clock property;
|
||||
Required clocks:
|
||||
- phy: main PHY clock (same as USB DRD controller i.e. DWC3 IP clock),
|
||||
used for register access.
|
||||
- ref: PHY's reference clock (usually crystal clock), used for
|
||||
PHY operations, associated by phy name. It is used to
|
||||
determine bit values for clock settings register.
|
||||
For Exynos5420 this is given as 'sclk_usbphy30' in CMU.
|
||||
- samsung,pmu-syscon: phandle for PMU system controller interface, used to
|
||||
control pmu registers for power isolation.
|
||||
- #phy-cells : from the generic PHY bindings, must be 1;
|
||||
|
||||
For "samsung,exynos5250-usbdrd-phy" and "samsung,exynos5420-usbdrd-phy"
|
||||
compatible PHYs, the second cell in the PHY specifier identifies the
|
||||
PHY id, which is interpreted as follows:
|
||||
0 - UTMI+ type phy,
|
||||
1 - PIPE3 type phy,
|
||||
|
||||
Example:
|
||||
usbdrd_phy: usbphy@12100000 {
|
||||
compatible = "samsung,exynos5250-usbdrd-phy";
|
||||
reg = <0x12100000 0x100>;
|
||||
clocks = <&clock 286>, <&clock 1>;
|
||||
clock-names = "phy", "ref";
|
||||
samsung,pmu-syscon = <&pmu_system_controller>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
- aliases: For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
|
||||
'usbdrd_phy' nodes should have numbered alias in the aliases node,
|
||||
in the form of usbdrdphyN, N = 0, 1... (depending on number of
|
||||
controllers).
|
||||
Example:
|
||||
aliases {
|
||||
usbdrdphy0 = &usb3_phy0;
|
||||
usbdrdphy1 = &usb3_phy1;
|
||||
};
|
15
Documentation/devicetree/bindings/phy/st-spear-miphy.txt
Normal file
15
Documentation/devicetree/bindings/phy/st-spear-miphy.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
ST SPEAr miphy DT details
|
||||
=========================
|
||||
|
||||
ST Microelectronics SPEAr miphy is a phy controller supporting PCIe and SATA.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "st,spear1310-miphy" or "st,spear1340-miphy"
|
||||
- reg : offset and length of the PHY register set.
|
||||
- misc: phandle for the syscon node to access misc registers
|
||||
- #phy-cells : from the generic PHY bindings, must be 1.
|
||||
- cell[1]: 0 if phy used for SATA, 1 for PCIe.
|
||||
|
||||
Optional properties:
|
||||
- phy-id: Instance id of the phy. Only required when there are multiple phys
|
||||
present on a implementation.
|
37
Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
Normal file
37
Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
Normal file
|
@ -0,0 +1,37 @@
|
|||
Allwinner sun4i USB PHY
|
||||
-----------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of
|
||||
* allwinner,sun4i-a10-usb-phy
|
||||
* allwinner,sun5i-a13-usb-phy
|
||||
* allwinner,sun6i-a31-usb-phy
|
||||
* allwinner,sun7i-a20-usb-phy
|
||||
- reg : a list of offset + length pairs
|
||||
- reg-names :
|
||||
* "phy_ctrl"
|
||||
* "pmu1"
|
||||
* "pmu2" for sun4i, sun6i or sun7i
|
||||
- #phy-cells : from the generic phy bindings, must be 1
|
||||
- clocks : phandle + clock specifier for the phy clocks
|
||||
- clock-names :
|
||||
* "usb_phy" for sun4i, sun5i or sun7i
|
||||
* "usb0_phy", "usb1_phy" and "usb2_phy" for sun6i
|
||||
- resets : a list of phandle + reset specifier pairs
|
||||
- reset-names :
|
||||
* "usb0_reset"
|
||||
* "usb1_reset"
|
||||
* "usb2_reset" for sun4i, sun6i or sun7i
|
||||
|
||||
Example:
|
||||
usbphy: phy@0x01c13400 {
|
||||
#phy-cells = <1>;
|
||||
compatible = "allwinner,sun4i-a10-usb-phy";
|
||||
/* phy base regs, phy1 pmu reg, phy2 pmu reg */
|
||||
reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
|
||||
reg-names = "phy_ctrl", "pmu1", "pmu2";
|
||||
clocks = <&usb_clk 8>;
|
||||
clock-names = "usb_phy";
|
||||
resets = <&usb_clk 1>, <&usb_clk 2>;
|
||||
reset-names = "usb1_reset", "usb2_reset";
|
||||
};
|
102
Documentation/devicetree/bindings/phy/ti-phy.txt
Normal file
102
Documentation/devicetree/bindings/phy/ti-phy.txt
Normal file
|
@ -0,0 +1,102 @@
|
|||
TI PHY: DT DOCUMENTATION FOR PHYs in TI PLATFORMs
|
||||
|
||||
OMAP CONTROL PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of
|
||||
"ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4.
|
||||
"ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register
|
||||
e.g. USB2_PHY on OMAP5.
|
||||
"ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control
|
||||
e.g. USB3 PHY and SATA PHY on OMAP5.
|
||||
"ti,control-phy-pcie" - for pcie to support external clock for pcie and to
|
||||
set PCS delay value.
|
||||
e.g. PCIE PHY in DRA7x
|
||||
"ti,control-phy-usb2-dra7" - if it has power down register like USB2 PHY on
|
||||
DRA7 platform.
|
||||
"ti,control-phy-usb2-am437" - if it has power down register like USB2 PHY on
|
||||
AM437 platform.
|
||||
- reg : register ranges as listed in the reg-names property
|
||||
- reg-names: "otghs_control" for control-phy-otghs
|
||||
"power", "pcie_pcs" and "control_sma" for control-phy-pcie
|
||||
"power" for all other types
|
||||
|
||||
omap_control_usb: omap-control-usb@4a002300 {
|
||||
compatible = "ti,control-phy-otghs";
|
||||
reg = <0x4a00233c 0x4>;
|
||||
reg-names = "otghs_control";
|
||||
};
|
||||
|
||||
OMAP USB2 PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "ti,omap-usb2"
|
||||
- reg : Address and length of the register set for the device.
|
||||
- #phy-cells: determine the number of cells that should be given in the
|
||||
phandle while referencing this phy.
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
- clock-names: should include:
|
||||
* "wkupclk" - wakeup clock.
|
||||
* "refclk" - reference clock (optional).
|
||||
|
||||
Optional properties:
|
||||
- ctrl-module : phandle of the control module used by PHY driver to power on
|
||||
the PHY.
|
||||
|
||||
This is usually a subnode of ocp2scp to which it is connected.
|
||||
|
||||
usb2phy@4a0ad080 {
|
||||
compatible = "ti,omap-usb2";
|
||||
reg = <0x4a0ad080 0x58>;
|
||||
ctrl-module = <&omap_control_usb>;
|
||||
#phy-cells = <0>;
|
||||
clocks = <&usb_phy_cm_clk32k>, <&usb_otg_ss_refclk960m>;
|
||||
clock-names = "wkupclk", "refclk";
|
||||
};
|
||||
|
||||
TI PIPE3 PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "ti,phy-usb3", "ti,phy-pipe3-sata" or
|
||||
"ti,phy-pipe3-pcie. "ti,omap-usb3" is deprecated.
|
||||
- reg : Address and length of the register set for the device.
|
||||
- reg-names: The names of the register addresses corresponding to the registers
|
||||
filled in "reg".
|
||||
- #phy-cells: determine the number of cells that should be given in the
|
||||
phandle while referencing this phy.
|
||||
- clocks: a list of phandles and clock-specifier pairs, one for each entry in
|
||||
clock-names.
|
||||
- clock-names: should include:
|
||||
* "wkupclk" - wakeup clock.
|
||||
* "sysclk" - system clock.
|
||||
* "refclk" - reference clock.
|
||||
* "dpll_ref" - external dpll ref clk
|
||||
* "dpll_ref_m2" - external dpll ref clk
|
||||
* "phy-div" - divider for apll
|
||||
* "div-clk" - apll clock
|
||||
|
||||
Optional properties:
|
||||
- ctrl-module : phandle of the control module used by PHY driver to power on
|
||||
the PHY.
|
||||
- id: If there are multiple instance of the same type, in order to
|
||||
differentiate between each instance "id" can be used (e.g., multi-lane PCIe
|
||||
PHY). If "id" is not provided, it is set to default value of '1'.
|
||||
|
||||
This is usually a subnode of ocp2scp to which it is connected.
|
||||
|
||||
usb3phy@4a084400 {
|
||||
compatible = "ti,phy-usb3";
|
||||
reg = <0x4a084400 0x80>,
|
||||
<0x4a084800 0x64>,
|
||||
<0x4a084c00 0x40>;
|
||||
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
|
||||
ctrl-module = <&omap_control_usb>;
|
||||
#phy-cells = <0>;
|
||||
clocks = <&usb_phy_cm_clk32k>,
|
||||
<&sys_clkin>,
|
||||
<&usb_otg_ss_refclk960m>;
|
||||
clock-names = "wkupclk",
|
||||
"sysclk",
|
||||
"refclk";
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue