Merge tag 'usb-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB/PHY updates from Greg KH: "Here is the big USB/PHY driver patches for 4.20-rc1 Lots of USB changes in here, primarily in these areas: - typec updates and new drivers - new PHY drivers - dwc2 driver updates and additions (this old core keeps getting added to new devices.) - usbtmc major update based on the industry group coming together and working to add new features and performance to the driver. - USB gadget additions for new features - USB gadget configfs updates - chipidea driver updates - other USB gadget updates - USB serial driver updates - renesas driver updates - xhci driver updates - other tiny USB driver updates All of these have been in linux-next for a while with no reported issues" * tag 'usb-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (229 commits) usb: phy: ab8500: silence some uninitialized variable warnings usb: xhci: tegra: Add genpd support usb: xhci: tegra: Power-off power-domains on removal usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten usbip: tools: fix atoi() on non-null terminated string USB: misc: appledisplay: fix backlight update_status return code phy: phy-pxa-usb: add a new driver usb: host: add DT bindings for faraday fotg2 usb: host: ohci-at91: fix request of irq for optional gpio usb/early: remove set but not used variable 'remain_length' usb: typec: Fix copy/paste on typec_set_vconn_role() kerneldoc usb: typec: tcpm: Report back negotiated PPS voltage and current USB: core: remove set but not used variable 'udev' usb: core: fix memory leak on port_dev_path allocation USB: net2280: Remove ->disconnect() callback from net2280_pullup() usb: dwc2: disable power_down on rockchip devices usb: gadget: udc: renesas_usb3: add support for r8a77990 dt-bindings: usb: renesas_usb3: add bindings for r8a77990 usb: gadget: udc: renesas_usb3: Add r8a774a1 support USB: serial: cypress_m8: remove set but not used variable 'iflag' ...
Этот коммит содержится в:
@@ -8,6 +8,7 @@ Required properties:
|
||||
"brcm,iproc-nsp-sata-phy"
|
||||
"brcm,phy-sata3"
|
||||
"brcm,iproc-sr-sata-phy"
|
||||
"brcm,bcm63138-sata-phy"
|
||||
- address-cells: should be 1
|
||||
- size-cells: should be 0
|
||||
- reg: register ranges for the PHY PCB interface
|
||||
|
30
Documentation/devicetree/bindings/phy/phy-cadence-dp.txt
Обычный файл
30
Documentation/devicetree/bindings/phy/phy-cadence-dp.txt
Обычный файл
@@ -0,0 +1,30 @@
|
||||
Cadence MHDP DisplayPort SD0801 PHY binding
|
||||
===========================================
|
||||
|
||||
This binding describes the Cadence SD0801 PHY hardware included with
|
||||
the Cadence MHDP DisplayPort controller.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Required properties (controller (parent) node):
|
||||
- compatible : Should be "cdns,dp-phy"
|
||||
- reg : Defines the following sets of registers in the parent
|
||||
mhdp device:
|
||||
- Offset of the DPTX PHY configuration registers
|
||||
- Offset of the SD0801 PHY configuration registers
|
||||
- #phy-cells : from the generic PHY bindings, must be 0.
|
||||
|
||||
Optional properties:
|
||||
- num_lanes : Number of DisplayPort lanes to use (1, 2 or 4)
|
||||
- max_bit_rate : Maximum DisplayPort link bit rate to use, in Mbps (2160,
|
||||
2430, 2700, 3240, 4320, 5400 or 8100)
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Example:
|
||||
dp_phy: phy@f0fb030a00 {
|
||||
compatible = "cdns,dp-phy";
|
||||
reg = <0xf0 0xfb030a00 0x0 0x00000040>,
|
||||
<0xf0 0xfb500000 0x0 0x00100000>;
|
||||
num_lanes = <4>;
|
||||
max_bit_rate = <8100>;
|
||||
#phy-cells = <0>;
|
||||
};
|
43
Documentation/devicetree/bindings/phy/phy-rockchip-inno-hdmi.txt
Обычный файл
43
Documentation/devicetree/bindings/phy/phy-rockchip-inno-hdmi.txt
Обычный файл
@@ -0,0 +1,43 @@
|
||||
ROCKCHIP HDMI PHY WITH INNO IP BLOCK
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of the listed compatibles:
|
||||
* "rockchip,rk3228-hdmi-phy",
|
||||
* "rockchip,rk3328-hdmi-phy";
|
||||
- reg : Address and length of the hdmi phy control register set
|
||||
- clocks : phandle + clock specifier for the phy clocks
|
||||
- clock-names : string, clock name, must contain "sysclk" for system
|
||||
control and register configuration, "refoclk" for crystal-
|
||||
oscillator reference PLL clock input and "refpclk" for pclk-
|
||||
based refeference PLL clock input.
|
||||
- #clock-cells: should be 0.
|
||||
- clock-output-names : shall be the name for the output clock.
|
||||
- interrupts : phandle + interrupt specified for the hdmiphy interrupt
|
||||
- #phy-cells : must be 0. See ./phy-bindings.txt for details.
|
||||
|
||||
Optional properties for rk3328-hdmi-phy:
|
||||
- nvmem-cells = phandle + nvmem specifier for the cpu-version efuse
|
||||
- nvmem-cell-names : "cpu-version" to read the chip version, required
|
||||
for adjustment to some frequency settings
|
||||
|
||||
Example:
|
||||
hdmi_phy: hdmi-phy@12030000 {
|
||||
compatible = "rockchip,rk3228-hdmi-phy";
|
||||
reg = <0x12030000 0x10000>;
|
||||
#phy-cells = <0>;
|
||||
clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMIPHY>;
|
||||
clock-names = "sysclk", "refoclk", "refpclk";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "hdmi_phy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
Then the PHY can be used in other nodes such as:
|
||||
|
||||
hdmi: hdmi@200a0000 {
|
||||
compatible = "rockchip,rk3228-dw-hdmi";
|
||||
...
|
||||
phys = <&hdmi_phy>;
|
||||
phy-names = "hdmi";
|
||||
...
|
||||
};
|
@@ -10,16 +10,20 @@ Required properties:
|
||||
"qcom,msm8996-qmp-pcie-phy" for 14nm PCIe phy on msm8996,
|
||||
"qcom,msm8996-qmp-usb3-phy" for 14nm USB3 phy on msm8996,
|
||||
"qcom,sdm845-qmp-usb3-phy" for USB3 QMP V3 phy on sdm845,
|
||||
"qcom,sdm845-qmp-usb3-uni-phy" for USB3 QMP V3 UNI phy on sdm845.
|
||||
"qcom,sdm845-qmp-usb3-uni-phy" for USB3 QMP V3 UNI phy on sdm845,
|
||||
"qcom,sdm845-qmp-ufs-phy" for UFS QMP phy on sdm845.
|
||||
|
||||
- reg:
|
||||
- For "qcom,sdm845-qmp-usb3-phy":
|
||||
- index 0: address and length of register set for PHY's common serdes
|
||||
block.
|
||||
- named register "dp_com" (using reg-names): address and length of the
|
||||
DP_COM control block.
|
||||
- For all others:
|
||||
- offset and length of register set for PHY's common serdes block.
|
||||
- reg:
|
||||
- index 0: address and length of register set for PHY's common
|
||||
serdes block.
|
||||
- index 1: address and length of the DP_COM control block (for
|
||||
"qcom,sdm845-qmp-usb3-phy" only).
|
||||
|
||||
- reg-names:
|
||||
- For "qcom,sdm845-qmp-usb3-phy":
|
||||
- Should be: "reg-base", "dp_com"
|
||||
- For all others:
|
||||
- The reg-names property shouldn't be defined.
|
||||
|
||||
- #clock-cells: must be 1
|
||||
- Phy pll outputs a bunch of clocks for Tx, Rx and Pipe
|
||||
@@ -35,6 +39,7 @@ Required properties:
|
||||
"aux" for phy aux clock,
|
||||
"ref" for 19.2 MHz ref clk,
|
||||
"com_aux" for phy common block aux clock,
|
||||
"ref_aux" for phy reference aux clock,
|
||||
For "qcom,msm8996-qmp-pcie-phy" must contain:
|
||||
"aux", "cfg_ahb", "ref".
|
||||
For "qcom,msm8996-qmp-usb3-phy" must contain:
|
||||
|
@@ -1,10 +1,12 @@
|
||||
* Renesas R-Car generation 3 USB 2.0 PHY
|
||||
|
||||
This file provides information on what the device node for the R-Car generation
|
||||
3 USB 2.0 PHY contains.
|
||||
3 and RZ/G2 USB 2.0 PHY contain.
|
||||
|
||||
Required properties:
|
||||
- compatible: "renesas,usb2-phy-r8a7795" if the device is a part of an R8A7795
|
||||
- compatible: "renesas,usb2-phy-r8a774a1" if the device is a part of an R8A774A1
|
||||
SoC.
|
||||
"renesas,usb2-phy-r8a7795" if the device is a part of an R8A7795
|
||||
SoC.
|
||||
"renesas,usb2-phy-r8a7796" if the device is a part of an R8A7796
|
||||
SoC.
|
||||
@@ -14,7 +16,8 @@ Required properties:
|
||||
R8A77990 SoC.
|
||||
"renesas,usb2-phy-r8a77995" if the device is a part of an
|
||||
R8A77995 SoC.
|
||||
"renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 compatible device.
|
||||
"renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 or RZ/G2
|
||||
compatible device.
|
||||
|
||||
When compatible with the generic version, nodes must list the
|
||||
SoC-specific version corresponding to the platform first
|
||||
@@ -31,6 +34,8 @@ channel as USB OTG:
|
||||
- interrupts: interrupt specifier for the PHY.
|
||||
- vbus-supply: Phandle to a regulator that provides power to the VBUS. This
|
||||
regulator will be managed during the PHY power on/off sequence.
|
||||
- renesas,no-otg-pins: boolean, specify when a board does not provide proper
|
||||
otg pins.
|
||||
|
||||
Example (R-Car H3):
|
||||
|
||||
|
@@ -1,20 +1,22 @@
|
||||
* Renesas R-Car generation 3 USB 3.0 PHY
|
||||
|
||||
This file provides information on what the device node for the R-Car generation
|
||||
3 USB 3.0 PHY contains.
|
||||
3 and RZ/G2 USB 3.0 PHY contain.
|
||||
If you want to enable spread spectrum clock (ssc), you should use USB_EXTAL
|
||||
instead of USB3_CLK. However, if you don't want to these features, you don't
|
||||
need this driver.
|
||||
|
||||
Required properties:
|
||||
- compatible: "renesas,r8a7795-usb3-phy" if the device is a part of an R8A7795
|
||||
- compatible: "renesas,r8a774a1-usb3-phy" if the device is a part of an R8A774A1
|
||||
SoC.
|
||||
"renesas,r8a7795-usb3-phy" if the device is a part of an R8A7795
|
||||
SoC.
|
||||
"renesas,r8a7796-usb3-phy" if the device is a part of an R8A7796
|
||||
SoC.
|
||||
"renesas,r8a77965-usb3-phy" if the device is a part of an
|
||||
R8A77965 SoC.
|
||||
"renesas,rcar-gen3-usb3-phy" for a generic R-Car Gen3 compatible
|
||||
device.
|
||||
"renesas,rcar-gen3-usb3-phy" for a generic R-Car Gen3 or RZ/G2
|
||||
compatible device.
|
||||
|
||||
When compatible with the generic version, nodes must list the
|
||||
SoC-specific version corresponding to the platform first
|
||||
|
31
Documentation/devicetree/bindings/phy/uniphier-pcie-phy.txt
Обычный файл
31
Documentation/devicetree/bindings/phy/uniphier-pcie-phy.txt
Обычный файл
@@ -0,0 +1,31 @@
|
||||
Socionext UniPhier PCIe PHY bindings
|
||||
|
||||
This describes the devicetree bindings for PHY interface built into
|
||||
PCIe controller implemented on Socionext UniPhier SoCs.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
"socionext,uniphier-ld20-pcie-phy" - for LD20 PHY
|
||||
"socionext,uniphier-pxs3-pcie-phy" - for PXs3 PHY
|
||||
- reg: Specifies offset and length of the register set for the device.
|
||||
- #phy-cells: Must be zero.
|
||||
- clocks: A phandle to the clock gate for PCIe glue layer including
|
||||
this phy.
|
||||
- resets: A phandle to the reset line for PCIe glue layer including
|
||||
this phy.
|
||||
|
||||
Optional properties:
|
||||
- socionext,syscon: A phandle to system control to set configurations
|
||||
for phy.
|
||||
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties.
|
||||
|
||||
Example:
|
||||
pcie_phy: phy@66038000 {
|
||||
compatible = "socionext,uniphier-ld20-pcie-phy";
|
||||
reg = <0x66038000 0x4000>;
|
||||
#phy-cells = <0>;
|
||||
clocks = <&sys_clk 24>;
|
||||
resets = <&sys_rst 24>;
|
||||
socionext,syscon = <&soc_glue>;
|
||||
};
|
45
Documentation/devicetree/bindings/phy/uniphier-usb2-phy.txt
Обычный файл
45
Documentation/devicetree/bindings/phy/uniphier-usb2-phy.txt
Обычный файл
@@ -0,0 +1,45 @@
|
||||
Socionext UniPhier USB2 PHY
|
||||
|
||||
This describes the devicetree bindings for PHY interface built into
|
||||
USB2 controller implemented on Socionext UniPhier SoCs.
|
||||
|
||||
Pro4 SoC has both USB2 and USB3 host controllers, however, this USB3
|
||||
controller doesn't include its own High-Speed PHY. This needs to specify
|
||||
USB2 PHY instead of USB3 HS-PHY.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
"socionext,uniphier-pro4-usb2-phy" - for Pro4 SoC
|
||||
"socionext,uniphier-ld11-usb2-phy" - for LD11 SoC
|
||||
|
||||
Sub-nodes:
|
||||
Each PHY should be represented as a sub-node.
|
||||
|
||||
Sub-nodes required properties:
|
||||
- #phy-cells: Should be 0.
|
||||
- reg: The number of the PHY.
|
||||
|
||||
Sub-nodes optional properties:
|
||||
- vbus-supply: A phandle to the regulator for USB VBUS.
|
||||
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties.
|
||||
|
||||
Example:
|
||||
soc-glue@5f800000 {
|
||||
...
|
||||
usb-phy {
|
||||
compatible = "socionext,uniphier-ld11-usb2-phy";
|
||||
usb_phy0: phy@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
...
|
||||
};
|
||||
};
|
||||
|
||||
usb@5a800100 {
|
||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||
...
|
||||
phy-names = "usb";
|
||||
phys = <&usb_phy0>;
|
||||
};
|
69
Documentation/devicetree/bindings/phy/uniphier-usb3-hsphy.txt
Обычный файл
69
Documentation/devicetree/bindings/phy/uniphier-usb3-hsphy.txt
Обычный файл
@@ -0,0 +1,69 @@
|
||||
Socionext UniPhier USB3 High-Speed (HS) PHY
|
||||
|
||||
This describes the devicetree bindings for PHY interfaces built into
|
||||
USB3 controller implemented on Socionext UniPhier SoCs.
|
||||
Although the controller includes High-Speed PHY and Super-Speed PHY,
|
||||
this describes about High-Speed PHY.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
"socionext,uniphier-pro4-usb3-hsphy" - for Pro4 SoC
|
||||
"socionext,uniphier-pxs2-usb3-hsphy" - for PXs2 SoC
|
||||
"socionext,uniphier-ld20-usb3-hsphy" - for LD20 SoC
|
||||
"socionext,uniphier-pxs3-usb3-hsphy" - for PXs3 SoC
|
||||
- reg: Specifies offset and length of the register set for the device.
|
||||
- #phy-cells: Should be 0.
|
||||
- clocks: A list of phandles to the clock gate for USB3 glue layer.
|
||||
According to the clock-names, appropriate clocks are required.
|
||||
- clock-names: Should contain the following:
|
||||
"gio", "link" - for Pro4 SoC
|
||||
"phy", "phy-ext", "link" - for PXs3 SoC, "phy-ext" is optional.
|
||||
"phy", "link" - for others
|
||||
- resets: A list of phandles to the reset control for USB3 glue layer.
|
||||
According to the reset-names, appropriate resets are required.
|
||||
- reset-names: Should contain the following:
|
||||
"gio", "link" - for Pro4 SoC
|
||||
"phy", "link" - for others
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply: A phandle to the regulator for USB VBUS.
|
||||
- nvmem-cells: Phandles to nvmem cell that contains the trimming data.
|
||||
Available only for HS-PHY implemented on LD20 and PXs3, and
|
||||
if unspecified, default value is used.
|
||||
- nvmem-cell-names: Should be the following names, which correspond to
|
||||
each nvmem-cells.
|
||||
All of the 3 parameters associated with the following names are
|
||||
required for each port, if any one is omitted, the trimming data
|
||||
of the port will not be set at all.
|
||||
"rterm", "sel_t", "hs_i" - Each cell name for phy parameters
|
||||
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties.
|
||||
|
||||
Example:
|
||||
|
||||
usb-glue@65b00000 {
|
||||
compatible = "socionext,uniphier-ld20-dwc3-glue",
|
||||
"simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x65b00000 0x400>;
|
||||
|
||||
usb_vbus0: regulator {
|
||||
...
|
||||
};
|
||||
|
||||
usb_hsphy0: hs-phy@200 {
|
||||
compatible = "socionext,uniphier-ld20-usb3-hsphy";
|
||||
reg = <0x200 0x10>;
|
||||
#phy-cells = <0>;
|
||||
clock-names = "link", "phy";
|
||||
clocks = <&sys_clk 14>, <&sys_clk 16>;
|
||||
reset-names = "link", "phy";
|
||||
resets = <&sys_rst 14>, <&sys_rst 16>;
|
||||
vbus-supply = <&usb_vbus0>;
|
||||
nvmem-cell-names = "rterm", "sel_t", "hs_i";
|
||||
nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>,
|
||||
<&usb_hs_i0>;
|
||||
};
|
||||
...
|
||||
};
|
57
Documentation/devicetree/bindings/phy/uniphier-usb3-ssphy.txt
Обычный файл
57
Documentation/devicetree/bindings/phy/uniphier-usb3-ssphy.txt
Обычный файл
@@ -0,0 +1,57 @@
|
||||
Socionext UniPhier USB3 Super-Speed (SS) PHY
|
||||
|
||||
This describes the devicetree bindings for PHY interfaces built into
|
||||
USB3 controller implemented on Socionext UniPhier SoCs.
|
||||
Although the controller includes High-Speed PHY and Super-Speed PHY,
|
||||
this describes about Super-Speed PHY.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain one of the following:
|
||||
"socionext,uniphier-pro4-usb3-ssphy" - for Pro4 SoC
|
||||
"socionext,uniphier-pxs2-usb3-ssphy" - for PXs2 SoC
|
||||
"socionext,uniphier-ld20-usb3-ssphy" - for LD20 SoC
|
||||
"socionext,uniphier-pxs3-usb3-ssphy" - for PXs3 SoC
|
||||
- reg: Specifies offset and length of the register set for the device.
|
||||
- #phy-cells: Should be 0.
|
||||
- clocks: A list of phandles to the clock gate for USB3 glue layer.
|
||||
According to the clock-names, appropriate clocks are required.
|
||||
- clock-names:
|
||||
"gio", "link" - for Pro4 SoC
|
||||
"phy", "phy-ext", "link" - for PXs3 SoC, "phy-ext" is optional.
|
||||
"phy", "link" - for others
|
||||
- resets: A list of phandles to the reset control for USB3 glue layer.
|
||||
According to the reset-names, appropriate resets are required.
|
||||
- reset-names:
|
||||
"gio", "link" - for Pro4 SoC
|
||||
"phy", "link" - for others
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply: A phandle to the regulator for USB VBUS.
|
||||
|
||||
Refer to phy/phy-bindings.txt for the generic PHY binding properties.
|
||||
|
||||
Example:
|
||||
|
||||
usb-glue@65b00000 {
|
||||
compatible = "socionext,uniphier-ld20-dwc3-glue",
|
||||
"simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x65b00000 0x400>;
|
||||
|
||||
usb_vbus0: regulator {
|
||||
...
|
||||
};
|
||||
|
||||
usb_ssphy0: ss-phy@300 {
|
||||
compatible = "socionext,uniphier-ld20-usb3-ssphy";
|
||||
reg = <0x300 0x10>;
|
||||
#phy-cells = <0>;
|
||||
clock-names = "link", "phy";
|
||||
clocks = <&sys_clk 14>, <&sys_clk 16>;
|
||||
reset-names = "link", "phy";
|
||||
resets = <&sys_rst 14>, <&sys_rst 16>;
|
||||
vbus-supply = <&usb_vbus0>;
|
||||
};
|
||||
...
|
||||
};
|
Ссылка в новой задаче
Block a user