Re: [PATCH 1/3] dt-bindings: input: Add bindings for Awinic AW8695 haptics
From: Luca Weiss
Date: Mon Apr 11 2022 - 11:11:14 EST
Hi Krzysztof,
On Mon Apr 11, 2022 at 2:52 PM CEST, Krzysztof Kozlowski wrote:
> On 11/04/2022 10:15, Luca Weiss wrote:
>
> (...)
>
> >>> + awinic,f0-detection-play-time:
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + description: Drive waveform play times in the first period in the f0 detection
> >>
> >> Use standard unit suffixes for known units (e.g. time).
> >
> > While the datasheet doesn't mention any time unit, the value is used to
> > calculate the f0_trace_ms variable (which is milliseconds) but the
> > result also depends on the awinic,f0-preset value, so it's not a raw
> > time value.
>
> I see, ok.
>
> >
> >>
> >>> +
> >>> + awinic,f0-detection-wait-time:
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + description: Waveform wait times in the f0 detection
> >>
> >> Ditto.
> >>
> >>> +
> >>> + awinic,f0-detection-repeat:
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + description: Repeat times in the f0 detection
> >>> +
> >>> + awinic,f0-detection-trace:
> >>> + $ref: /schemas/types.yaml#/definitions/uint32
> >>> + description: Drive waveform play times in the second period and later in the f0 detection
> >>> +
> >>> + awinic,boost-debug:
> >>> + $ref: /schemas/types.yaml#/definitions/uint8-array
> >>> + minItems: 3
> >>> + maxItems: 3
> >>> + description: Values for BSTDBG1-3 registers
> >>
> >> Do not encode device programming model (registers) into the binding. You
> >> need to define it as a property related to hardware itself, not its
> >> registers (e.g. boost value in mV).
> >
> > Unfortunately I couldn't figure the meaning for this and the two values
> > below.
> >
> > The datasheet doesn't mention these registers at all and the downstream
> > driver doesn't do anything meaningful with them (other than setting them)
> > nor has any comment to indicate what they do.
> > In the datasheet there's only BSTDBG4 mentioned where bits [5:1] mean
> > PVDD output voltage setting so for these registers it could really be
> > anthing :(
> >
> > Maybe someone with more knowledge about LRAs might be able to decipher
> > what tset and r_spare is at least? I unfortunately didn't manage.
>
> Do you have to define them in such case in DT? Maybe it should be part
> of driver?
As these parameters are part of the dts downstream, I assume they differ
per board or actual LRA used.
But I also found other downstream dts examples on github (e.g.
awinic,aw8697_haptic) and they also seemed to use the same values for
these couple of registers (r_spare, tset and bstdbg). Maybe I can gather
more info but it's unlikely I'll be able to get a concrete answer..
Regards
Luca
>
> Best regards,
> Krzysztof