diff mbox

[v3,4/4] arm64: dts: rockchip: add regulator info for Kevin digitizer

Message ID 20170320235344.126298-5-briannorris@chromium.org (mailing list archive)
State New, archived
Headers show

Commit Message

Brian Norris March 20, 2017, 11:53 p.m. UTC
We need to enable this regulator before the digitizer can be used. Wacom
recommended waiting for 100 ms before talking to the HID.

Signed-off-by: Brian Norris <briannorris@chromium.org>
---
v3:
 * reintroduced into patch set; bindings are in linux-next
---
 arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 3 +++
 1 file changed, 3 insertions(+)

Comments

Heiko Stuebner March 22, 2017, 8:26 a.m. UTC | #1
Am Montag, 20. März 2017, 16:53:44 CET schrieb Brian Norris:
> We need to enable this regulator before the digitizer can be used. Wacom
> recommended waiting for 100 ms before talking to the HID.
> 
> Signed-off-by: Brian Norris <briannorris@chromium.org>
> ---
> v3:
>  * reintroduced into patch set; bindings are in linux-next
> ---
>  arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts index
> 2f720cf2fd07..f4714c4606f3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> @@ -232,6 +232,9 @@ ap_i2c_dig: &i2c2 {

according to the hid-over-i2c binding, this should use a special compatible 
like

	compatible = "wacom,w9013", "hid-over-i2c"

As the binding patch is from Caesar, I assume that is the Kevin component and
I can add that myself, just need confirmation that this is actually the correct 
component :-) .


Thanks
Heiko

>  		pinctrl-names = "default";
>  		pinctrl-0 = <&cpu1_dig_irq_l &cpu1_dig_pdct_l>;
> 
> +		vdd-supply = <&p3_3v_dig>;
> +		post-power-on-delay-ms = <100>;
> +
>  		interrupt-parent = <&gpio2>;
>  		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
Brian Norris March 22, 2017, 6:14 p.m. UTC | #2
On Wed, Mar 22, 2017 at 09:26:41AM +0100, Heiko Stuebner wrote:
> Am Montag, 20. März 2017, 16:53:44 CET schrieb Brian Norris:
> > We need to enable this regulator before the digitizer can be used. Wacom
> > recommended waiting for 100 ms before talking to the HID.
> > 
> > Signed-off-by: Brian Norris <briannorris@chromium.org>
> > ---
> > v3:
> >  * reintroduced into patch set; bindings are in linux-next
> > ---
> >  arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts index
> > 2f720cf2fd07..f4714c4606f3 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > @@ -232,6 +232,9 @@ ap_i2c_dig: &i2c2 {
> 
> according to the hid-over-i2c binding, this should use a special compatible 
> like
> 
> 	compatible = "wacom,w9013", "hid-over-i2c"
> 
> As the binding patch is from Caesar, I assume that is the Kevin component and
> I can add that myself, just need confirmation that this is actually the correct 
> component :-) .

*Sigh.* The I2C (and SPI) framework is still broken w.r.t. multiple
compatible strings and drivers built as modules [1]. So I'd really
rather not do this...

...but yes, that's a fair component description.

Brian

[1] Some discussion about SPI:
    https://patchwork.kernel.org/patch/7630571/
    And the discussion about I2C (25% through that thread):
    https://patchwork.kernel.org/patch/9455245/
Heiko Stuebner March 22, 2017, 11:57 p.m. UTC | #3
Am Mittwoch, 22. März 2017, 11:14:42 CET schrieb Brian Norris:
> On Wed, Mar 22, 2017 at 09:26:41AM +0100, Heiko Stuebner wrote:
> > Am Montag, 20. März 2017, 16:53:44 CET schrieb Brian Norris:
> > > We need to enable this regulator before the digitizer can be used. Wacom
> > > recommended waiting for 100 ms before talking to the HID.
> > > 
> > > Signed-off-by: Brian Norris <briannorris@chromium.org>
> > > ---
> > > v3:
> > >  * reintroduced into patch set; bindings are in linux-next
> > > ---
> > >  arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > > b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts index
> > > 2f720cf2fd07..f4714c4606f3 100644
> > > --- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
> > > @@ -232,6 +232,9 @@ ap_i2c_dig: &i2c2 {
> > 
> > according to the hid-over-i2c binding, this should use a special compatible 
> > like
> > 
> > 	compatible = "wacom,w9013", "hid-over-i2c"
> > 
> > As the binding patch is from Caesar, I assume that is the Kevin component and
> > I can add that myself, just need confirmation that this is actually the correct 
> > component :-) .
> 
> *Sigh.* The I2C (and SPI) framework is still broken w.r.t. multiple
> compatible strings and drivers built as modules [1]. So I'd really
> rather not do this...

It seems I had repressed that knowledge :-), but now that you mention it,
I remember seeing (or reading about) this issue before.
So yes I agree as well :-)


> ...but yes, that's a fair component description.

I've applied the patch and simply added the wacom,w9013 as comment,
so it doesn't get lost.

Now this can simmer a bit in linux-next till the weekend.


Heiko

> [1] Some discussion about SPI:
>     https://patchwork.kernel.org/patch/7630571/
>     And the discussion about I2C (25% through that thread):
>     https://patchwork.kernel.org/patch/9455245/
> 
>
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
index 2f720cf2fd07..f4714c4606f3 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
@@ -232,6 +232,9 @@  ap_i2c_dig: &i2c2 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&cpu1_dig_irq_l &cpu1_dig_pdct_l>;
 
+		vdd-supply = <&p3_3v_dig>;
+		post-power-on-delay-ms = <100>;
+
 		interrupt-parent = <&gpio2>;
 		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;