[PATCH v2 3/9] includes: dt-bindings: Add STM32F429 pinctrl DT bindings

Maxime Coquelin mcoquelin.stm32 at gmail.com
Fri Nov 6 04:57:32 PST 2015


2015-10-22 14:35 GMT+02:00 Linus Walleij <linus.walleij at linaro.org>:
> On Tue, Oct 20, 2015 at 6:32 PM, Maxime Coquelin
> <mcoquelin.stm32 at gmail.com> wrote:
>> 2015-10-20 12:06 GMT+02:00 Daniel Thompson <daniel.thompson at linaro.org>:
>>> On 17/10/15 18:23, Maxime Coquelin wrote:
>
>>> I suggesting that, like with the clock driver, there is no need to the
>>> STM32F429_PAXX_FUNC_YYY macros at all.
>>>
>>> Given the way you can enumerate pin config options in stm32f429.dtsi then I
>>> think stm32f429.dtsi is the only file that will ever include this header? If
>>> so then why not just plug the values directly into the pinmux fields. Its
>>> not duplicative and is easier to map back to data sheets.
>>>
>>> ~~~
>>> #define PIN_NO(x) ...
>>> #define PIN_AF(x) ...
>>>
>>> usart1_pins_a: usart1 at 0 {
>>>                                 pins1 {
>>>                                         pinmux = PIN_NO(9) | PIN_AF(7);
>>>                                         bias-disable;
>>>                                         drive-push-pull;
>>>                                         slew-rate = <0>;
>>>                                 };
>>>                                 ...
>>>                         };
>>> ~~~
>>
>> The advantage with the defines is that you can see easily which pin we
>> are talking about.
>> Moreover, the defines are generated from the datasheet, so it is
>> painless to generate them.
>> And it will be consistent with Mediatek implementation, on which I
>> heavily inspired.
>>
>> Linus, what is your view?
>
> I have no strong view of this at all.
>
> I would ask the opinion of other people doing numbered muxes
> to see what is generally best for everyone to use,
> Sascha Hauer specifically, or the Mediatek people.

Thinking again at it, I persist to believe have the defines makes it
easier to use.
With auto-completion, it makes it faster and less error prone to
select the right
alternate function without parsing the datasheet.

But as these defines are not actually used on driver side, maybe I
could just move
them to the dts directory?

Regards,
Maxime



More information about the linux-arm-kernel mailing list