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