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

From: Maxime Coquelin
Date: Fri Nov 06 2015 - 07:57:38 EST


2015-10-22 14:35 GMT+02:00 Linus Walleij <linus.walleij@xxxxxxxxxx>:
> On Tue, Oct 20, 2015 at 6:32 PM, Maxime Coquelin
> <mcoquelin.stm32@xxxxxxxxx> wrote:
>> 2015-10-20 12:06 GMT+02:00 Daniel Thompson <daniel.thompson@xxxxxxxxxx>:
>>> 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@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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/