Re: [PATCH v3 leds-next 2/2] dt-bindings: leds: Document Turris Omnia LED controller binding

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

 



Hi!

> I have a question about how to design correctly the situation about
> global brigthness on this controller in the device tree.
> 
> The thing is that these LEDs are, in hardware, controlled via PWM and
> SPI, but this is done via microcontroller running a proprietary
> firmware. So from the point of view of the CPU, should the LEDs be
> described in the device tree as connected to the mircocontroller
> direclty, or should pwm and spi nodes be created as well?

I don't think you need to describe interfaces between 

> Next thing is that the values of the RGB channels for each LED is
> controlled via SPI, but the global brightness controlled byt the single
> PWM also controls the LED brightnesses globally.
> 
> How should this be specified?

I'd say it does not need to be specified in the device tree. Device
tree tells us about the microcontroller, and driver knows the
rest. This is not generic hardware, this is microcontroller with
special programming.

Strictly speaking, we'd need to know about the LEDs, either;
cznic,turris-omnia-leds means we have 12 LEDs and what they mean. But
let's keep the LEDs, it will be easier that way.

								Pave

IOW: this is okay:


> > +Example:
> > +
> > +	led-controller@2b {
> > +		compatible = "cznic,turris-omnia-leds";
> > +		reg = <0x2b>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		led@0 {
> > +			reg = <0x0>;
> > +			label = "userB";
> > +			linux,default-trigger = "heartbeat";
> > +		};
> > +
> > +		led@1 {
> > +			reg = <0x1>;
> > +			label = "userA";
> > +		};
> > +
> > +		led@2 {
> > +			reg = <0x2>;
> > +			label = "pci3";
> > +		};
> > +
> > +		led@3 {
> > +			reg = <0x3>;
> > +			label = "pci2";
> > +		};
> > +
> > +		led@4 {
> > +			reg = <0x4>;
> > +			label = "pci1";
> > +		};
> > +
> > +		led@5 {
> > +			reg = <0x5>;
> > +			label = "wan";
> > +		};
> > +
> > +		led@6 {
> > +			reg = <0x6>;
> > +			label = "lan4";
> > +		};
> > +
> > +		led@7 {
> > +			reg = <0x7>;
> > +			label = "lan3";
> > +		};
> > +
> > +		led@8 {
> > +			reg = <0x8>;
> > +			label = "lan2";
> > +		};
> > +
> > +		led@9 {
> > +			reg = <0x9>;
> > +			label = "lan1";
> > +		};
> > +
> > +		led@a {
> > +			reg = <0xa>;
> > +			label = "lan0";
> > +		};
> > +
> > +		led@b {
> > +			reg = <0xb>;
> > +			label = "power";
> > +		};
> > +	};

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux