[PATCH 4/4] Documentation: Add device tree bindings for Freescale FTM PWM
From: Xiubo Li-B47053 <hidden>
Date: 2013-08-26 05:36:01
Also in:
linux-devicetree, linux-pwm, lkml
Hi Stephen,
Subject: Re: [PATCH 4/4] Documentation: Add device tree bindings for Freescale FTM PWM On 08/23/2013 01:36 AM, Thierry Reding wrote:quoted
On Thu, Aug 22, 2013 at 08:26:10AM +0200, Sascha Hauer wrote:quoted
On Thu, Aug 22, 2013 at 02:55:42AM +0000, Xiubo Li-B47053 wrote:quoted
Hi Tomasz, Thanks for your comments.quoted
Could you explain meaning of this property more precisely? I'm interested especially how is this related to the PWM IP block and boards.Yes. There are 8 channels most. While the pinctrls of 4th and 5th channels could be used by uart's Rx and Tx, then these 2 channels won't be used for pwm output, so there will be 6 channels available by the pwm. Thus, the pwm chip will register only 6 pwms(6 channels) most("fsl,pwm-channel-orders = {0 1 2 3 6 7}").And also the "fsl,pwm-channel-number" will be 6.If the chip has eight PWMs I would register all of them. If some of them are not routed out by the pinmux then just nothing happens if you use them. In a sane devicetree they won't be referenced anyway when they are not routed out of the SoC.In that case, shouldn't this be hooked up to the pinctrl subsystem as well? As I understand the above, the logical thing would be for each PWM channel's .request() operation to configure the pinmuxing appropriately. And if it can't be configured as necessary then .request() should return an error (or propagate the error from the pinctrl subsystem).I think the pin-muxing should be static, i.e. set up when the PWM device as a whole probe()s, rather than being twiddled at request/free time. Certainly the pinmux support in the device core is now set up to acquire the default state right before probe(). I don't see a need to do anything custom here.
As we have tolk about this before in [PATCH 1/4]: "
quoted
Why do you need to manipulate the pinctrl to en/disable a channel?This is because in Vybrid VF610 TOWER board, there are 4 leds, and each led's one point(diode's positive pole) is connected to 3.3V, and the other point is connected to pwm's one channel. When the 4 pinctrls are configured as enable at the same time, the 4 pinctrls is low valtage, and the 4 leds will be lighted up as default, then when you enable/disable one led will effects others. These pinctrls are belong to pwm, and I don't think led or other customer could control them directly. So, here I authorize the 4 pinctrls to each channel controls.
" For the reason above, I have to control the pinctrls separately. If all the pinctrls set as default state, the 8 pinctrls must be controlled together. And the 4 leds will all be lighted up as default and will influence each other. Thanks very much. -- Best Regards. Xiubo