-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'phy-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/kishon/linux-phy into usb-next Kishon writes: phy: for 4.17 *) Add USB PHY driver for MDM6600 on Droid *) Add USB PHY driver for STM32 USB PHY Controller *) Add inno-usb2-phy driver for hi3798cv200 SoC *) Add combo phy driver (SATA/USB/PCIE) for HiSilicon STB SoCs *) Add USB3 PHY driver for Meson GXL and GXM *) Add support for R8A77965 Gen3 USB 2.0 PHY in phy-rcar-gen3-usb2 driver *) Add support for qualcomm QUSB2 V2 and QMP V3 USB3 PHY in phy-qcom-qusb2 and phy-qcom-qmp PHY driver respectively *) Add support for runtime PM in phy-qcom-qusb2 and phy-qcom-qmp PHY drivers *) Add support for Allwinner R40 USB PHY in sun4i-usb PHY driver *) Add support in rockchip-typec PHY driver to make extcon optional and fallback to working in host mode if extcon is missing *) Add support in rockchip-typec PHY driver to mux PHYs connected to DP *) Add support to configure slew rate parameters in phy-mtk-tphy PHY driver *) Add workaround for missing Vbus det interrupts on Allwinner A23/A33 *) Add USB speed related PHY modes in phy core *) Fix PHY 'structure' documentation *) Force rockchip-typec PHY to USB2 if DP-only mode is used *) Fix phy-qcom-qusb2 and phy-qcom-qmp PHY drivers to follow PHY reset and initialization sequence as per hardware programming manual *) Fix Marvell BG2CD SoC USB failure in phy-berlin-usb driver *) Minor fixes in lpc18xx-usb-otg, xusb-tegra210 and phy-rockchip-emmc PHY drivers Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
- Loading branch information
Showing
45 changed files
with
3,499 additions
and
424 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 31 additions & 0 deletions
31
Documentation/devicetree/bindings/phy/meson-gxl-usb3-phy.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
* Amlogic Meson GXL and GXM USB3 PHY and OTG detection binding | ||
|
||
Required properties: | ||
- compatible: Should be "amlogic,meson-gxl-usb3-phy" | ||
- #phys-cells: must be 0 (see phy-bindings.txt in this directory) | ||
- reg: The base address and length of the registers | ||
- interrupts: the interrupt specifier for the OTG detection | ||
- clocks: phandles to the clocks for | ||
- the USB3 PHY | ||
- and peripheral mode/OTG detection | ||
- clock-names: must contain "phy" and "peripheral" | ||
- resets: phandle to the reset lines for: | ||
- the USB3 PHY and | ||
- peripheral mode/OTG detection | ||
- reset-names: must contain "phy" and "peripheral" | ||
|
||
Optional properties: | ||
- phy-supply: see phy-bindings.txt in this directory | ||
|
||
|
||
Example: | ||
usb3_phy0: phy@78080 { | ||
compatible = "amlogic,meson-gxl-usb3-phy"; | ||
#phy-cells = <0>; | ||
reg = <0x0 0x78080 0x0 0x20>; | ||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&clkc CLKID_USB_OTG>, <&clkc_AO CLKID_AO_CEC_32K>; | ||
clock-names = "phy", "peripheral"; | ||
resets = <&reset RESET_USB_OTG>, <&reset RESET_USB_OTG>; | ||
reset-names = "phy", "peripheral"; | ||
}; |
59 changes: 59 additions & 0 deletions
59
Documentation/devicetree/bindings/phy/phy-hi3798cv200-combphy.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
HiSilicon STB PCIE/SATA/USB3 PHY | ||
|
||
Required properties: | ||
- compatible: Should be "hisilicon,hi3798cv200-combphy" | ||
- reg: Should be the address space for COMBPHY configuration and state | ||
registers in peripheral controller, e.g. PERI_COMBPHY0_CFG and | ||
PERI_COMBPHY0_STATE for COMBPHY0 Hi3798CV200 SoC. | ||
- #phy-cells: Should be 1. The cell number is used to select the phy mode | ||
as defined in <dt-bindings/phy/phy.h>. | ||
- clocks: The phandle to clock provider and clock specifier pair. | ||
- resets: The phandle to reset controller and reset specifier pair. | ||
|
||
Refer to phy/phy-bindings.txt for the generic PHY binding properties. | ||
|
||
Optional properties: | ||
- hisilicon,fixed-mode: If the phy device doesn't support mode select | ||
but a fixed mode setting, the property should be present to specify | ||
the particular mode. | ||
- hisilicon,mode-select-bits: If the phy device support mode select, | ||
this property should be present to specify the register bits in | ||
peripheral controller, as a 3 integers tuple: | ||
<register_offset bit_shift bit_mask>. | ||
|
||
Notes: | ||
- Between hisilicon,fixed-mode and hisilicon,mode-select-bits, one and only | ||
one of them should be present. | ||
- The device node should be a child of peripheral controller that contains | ||
COMBPHY configuration/state and PERI_CTRL register used to select PHY mode. | ||
Refer to arm/hisilicon/hisilicon.txt for the parent peripheral controller | ||
bindings. | ||
|
||
Examples: | ||
|
||
perictrl: peripheral-controller@8a20000 { | ||
compatible = "hisilicon,hi3798cv200-perictrl", "syscon", | ||
"simple-mfd"; | ||
reg = <0x8a20000 0x1000>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0x0 0x8a20000 0x1000>; | ||
|
||
combphy0: phy@850 { | ||
compatible = "hisilicon,hi3798cv200-combphy"; | ||
reg = <0x850 0x8>; | ||
#phy-cells = <1>; | ||
clocks = <&crg HISTB_COMBPHY0_CLK>; | ||
resets = <&crg 0x188 4>; | ||
hisilicon,fixed-mode = <PHY_TYPE_USB3>; | ||
}; | ||
|
||
combphy1: phy@858 { | ||
compatible = "hisilicon,hi3798cv200-combphy"; | ||
reg = <0x858 0x8>; | ||
#phy-cells = <1>; | ||
clocks = <&crg HISTB_COMBPHY1_CLK>; | ||
resets = <&crg 0x188 12>; | ||
hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>; | ||
}; | ||
}; |
71 changes: 71 additions & 0 deletions
71
Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
Device tree bindings for HiSilicon INNO USB2 PHY | ||
|
||
Required properties: | ||
- compatible: Should be one of the following strings: | ||
"hisilicon,inno-usb2-phy", | ||
"hisilicon,hi3798cv200-usb2-phy". | ||
- reg: Should be the address space for PHY configuration register in peripheral | ||
controller, e.g. PERI_USB0 for USB 2.0 PHY01 on Hi3798CV200 SoC. | ||
- clocks: The phandle and clock specifier pair for INNO USB2 PHY device | ||
reference clock. | ||
- resets: The phandle and reset specifier pair for INNO USB2 PHY device reset | ||
signal. | ||
- #address-cells: Must be 1. | ||
- #size-cells: Must be 0. | ||
|
||
The INNO USB2 PHY device should be a child node of peripheral controller that | ||
contains the PHY configuration register, and each device suppports up to 2 PHY | ||
ports which are represented as child nodes of INNO USB2 PHY device. | ||
|
||
Required properties for PHY port node: | ||
- reg: The PHY port instance number. | ||
- #phy-cells: Defined by generic PHY bindings. Must be 0. | ||
- resets: The phandle and reset specifier pair for PHY port reset signal. | ||
|
||
Refer to phy/phy-bindings.txt for the generic PHY binding properties | ||
|
||
Example: | ||
|
||
perictrl: peripheral-controller@8a20000 { | ||
compatible = "hisilicon,hi3798cv200-perictrl", "simple-mfd"; | ||
reg = <0x8a20000 0x1000>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0x0 0x8a20000 0x1000>; | ||
|
||
usb2_phy1: usb2-phy@120 { | ||
compatible = "hisilicon,hi3798cv200-usb2-phy"; | ||
reg = <0x120 0x4>; | ||
clocks = <&crg HISTB_USB2_PHY1_REF_CLK>; | ||
resets = <&crg 0xbc 4>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
usb2_phy1_port0: phy@0 { | ||
reg = <0>; | ||
#phy-cells = <0>; | ||
resets = <&crg 0xbc 8>; | ||
}; | ||
|
||
usb2_phy1_port1: phy@1 { | ||
reg = <1>; | ||
#phy-cells = <0>; | ||
resets = <&crg 0xbc 9>; | ||
}; | ||
}; | ||
|
||
usb2_phy2: usb2-phy@124 { | ||
compatible = "hisilicon,hi3798cv200-usb2-phy"; | ||
reg = <0x124 0x4>; | ||
clocks = <&crg HISTB_USB2_PHY2_REF_CLK>; | ||
resets = <&crg 0xbc 6>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
usb2_phy2_port0: phy@0 { | ||
reg = <0>; | ||
#phy-cells = <0>; | ||
resets = <&crg 0xbc 10>; | ||
}; | ||
}; | ||
}; |
29 changes: 29 additions & 0 deletions
29
Documentation/devicetree/bindings/phy/phy-mapphone-mdm6600.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Device tree binding documentation for Motorola Mapphone MDM6600 USB PHY | ||
|
||
Required properties: | ||
- compatible Must be "motorola,mapphone-mdm6600" | ||
- enable-gpios GPIO to enable the USB PHY | ||
- power-gpios GPIO to power on the device | ||
- reset-gpios GPIO to reset the device | ||
- motorola,mode-gpios Two GPIOs to configure MDM6600 USB start-up mode for | ||
normal mode versus USB flashing mode | ||
- motorola,cmd-gpios Three GPIOs to control the power state of the MDM6600 | ||
- motorola,status-gpios Three GPIOs to read the power state of the MDM6600 | ||
|
||
Example: | ||
|
||
usb-phy { | ||
compatible = "motorola,mapphone-mdm6600"; | ||
enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; | ||
power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; | ||
reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; | ||
motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>, | ||
<&gpio5 21 GPIO_ACTIVE_HIGH>; | ||
motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>, | ||
<&gpio4 8 GPIO_ACTIVE_HIGH>, | ||
<&gpio5 14 GPIO_ACTIVE_HIGH>; | ||
motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>, | ||
<&gpio2 21 GPIO_ACTIVE_HIGH>, | ||
<&gpio2 23 GPIO_ACTIVE_HIGH>; | ||
#phy-cells = <0>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
73 changes: 73 additions & 0 deletions
73
Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
STMicroelectronics STM32 USB HS PHY controller | ||
|
||
The STM32 USBPHYC block contains a dual port High Speed UTMI+ PHY and a UTMI | ||
switch. It controls PHY configuration and status, and the UTMI+ switch that | ||
selects either OTG or HOST controller for the second PHY port. It also sets | ||
PLL configuration. | ||
|
||
USBPHYC | ||
|_ PLL | ||
| | ||
|_ PHY port#1 _________________ HOST controller | ||
| _ | | ||
| / 1|________________| | ||
|_ PHY port#2 ----| |________________ | ||
| \_0| | | ||
|_ UTMI switch_______| OTG controller | ||
|
||
|
||
Phy provider node | ||
================= | ||
|
||
Required properties: | ||
- compatible: must be "st,stm32mp1-usbphyc" | ||
- reg: address and length of the usb phy control register set | ||
- clocks: phandle + clock specifier for the PLL phy clock | ||
- #address-cells: number of address cells for phys sub-nodes, must be <1> | ||
- #size-cells: number of size cells for phys sub-nodes, must be <0> | ||
|
||
Optional properties: | ||
- assigned-clocks: phandle + clock specifier for the PLL phy clock | ||
- assigned-clock-parents: the PLL phy clock parent | ||
- resets: phandle + reset specifier | ||
|
||
Required nodes: one sub-node per port the controller provides. | ||
|
||
Phy sub-nodes | ||
============== | ||
|
||
Required properties: | ||
- reg: phy port index | ||
- phy-supply: phandle to the regulator providing 3V3 power to the PHY, | ||
see phy-bindings.txt in the same directory. | ||
- vdda1v1-supply: phandle to the regulator providing 1V1 power to the PHY | ||
- vdda1v8-supply: phandle to the regulator providing 1V8 power to the PHY | ||
- #phy-cells: see phy-bindings.txt in the same directory, must be <0> for PHY | ||
port#1 and must be <1> for PHY port#2, to select USB controller | ||
|
||
|
||
Example: | ||
usbphyc: usb-phy@5a006000 { | ||
compatible = "st,stm32mp1-usbphyc"; | ||
reg = <0x5a006000 0x1000>; | ||
clocks = <&rcc_clk USBPHY_K>; | ||
resets = <&rcc_rst USBPHY_R>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
usbphyc_port0: usb-phy@0 { | ||
reg = <0>; | ||
phy-supply = <&vdd_usb>; | ||
vdda1v1-supply = <®11>; | ||
vdda1v8-supply = <®18> | ||
#phy-cells = <0>; | ||
}; | ||
|
||
usbphyc_port1: usb-phy@1 { | ||
reg = <1>; | ||
phy-supply = <&vdd_usb>; | ||
vdda1v1-supply = <®11>; | ||
vdda1v8-supply = <®18> | ||
#phy-cells = <1>; | ||
}; | ||
}; |
Oops, something went wrong.