[PATCH] phy: add inno-usb2-phy driver for hi3798cv200 SoC

Rob Herring robh at kernel.org
Mon Oct 23 15:32:09 PDT 2017


On Sun, Oct 15, 2017 at 10:49:18PM +0800, Shawn Guo wrote:
> From: Pengcheng Li <lpc.li at hisilicon.com>
> 
> It adds inno-usb2-phy driver for hi3798cv200 SoC USB 2.0 support.  One
> inno-usb2-phy device can support up to two PHY ports.  While there is
> device level reference clock and power reset to be controlled, each PHY
> port has its own utmi reset that needs to assert/de-assert as needed.
> 
> Hi3798cv200 needs to access PHY port0 register via particular peripheral
> syscon controller register to control PHY, like turning on PHY clock.
> 
> Signed-off-by: Pengcheng Li <lpc.li at hisilicon.com>
> Signed-off-by: Jiancheng Xue <xuejiancheng at hisilicon.com>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> ---
>  .../devicetree/bindings/phy/phy-hisi-inno-usb2.txt |  31 +++
>  drivers/phy/hisilicon/Kconfig                      |  10 +
>  drivers/phy/hisilicon/Makefile                     |   1 +
>  drivers/phy/hisilicon/phy-hisi-inno-usb2.c         | 223 +++++++++++++++++++++
>  4 files changed, 265 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt
>  create mode 100644 drivers/phy/hisilicon/phy-hisi-inno-usb2.c
> 
> diff --git a/Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt b/Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt
> new file mode 100644
> index 000000000000..4ef7af24a703
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt
> @@ -0,0 +1,31 @@
> +HiSilicon INNO USB2 PHY
> +
> +Required properties:
> +- compatible: Should be one of the following strings:
> +	"hisilicon,inno-usb2-phy",
> +	"hisilicon,hi3798cv200-usb2-phy".
> +- #phy-cells: Should be 1. The specifier is the index of the PHY port to
> +  reference.
> +- hisilicon,peripheral-syscon: The phandle of syscon used to control PHY,
> +  followed by a integer cell which defines the syscon register offset used
> +  to talk to PHY.

Same comments as combophy.

> +- clocks: The phandle and clock specifier pair for reference clock utmi_refclk.

'clk' part of the name is redundant.

> +- resets: The list of phandle and reset specifier pairs for each reset signal
> +  in reset-names.
> +- reset-names: Should contain "power_on", "utmi0" and "utmi1". The "utmi1"
> +  should exist only if the device has two PHY port.
> +
> +Refer to phy/phy-bindings.txt for the generic PHY binding properties
> +
> +Example:
> +
> +	usb2_phy1: usb2-phy1 {
> +		compatible = "hisilicon,hi3798cv200-usb2-phy";
> +		#phy-cells = <1>;
> +		hisilicon,peripheral-syscon = <&peri_ctrl 0x120>;
> +		clocks = <&crg HISTB_USB2_PHY1_REF_CLK>;
> +		resets = <&crg 0xbc 4>,
> +			 <&crg 0xbc 8>,
> +			 <&crg 0xbc 9>;
> +		reset-names = "power_on", "utmi0", "utmi1";
> +	};



More information about the linux-arm-kernel mailing list