Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d50f1480 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'phy-for-4.3' of...

Merge tag 'phy-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy

 into usb-next

Kishon writes:

phy: for 4.3

*) Add new NXP USB OTG PHY driver
*) Add vbus/id detection, extcon support and fixes in phy-sun4i-usb
   driver
*) Add support to use phy-sun4i-usb driver for sun8i-a23 and sun8i-a33
   SoCs
*) Other trivial code cleanups, dropping .owner assignment and constify
   phy_ops

Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parents 37a842d3 cfd093bb
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
NXP LPC18xx/43xx internal USB OTG PHY binding
---------------------------------------------

This file contains documentation for the internal USB OTG PHY found
in NXP LPC18xx and LPC43xx SoCs.

Required properties:
- compatible	: must be "nxp,lpc1850-usb-otg-phy"
- clocks	: must be exactly one entry
See: Documentation/devicetree/bindings/clock/clock-bindings.txt
- #phy-cells	: must be 0 for this phy
See: Documentation/devicetree/bindings/phy/phy-bindings.txt

The phy node must be a child of the creg syscon node.

Example:
creg: syscon@40043000 {
	compatible = "nxp,lpc1850-creg", "syscon", "simple-mfd";
	reg = <0x40043000 0x1000>;

	usb0_otg_phy: phy@004 {
		compatible = "nxp,lpc1850-usb-otg-phy";
		clocks = <&ccu1 CLK_USB0>;
		#phy-cells = <0>;
	};
};
+20 −2
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ Required properties:
  * allwinner,sun5i-a13-usb-phy
  * allwinner,sun6i-a31-usb-phy
  * allwinner,sun7i-a20-usb-phy
  * allwinner,sun8i-a23-usb-phy
  * allwinner,sun8i-a33-usb-phy
- reg : a list of offset + length pairs
- reg-names :
  * "phy_ctrl"
@@ -17,12 +19,21 @@ Required properties:
- clock-names :
  * "usb_phy" for sun4i, sun5i or sun7i
  * "usb0_phy", "usb1_phy" and "usb2_phy" for sun6i
  * "usb0_phy", "usb1_phy" for sun8i
- resets : a list of phandle + reset specifier pairs
- reset-names :
  * "usb0_reset"
  * "usb1_reset"
  * "usb2_reset" for sun4i, sun6i or sun7i

Optional properties:
- usb0_id_det-gpios : gpio phandle for reading the otg id pin value
- usb0_vbus_det-gpios : gpio phandle for detecting the presence of usb0 vbus
- usb0_vbus_power-supply: power-supply phandle for usb0 vbus presence detect
- usb0_vbus-supply : regulator phandle for controller usb0 vbus
- usb1_vbus-supply : regulator phandle for controller usb1 vbus
- usb2_vbus-supply : regulator phandle for controller usb2 vbus

Example:
	usbphy: phy@0x01c13400 {
		#phy-cells = <1>;
@@ -32,6 +43,13 @@ Example:
		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";
		resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
		reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
		pinctrl-names = "default";
		pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
		usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
		usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
		usb0_vbus-supply = <&reg_usb0_vbus>;
		usb1_vbus-supply = <&reg_usb1_vbus>;
		usb2_vbus-supply = <&reg_usb2_vbus>;
	};
+13 −0
Original line number Diff line number Diff line
@@ -54,6 +54,17 @@ config PHY_EXYNOS_MIPI_VIDEO
	  Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
	  and EXYNOS SoCs.

config PHY_LPC18XX_USB_OTG
	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
	depends on MFD_SYSCON
	select GENERIC_PHY
	help
	  Enable this to support NXP LPC18xx/43xx internal USB OTG PHY.

	  This driver is need for USB0 support on LPC18xx/43xx and takes
	  care of enabling and clock setup.

config PHY_PXA_28NM_HSIC
	tristate "Marvell USB HSIC 28nm PHY Driver"
	depends on HAS_IOMEM
@@ -199,6 +210,8 @@ config PHY_SUN4I_USB
	tristate "Allwinner sunxi SoC USB PHY driver"
	depends on ARCH_SUNXI && HAS_IOMEM && OF
	depends on RESET_CONTROLLER
	depends on EXTCON
	depends on POWER_SUPPLY
	select GENERIC_PHY
	help
	  Enable this to support the transceiver that is part of Allwinner
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
obj-$(CONFIG_BCM_KONA_USB2_PHY)		+= phy-bcm-kona-usb2.o
obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO)	+= phy-exynos-dp-video.o
obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO)	+= phy-exynos-mipi-video.o
obj-$(CONFIG_PHY_LPC18XX_USB_OTG)	+= phy-lpc18xx-usb-otg.o
obj-$(CONFIG_PHY_PXA_28NM_USB2)		+= phy-pxa-28nm-usb2.o
obj-$(CONFIG_PHY_PXA_28NM_HSIC)		+= phy-pxa-28nm-hsic.o
obj-$(CONFIG_PHY_MVEBU_SATA)		+= phy-mvebu-sata.o
+1 −2
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ static int armada375_usb_phy_init(struct phy *phy)
	return 0;
}

static struct phy_ops armada375_usb_phy_ops = {
static const struct phy_ops armada375_usb_phy_ops = {
	.init = armada375_usb_phy_init,
	.owner = THIS_MODULE,
};
@@ -149,7 +149,6 @@ static struct platform_driver armada375_usb_phy_driver = {
	.driver = {
		.of_match_table	= of_usb_cluster_table,
		.name  = "armada-375-usb-cluster",
		.owner = THIS_MODULE,
	}
};
module_platform_driver(armada375_usb_phy_driver);
Loading