HI Daniel, ... > > ... > > > ... > > > > > > > +required: > > > > > > > + - compatible > > > > > > > + - reg > > > > > > > + - max-brightness > > > > > > > > > > > > Why is this mandatory? > > > > > > > > > > > > There's no point in setting max-brightness when running in I2C > > > > > > mode > > > > > > (max- brightness should default to 31 in that case). > > > > > > > > > > > > > > > > > > > + - default-brightness > > > > > > > > > > > > Again. I'm not clear why this needs to be mandatory. > > > > > > > > > > > > > > > > > > > > > > Ok, you are right, I'll remove max-brightness and > > > > > default-brightness from required properties list. I think to > > > > > change these properties, for the pwm dimming, into a clearer: > > > > > > > > > > - brightness-levels (uint32) > > > > > - default-brightness-levels (uint32). > > > > > > > > > > For example: > > > > > > > > > > brightness-levels: > > > > > description: > > > > > Number of brightness levels. The actual brightness > > > > > level (PWM duty cycle) will be interpolated from 0 to this value. > > > > > 0 means a 0% duty cycle (darkest/off), while the > > > > > brightness-levels > > > > represents > > > > > a 100% duty cycle (brightest). > > > > > $ref: /schemas/types.yaml#/definitions/uint32 > > > > > > > > > > default-brightness-level: > > > > > description: > > > > > The default brightness level (from 0 to brightness-levels) > > > > > $ref: /schemas/types.yaml#/definitions/uint32 > > > > > > > > > > Example: > > > > > brightness-levels = <10>; > > > > > default-brightness-level = <6>; > > > > > > > > > > What do you think about this solution? > > > > > > > > If you want to introduce a brightness-levels property then I would > > > > expect it to be defined with the same meaning as pwm-backlight > > > > (it's not relevant to the bindings but ideally it would be > > > > implemented by refactoring and reusing the code from pwm_bl.c). > > > > > > ok, I'll use the brightness-levels property as used in pwm-backlight > > > > > > > > > > > Same with default-brightness-level although I'm not sure why one > > > > wouldn't just use default-brightness for new bindings (doesn't > > > > default-brightness-level simply do exactly the same thing as > > > > default- > > > brightness). > > > > > > ok for default-brightness instead of default-brightness-level > > > > Just a question: default-brightness-level is the index into the brightness- > levels array. > > But, if I use default-brightness instead of default-brightness-level, > > should I consider default-brightness also as an index into brightness-levels > array? > > Yes. > > > > Or, in this case, have the default-brightness to be equal to one of > > the values inside the brightness-levels array? > > When there is a brightness array (and there is no interpolation) then it is > indexed by brightness. The values in the array are not brightness (e.g. the > controlable value describing the output of the hardware). The values in the > table are merely the PWM duty cycle... ok > > Main difference is, with a correct table the brightness can use an appropriate > logarithmic power scale (which matches how humans perceive > brightness) instead of the linear scale provided by the PWM duty cycle. > > > Daniel. > > > Brightness and "index into the brightness-levels array" should be one and the > same thing ok, I'll use default-brightness, thanks for the explanations! > > > > > > > > > > > > > > > > > Daniel. > > > > > > Thanks an best regards, > > > Flavio > > > > Thanks, > > > > Flavio Flavio