diff mbox series

[v2,01/10] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY

Message ID 20190218112310.17860-2-chenyu56@huawei.com
State Changes Requested, archived
Headers show
Series Add support for usb on Hikey960 | expand

Checks

Context Check Description
robh/checkpatch success

Commit Message

Chen Yu Feb. 18, 2019, 11:23 a.m. UTC
This patch adds binding documentation for supporting the hi3660 usb
phy on boards like the HiKey960.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Binghui Wang <wangbinghui@hisilicon.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
---
v1:
* Fix some format error as suggested by Rob.
v2:
* Change hi3660 usb PHY to hi3660 USB PHY
---
---
 .../devicetree/bindings/phy/phy-hi3660-usb3.txt     | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt

Comments

Rob Herring Feb. 18, 2019, 8:18 p.m. UTC | #1
On Mon, Feb 18, 2019 at 07:23:01PM +0800, Yu Chen wrote:
> This patch adds binding documentation for supporting the hi3660 usb
> phy on boards like the HiKey960.
> 
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: John Stultz <john.stultz@linaro.org>
> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> ---
> v1:
> * Fix some format error as suggested by Rob.
> v2:
> * Change hi3660 usb PHY to hi3660 USB PHY
> ---
> ---
>  .../devicetree/bindings/phy/phy-hi3660-usb3.txt     | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> 
> diff --git a/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> new file mode 100644
> index 000000000000..f9a3d56cfdd2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> @@ -0,0 +1,21 @@
> +Hisilicon hi3660 USB PHY
> +-----------------------
> +
> +Required properties:
> +- compatible: should be "hisilicon,hi3660-usb-phy"
> +- #phy-cells: must be 0
> +- hisilicon,pericrg-syscon: phandle of syscon used to control phy.
> +- hisilicon,pctrl-syscon: phandle of syscon used to control phy.
> +- hisilicon,usb3-otg-bc-syscon: phandle of syscon used to control phy.
> +- hisilicon,eye-diagram-param: parameter set for phy
> +Refer to phy/phy-bindings.txt for the generic PHY binding properties
> +
> +Example:
> +	usb-phy {
> +		compatible = "hisilicon,hi3660-usb-phy";
> +		#phy-cells = <0>;
> +		hisilicon,pericrg-syscon = <&crg_ctrl>;
> +		hisilicon,pctrl-syscon = <&pctrl>;
> +		hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;

Are most of the registers within one of these blocks? If so, make this 
node a child of that node.

> +		hisilicon,eye-diagram-param = <0x22466e4>;
> +	};
> -- 
> 2.15.0-rc2
>
Chen Yu Feb. 19, 2019, 1:50 a.m. UTC | #2
Hi,

On 2019/2/19 4:18, Rob Herring wrote:
> On Mon, Feb 18, 2019 at 07:23:01PM +0800, Yu Chen wrote:
>> This patch adds binding documentation for supporting the hi3660 usb
>> phy on boards like the HiKey960.
>>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: John Stultz <john.stultz@linaro.org>
>> Cc: Binghui Wang <wangbinghui@hisilicon.com>
>> Signed-off-by: Yu Chen <chenyu56@huawei.com>
>> ---
>> v1:
>> * Fix some format error as suggested by Rob.
>> v2:
>> * Change hi3660 usb PHY to hi3660 USB PHY
>> ---
>> ---
>>  .../devicetree/bindings/phy/phy-hi3660-usb3.txt     | 21 +++++++++++++++++++++
>>  1 file changed, 21 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
>>
>> diff --git a/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
>> new file mode 100644
>> index 000000000000..f9a3d56cfdd2
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
>> @@ -0,0 +1,21 @@
>> +Hisilicon hi3660 USB PHY
>> +-----------------------
>> +
>> +Required properties:
>> +- compatible: should be "hisilicon,hi3660-usb-phy"
>> +- #phy-cells: must be 0
>> +- hisilicon,pericrg-syscon: phandle of syscon used to control phy.
>> +- hisilicon,pctrl-syscon: phandle of syscon used to control phy.
>> +- hisilicon,usb3-otg-bc-syscon: phandle of syscon used to control phy.
>> +- hisilicon,eye-diagram-param: parameter set for phy
>> +Refer to phy/phy-bindings.txt for the generic PHY binding properties
>> +
>> +Example:
>> +	usb-phy {
>> +		compatible = "hisilicon,hi3660-usb-phy";
>> +		#phy-cells = <0>;
>> +		hisilicon,pericrg-syscon = <&crg_ctrl>;
>> +		hisilicon,pctrl-syscon = <&pctrl>;
>> +		hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;
> 
> Are most of the registers within one of these blocks? If so, make this 
> node a child of that node.
I met a problem when I made this node a child of the syscon node,
the driver "phy-hi3660-usb3" was not probed.
Do you have any idea about how to make it probed when it is a child node?
> 
>> +		hisilicon,eye-diagram-param = <0x22466e4>;
>> +	};
>> -- 
>> 2.15.0-rc2
>>
> 
> .
> 

Thanks
Yu Chen
Chunfeng Yun (云春峰) Feb. 19, 2019, 3:03 a.m. UTC | #3
Hi,
On Tue, 2019-02-19 at 09:50 +0800, Chen Yu wrote:
> Hi,
> 
> On 2019/2/19 4:18, Rob Herring wrote:
> > On Mon, Feb 18, 2019 at 07:23:01PM +0800, Yu Chen wrote:
> >> This patch adds binding documentation for supporting the hi3660 usb
> >> phy on boards like the HiKey960.
> >>
> >> Cc: Rob Herring <robh+dt@kernel.org>
> >> Cc: Mark Rutland <mark.rutland@arm.com>
> >> Cc: John Stultz <john.stultz@linaro.org>
> >> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> >> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> >> ---
> >> v1:
> >> * Fix some format error as suggested by Rob.
> >> v2:
> >> * Change hi3660 usb PHY to hi3660 USB PHY
> >> ---
> >> ---
> >>  .../devicetree/bindings/phy/phy-hi3660-usb3.txt     | 21 +++++++++++++++++++++
> >>  1 file changed, 21 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> >> new file mode 100644
> >> index 000000000000..f9a3d56cfdd2
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> >> @@ -0,0 +1,21 @@
> >> +Hisilicon hi3660 USB PHY
> >> +-----------------------
> >> +
> >> +Required properties:
> >> +- compatible: should be "hisilicon,hi3660-usb-phy"
> >> +- #phy-cells: must be 0
> >> +- hisilicon,pericrg-syscon: phandle of syscon used to control phy.
> >> +- hisilicon,pctrl-syscon: phandle of syscon used to control phy.
> >> +- hisilicon,usb3-otg-bc-syscon: phandle of syscon used to control phy.
> >> +- hisilicon,eye-diagram-param: parameter set for phy
> >> +Refer to phy/phy-bindings.txt for the generic PHY binding properties
> >> +
> >> +Example:
> >> +	usb-phy {
> >> +		compatible = "hisilicon,hi3660-usb-phy";
> >> +		#phy-cells = <0>;
> >> +		hisilicon,pericrg-syscon = <&crg_ctrl>;
> >> +		hisilicon,pctrl-syscon = <&pctrl>;
> >> +		hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;
> > 
> > Are most of the registers within one of these blocks? If so, make this 
> > node a child of that node.
> I met a problem when I made this node a child of the syscon node,
> the driver "phy-hi3660-usb3" was not probed.
> Do you have any idea about how to make it probed when it is a child node?
call of_platform_populate() in parent node's driver,
but I don't know whether it's a standard way
> > 
> >> +		hisilicon,eye-diagram-param = <0x22466e4>;
> >> +	};
> >> -- 
> >> 2.15.0-rc2
> >>
> > 
> > .
> > 
> 
> Thanks
> Yu Chen
>
Chen Yu Feb. 19, 2019, 3:55 a.m. UTC | #4
Hi,

On 2019/2/19 11:03, Chunfeng Yun wrote:
>>>> +
>>>> +Example:
>>>> +	usb-phy {
>>>> +		compatible = "hisilicon,hi3660-usb-phy";
>>>> +		#phy-cells = <0>;
>>>> +		hisilicon,pericrg-syscon = <&crg_ctrl>;
>>>> +		hisilicon,pctrl-syscon = <&pctrl>;
>>>> +		hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;
>>>
>>> Are most of the registers within one of these blocks? If so, make this 
>>> node a child of that node.
>> I met a problem when I made this node a child of the syscon node,
>> the driver "phy-hi3660-usb3" was not probed.
>> Do you have any idea about how to make it probed when it is a child node?
> call of_platform_populate() in parent node's driver,
> but I don't know whether it's a standard way
Yes, this function is used in dwc3 driver to probe the child node.
But I think it is not a good way to modify the syscon driver.
>>>
>>>> +		hisilicon,eye-diagram-param = <0x22466e4>;
>>>> +	};
>>>> -- 
>>>> 2.15.0-rc2
>>>>

Thanks
Yu Chen
Rob Herring Feb. 19, 2019, 2:22 p.m. UTC | #5
On Mon, Feb 18, 2019 at 9:03 PM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:
>
> Hi,
> On Tue, 2019-02-19 at 09:50 +0800, Chen Yu wrote:
> > Hi,
> >
> > On 2019/2/19 4:18, Rob Herring wrote:
> > > On Mon, Feb 18, 2019 at 07:23:01PM +0800, Yu Chen wrote:
> > >> This patch adds binding documentation for supporting the hi3660 usb
> > >> phy on boards like the HiKey960.
> > >>
> > >> Cc: Rob Herring <robh+dt@kernel.org>
> > >> Cc: Mark Rutland <mark.rutland@arm.com>
> > >> Cc: John Stultz <john.stultz@linaro.org>
> > >> Cc: Binghui Wang <wangbinghui@hisilicon.com>
> > >> Signed-off-by: Yu Chen <chenyu56@huawei.com>
> > >> ---
> > >> v1:
> > >> * Fix some format error as suggested by Rob.
> > >> v2:
> > >> * Change hi3660 usb PHY to hi3660 USB PHY
> > >> ---
> > >> ---
> > >>  .../devicetree/bindings/phy/phy-hi3660-usb3.txt     | 21 +++++++++++++++++++++
> > >>  1 file changed, 21 insertions(+)
> > >>  create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> > >>
> > >> diff --git a/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> > >> new file mode 100644
> > >> index 000000000000..f9a3d56cfdd2
> > >> --- /dev/null
> > >> +++ b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
> > >> @@ -0,0 +1,21 @@
> > >> +Hisilicon hi3660 USB PHY
> > >> +-----------------------
> > >> +
> > >> +Required properties:
> > >> +- compatible: should be "hisilicon,hi3660-usb-phy"
> > >> +- #phy-cells: must be 0
> > >> +- hisilicon,pericrg-syscon: phandle of syscon used to control phy.
> > >> +- hisilicon,pctrl-syscon: phandle of syscon used to control phy.
> > >> +- hisilicon,usb3-otg-bc-syscon: phandle of syscon used to control phy.
> > >> +- hisilicon,eye-diagram-param: parameter set for phy
> > >> +Refer to phy/phy-bindings.txt for the generic PHY binding properties
> > >> +
> > >> +Example:
> > >> +  usb-phy {
> > >> +          compatible = "hisilicon,hi3660-usb-phy";
> > >> +          #phy-cells = <0>;
> > >> +          hisilicon,pericrg-syscon = <&crg_ctrl>;
> > >> +          hisilicon,pctrl-syscon = <&pctrl>;
> > >> +          hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;
> > >
> > > Are most of the registers within one of these blocks? If so, make this
> > > node a child of that node.
> > I met a problem when I made this node a child of the syscon node,
> > the driver "phy-hi3660-usb3" was not probed.
> > Do you have any idea about how to make it probed when it is a child node?
> call of_platform_populate() in parent node's driver,
> but I don't know whether it's a standard way

It is. The other way is adding 'simple-mfd' compatible if there is no
driver for the parent.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
new file mode 100644
index 000000000000..f9a3d56cfdd2
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt
@@ -0,0 +1,21 @@ 
+Hisilicon hi3660 USB PHY
+-----------------------
+
+Required properties:
+- compatible: should be "hisilicon,hi3660-usb-phy"
+- #phy-cells: must be 0
+- hisilicon,pericrg-syscon: phandle of syscon used to control phy.
+- hisilicon,pctrl-syscon: phandle of syscon used to control phy.
+- hisilicon,usb3-otg-bc-syscon: phandle of syscon used to control phy.
+- hisilicon,eye-diagram-param: parameter set for phy
+Refer to phy/phy-bindings.txt for the generic PHY binding properties
+
+Example:
+	usb-phy {
+		compatible = "hisilicon,hi3660-usb-phy";
+		#phy-cells = <0>;
+		hisilicon,pericrg-syscon = <&crg_ctrl>;
+		hisilicon,pctrl-syscon = <&pctrl>;
+		hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>;
+		hisilicon,eye-diagram-param = <0x22466e4>;
+	};