diff mbox series

[v4,1/2] dt-bindings: add bindings doc for HiSilicon INNO USB2 PHY

Message ID 1520217605-9312-2-git-send-email-shawn.guo@linaro.org
State Superseded
Headers show
Series Add HiSilicon INNO USB2 PHY driver support | expand

Commit Message

Shawn Guo March 5, 2018, 2:40 a.m. UTC
From: Pengcheng Li <lpc.li@hisilicon.com>


It adds device tree bindings document for HiSilicon INNO USB2 PHY.

Signed-off-by: Pengcheng Li <lpc.li@hisilicon.com>

Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com>

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>

---
 .../devicetree/bindings/phy/phy-hisi-inno-usb2.txt | 72 ++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Rob Herring March 7, 2018, 9:11 p.m. UTC | #1
On Mon, Mar 05, 2018 at 10:40:04AM +0800, Shawn Guo wrote:
> From: Pengcheng Li <lpc.li@hisilicon.com>

> 

> It adds device tree bindings document for HiSilicon INNO USB2 PHY.

> 

> Signed-off-by: Pengcheng Li <lpc.li@hisilicon.com>

> Signed-off-by: Jiancheng Xue <xuejiancheng@hisilicon.com>

> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>

> ---

>  .../devicetree/bindings/phy/phy-hisi-inno-usb2.txt | 72 ++++++++++++++++++++++

>  1 file changed, 72 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt

> 

> 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..4dbf87c70b96

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt

> @@ -0,0 +1,72 @@

> +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", "syscon",

> +		     "simple-mfd";


Is syscon needed here? Doesn't look like the phys need it.

Is there no dependency on the peri ctrl probing first for the phys to 
probe successfully? If there is some dependency, simple-mfd should not 
be used.

As for the phy binding,

Reviewed-by: Rob Herring <robh@kernel.org>


> +	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>;

> +		};

> +	};

> +};

> -- 

> 1.9.1

> 

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Shawn Guo March 8, 2018, 1:32 a.m. UTC | #2
On Wed, Mar 07, 2018 at 03:11:18PM -0600, Rob Herring wrote:
> > +Example:

> > +

> > +perictrl: peripheral-controller@8a20000 {

> > +	compatible = "hisilicon,hi3798cv200-perictrl", "syscon",

> > +		     "simple-mfd";

> 

> Is syscon needed here? Doesn't look like the phys need it.


For phys, "syscon" is not needed, but there are other devices to be
added which will need to access perictrl as syscon.  Anyway, I can drop
"syscon" from the example in this bindings doc to avoid the confusion.

> Is there no dependency on the peri ctrl probing first for the phys to 

> probe successfully? If there is some dependency, simple-mfd should not 

> be used.


No, there is no such dependency.  Right now the perictrl is there only
for populating the phy devcies.

> As for the phy binding,

> 

> Reviewed-by: Rob Herring <robh@kernel.org>


Thanks.

Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

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..4dbf87c70b96
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-hisi-inno-usb2.txt
@@ -0,0 +1,72 @@ 
+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", "syscon",
+		     "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>;
+		};
+	};
+};