Thread (30 messages) 30 messages, 5 authors, 2015-12-11

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

From: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Date: 2015-11-06 12:57:35
Also in: linux-arm-kernel, linux-gpio, lkml

2015-10-22 14:35 GMT+02:00 Linus Walleij [off-list ref]:
On Tue, Oct 20, 2015 at 6:32 PM, Maxime Coquelin
[off-list ref] wrote:
quoted
2015-10-20 12:06 GMT+02:00 Daniel Thompson [off-list ref]:
quoted
On 17/10/15 18:23, Maxime Coquelin wrote:
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help