Re: [PATCH v2 1/2] dt-bindings: Add docs for EL15203000

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Oleh,

On 7/9/19 12:00 AM, Oleh Kravchenko wrote:
> Hello Jacek,
> 
> 11.06.19 22:52, Jacek Anaszewski пише:
>> On 6/11/19 2:01 PM, Pavel Machek wrote:
>>> Hi!
>>>
>>>>> I just want to clerify - for now LEDs board has 2 from 3 LEDs with effect function.
>>>>>
>>>>> 1. Screen frame led is just blinking, so blink_set() is fit well to this.
>>>>> 2. Pipe led actually consist from 3 leds and when effect is enabled next pattern is used:
>>>>>
>>>>>        ^
>>>>>        |
>>>>> LED1  >   OFF  ON   ON   ON
>>>>>        |
>>>>> LED2  >   OFF  OFF  ON   ON
>>>>>        |
>>>>> LED3  >   OFF  OFF  OFF  ON
>>>>>        |
>>>>>        +----^----^----^----^----> time
>>>>
>>>> Pattern trigger applies to a single LED so it won't fit for this
>>>> pattern.
>>>>
>>>> Currently we don't support patterns spanning on multiple LEDs,
>>>> so you would have to come up with your own solution.
>>>>
>>>> What I can recommend is a trigger that would be created by your driver
>>>> and would activate this sequence.
>>>
>>> Yes, please.
>>>
>>> While adding custom files to sysfs may appear easier, we'll need
>>> "led-specific-triggers" for other reasons.
>>
>> For what reasons exactly?
>>
>> This is similar to the generic hw trigger support proposed by
>> Marek Behun. In the reply to that patch I asked some questions [0].
>> So far the mechanism looks too me awkward and not introducing any
>> novelty besides requiring one more step - setting the trigger.
>>
>>> And for the record... Handling 3 LEDs as one is not something usual in
>>> the LED subsystem; I guess it makes sense in your specific case, but
>>> hopefully noone will copy that design.
>>>
>>> (I guess they are not individually controllable?)
>>>
>>>                                     Pavel
>>>
>>
>> [0] https://www.spinics.net/lists/linux-leds/msg12269.html
>>
> 
> I just figure out that this Pipe LED actually consist from 5 LEDs, not 3 :)
> And supports next level 'brightness' from SPI driver:
> - '0' Off
> - '1' On
> - '2' Cascade (waterfall down)
>  -'3' InverseCascade (waterfall up)
> - '4' Bounce
> - '5' InverseBounce
> 
> Please advice, can I proceed with sys attribute file to set '2'..'5' levels?

It looks like pattern trigger is the most appropriate solution for the
effects 2-5. Your driver will need to implement pattern_set op for the
LEDs supporting the effects, and then the effect will be enabled after
writing required sequence to the hw_pattern file. You will need to come
up with a sequence of values that the driver will recognize as a request
of enabling given hardware effect. Please compare
drivers/leds/leds-sc27xx-bltc.c and its ABI documentation [0] for
reference. See also hw_pattern file description in [1].

[0] Documentation/ABI/testing/sysfs-class-led-driver-sc27xx
[1] Documentation/ABI/testing/sysfs-class-led-trigger-pattern

-- 
Best regards,
Jacek Anaszewski



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux