On 08/23/2013 01:36 AM, Thierry Reding wrote: > On Thu, Aug 22, 2013 at 08:26:10AM +0200, Sascha Hauer wrote: >> On Thu, Aug 22, 2013 at 02:55:42AM +0000, Xiubo Li-B47053 wrote: >>> Hi Tomasz, >>> >>> Thanks for your comments. >>> >>> >>>> 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. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html