diff mbox

[v2,4/5] dt-bindings: phy-rockchip-inno-usb2: add otg mux irq quirk

Message ID 1501660390-5956-5-git-send-email-frank.wang@rock-chips.com (mailing list archive)
State New, archived
Headers show

Commit Message

Frank Wang Aug. 2, 2017, 7:53 a.m. UTC
Add rockchip,otg_mux_irq_quirk property to support the otg-id/
otg-bvalid/linestate irqs that are multiplexed to one irq in
otg-port on some special Rockchip SoCs (e.g RV1108).

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
---
 Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Heiko Stuebner Aug. 2, 2017, 11:25 a.m. UTC | #1
Hi Frank,

Am Mittwoch, 2. August 2017, 15:53:09 CEST schrieb Frank Wang:
> Add rockchip,otg_mux_irq_quirk property to support the otg-id/
> otg-bvalid/linestate irqs that are multiplexed to one irq in
> otg-port on some special Rockchip SoCs (e.g RV1108).
> 
> Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
> ---
>  Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git
> a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt index
> ddf868a..d49572b 100644
> --- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> +++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> @@ -22,6 +22,8 @@ Optional properties:
>  		 register files".
>   - rockchip,companion_grf_quirk : when set driver will request
>  		 "rockchip,usbgrf" phandle as one companion-grf.
> + - rockchip,otg_mux_irq_quirk: set if otg-id/otg-bvalid/linestate irqs
> +		 are multiplexed to one irq in otg-port on some SoCs.
> 
>  Required nodes : a sub-node is required for each port the phy provides.
>  		 The sub-node name is used to identify host or otg port,
> @@ -36,6 +38,9 @@ Required properties (port (child) node):
>  	* "otg-id" : for the otg id interrupt.
>  	* "otg-bvalid" : for the otg vbus interrupt.
>  	* "linestate" : for the host/otg linestate interrupt.
> +	* "otg-mux" : otg-port interrupt, which multiplex otg-id/otg-bvalid/
> +		linestate irqs to one irq. Should specify if
> +		rockchip,otg_mux_irq_quirk property is set.

I'd think that should be auto-detectable in the driver without the quirk 
property above?

I.e. check for the otg-mux interrupt first on probe and if can be found, you 
know that this is the case, otherwise look for the regular interrupts.


Also I would write that down a bit differently, so that it doesn't confuse 
people. Something similar to:

 - interrupt-names : a list which should
+    Regular case:
	* "otg-id" : for the otg id interrupt.
	* "otg-bvalid" : for the otg vbus interrupt.
	* "linestate" : for the host/otg linestate interrupt.
+    Some socs use one interrupt with the obove muxed together, so for these
+	* "otg-mux" : otg-port interrupt, which multiplex otg-id/otg-bvalid/
+		linestate irqs to one irq.


Heiko
Frank Wang Aug. 3, 2017, 1:47 a.m. UTC | #2
Hi Heiko,

On 2017/8/2 19:25, Heiko Stübner wrote:
> Hi Frank,
>
> Am Mittwoch, 2. August 2017, 15:53:09 CEST schrieb Frank Wang:
>> Add rockchip,otg_mux_irq_quirk property to support the otg-id/
>> otg-bvalid/linestate irqs that are multiplexed to one irq in
>> otg-port on some special Rockchip SoCs (e.g RV1108).
>>
>> Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
>> ---
>>   Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git
>> a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>> b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt index
>> ddf868a..d49572b 100644
>> --- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>> +++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>> @@ -22,6 +22,8 @@ Optional properties:
>>   		 register files".
>>    - rockchip,companion_grf_quirk : when set driver will request
>>   		 "rockchip,usbgrf" phandle as one companion-grf.
>> + - rockchip,otg_mux_irq_quirk: set if otg-id/otg-bvalid/linestate irqs
>> +		 are multiplexed to one irq in otg-port on some SoCs.
>>
>>   Required nodes : a sub-node is required for each port the phy provides.
>>   		 The sub-node name is used to identify host or otg port,
>> @@ -36,6 +38,9 @@ Required properties (port (child) node):
>>   	* "otg-id" : for the otg id interrupt.
>>   	* "otg-bvalid" : for the otg vbus interrupt.
>>   	* "linestate" : for the host/otg linestate interrupt.
>> +	* "otg-mux" : otg-port interrupt, which multiplex otg-id/otg-bvalid/
>> +		linestate irqs to one irq. Should specify if
>> +		rockchip,otg_mux_irq_quirk property is set.
> I'd think that should be auto-detectable in the driver without the quirk
> property above?
>
> I.e. check for the otg-mux interrupt first on probe and if can be found, you
> know that this is the case, otherwise look for the regular interrupts.
>
>
> Also I would write that down a bit differently, so that it doesn't confuse
> people. Something similar to:
>
>   - interrupt-names : a list which should
> +    Regular case:
> 	* "otg-id" : for the otg id interrupt.
> 	* "otg-bvalid" : for the otg vbus interrupt.
> 	* "linestate" : for the host/otg linestate interrupt.
> +    Some socs use one interrupt with the obove muxed together, so for these
> +	* "otg-mux" : otg-port interrupt, which multiplex otg-id/otg-bvalid/
> +		linestate irqs to one irq.
>
>
> Heiko
>

Thanks for your comments, I will fix it in next version.


BR.
Frank
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
index ddf868a..d49572b 100644
--- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
+++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
@@ -22,6 +22,8 @@  Optional properties:
 		 register files".
  - rockchip,companion_grf_quirk : when set driver will request
 		 "rockchip,usbgrf" phandle as one companion-grf.
+ - rockchip,otg_mux_irq_quirk: set if otg-id/otg-bvalid/linestate irqs
+		 are multiplexed to one irq in otg-port on some SoCs.
 
 Required nodes : a sub-node is required for each port the phy provides.
 		 The sub-node name is used to identify host or otg port,
@@ -36,6 +38,9 @@  Required properties (port (child) node):
 	* "otg-id" : for the otg id interrupt.
 	* "otg-bvalid" : for the otg vbus interrupt.
 	* "linestate" : for the host/otg linestate interrupt.
+	* "otg-mux" : otg-port interrupt, which multiplex otg-id/otg-bvalid/
+		linestate irqs to one irq. Should specify if
+		rockchip,otg_mux_irq_quirk property is set.
 
 Optional properties:
  - phy-supply : phandle to a regulator that provides power to VBUS.