All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Philipp Zabel <p.zabel@pengutronix.de>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Will Deacon" <will.deacon@arm.com>,
	"Stefan Agner" <stefan@agner.ch>,
	"Nikolay Borisov" <Nikolay.Borisov@arm.com>,
	"Peter Meerwald" <pmeerw@pmeerw.net>,
	"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>,
	"Jiri Slaby" <jslaby@suse.cz>,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	"Russell King" <linux@arm.linux.org.uk>,
	"Pawel Moll" <pawel.moll@arm.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Chanwoo Choi" <cw00.choi@samsung.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Antti Palosaari" <crope@iki.fi>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>
Subject: Re: [PATCH v7 05/15] dt-bindings: Document the STM32 reset bindings
Date: Tue, 05 May 2015 17:07:29 +0100	[thread overview]
Message-ID: <5548EAC1.7010002@linaro.org> (raw)
In-Reply-To: <1430840557.3035.60.camel@pengutronix.de>

On 05/05/15 16:42, Philipp Zabel wrote:
> Am Dienstag, den 05.05.2015, 17:19 +0200 schrieb Maxime Coquelin:
>>>> For example, includes/dt-bindings/mfd/stm32f4-rcc.h would look like:
>>>>
>>>> #define GPIOA 0
>>>> #define GPIOB 1
>>>> ...
>>>> #define LTDC 186
>
> That looks a bit fragile.
> At least the defines for the indices should be properly namespaced,
> check out include/dt-bindings/gpio/tegra-gpio.h for a similar case.

Good point.

>>>> #define STM32F4_RESET(x) (x + 128)
>>>> #define STM32F4_CLOCK(x) (x + 384)

Thinking more about this point, if we are going to follow hardware if 
might be better to have:

#define STM32F4_RCC_AHB1_GPIOA 0
#define STM32F4_RCC_AHB1_GPIOA 1
...
#define STM32F4_RCC_APB2_LTDC 26


#define STM32F4_AHB1_RESET(x) (STM32F4_RCC_AHB1_##x##_BIT + (0x10 * 8))
#define STM32F4_AHB2_RESET(x) (STM32F4_RCC_AHB2_##x##_BIT + (0x14 * 8))
...
#define STM32F4_APB2_RESET(x) (STM32F4_RCC_APB2_##x##_BIT + (0x24 * 8))

Its more typing (or copy 'n pasting) by at least every number now maps 
directly to the datasheet.


>>>>
>>>> Then, in DT, a reset would be described like this:
>>>>
>>>> timer2 {
>>>>       resets = <&rcc STM32F4_RESET(TIM2)>;
>>>> };
>>>>
>>>> Phillip, Daniel, does that look acceptable to you?
>>>
>>>
>>> Doesn't look unreasonable.
>>>
>>> I am a little uneasy simply because there are very few similar header files
>>> in that directory but I haven't thought of a better idea.
>>
>> Since this file will be shared by both clock and reset drivers, I
>> don't see better option.
>> I will implement it in v8 if Philipp agrees.
>
> Are the device tree maintainers happy with this idiom spreading?
> Except for the point above, I think this is acceptable.
>
> regards
> Philipp
>

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Philipp Zabel <p.zabel@pengutronix.de>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Andreas Färber" <afaerber@suse.de>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Arnd Bergmann" <arnd@arndb.de>, "Stefan Agner" <stefan@agner.ch>,
	"Peter Meerwald" <pmeerw@pmeerw.net>,
	"Paul Bolle" <pebolle@tiscali.nl>,
	"Peter Hurley" <peter@hurleysoftware.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Chanwoo Choi" <cw00.choi@samsung.com>,
	"Russell King" <linux@arm.linux.org.uk>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Joe Perches" <joe@perches.com>,
	"Vladimir Zapolskiy" <vladimir_zapolskiy@mentor.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Pawel Moll" <pawel.moll@arm.com>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
	"Kumar Gala" <galak@codeaurora.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jslaby@suse.cz>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>,
	"Antti Palosaari" <crope@iki.fi>, "Tejun Heo" <tj@kernel.org>,
	"Will Deacon" <will.deacon@arm.com>,
	"Nikolay Borisov" <Nikolay.Borisov@arm.com>,
	"Rusty Russell" <rusty@rustcorp.com.au>,
	"Kees Cook" <keescook@chromium.org>,
	"Michal Marek" <mmarek@suse.cz>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>,
	"Nicolae Rosia" <nicolae.rosia@gmail.com>,
	"Kamil Lulko" <rev13@wp.pl>, "Lee Jones" <lee.jones@linaro.org>
Subject: Re: [PATCH v7 05/15] dt-bindings: Document the STM32 reset bindings
Date: Tue, 05 May 2015 17:07:29 +0100	[thread overview]
Message-ID: <5548EAC1.7010002@linaro.org> (raw)
Message-ID: <20150505160729.3A1bhzvv6XlkV7p-qQQ4s8FJL5Sxb5v8Wd70LRBfLx4@z> (raw)
In-Reply-To: <1430840557.3035.60.camel@pengutronix.de>

On 05/05/15 16:42, Philipp Zabel wrote:
> Am Dienstag, den 05.05.2015, 17:19 +0200 schrieb Maxime Coquelin:
>>>> For example, includes/dt-bindings/mfd/stm32f4-rcc.h would look like:
>>>>
>>>> #define GPIOA 0
>>>> #define GPIOB 1
>>>> ...
>>>> #define LTDC 186
>
> That looks a bit fragile.
> At least the defines for the indices should be properly namespaced,
> check out include/dt-bindings/gpio/tegra-gpio.h for a similar case.

Good point.

>>>> #define STM32F4_RESET(x) (x + 128)
>>>> #define STM32F4_CLOCK(x) (x + 384)

Thinking more about this point, if we are going to follow hardware if 
might be better to have:

#define STM32F4_RCC_AHB1_GPIOA 0
#define STM32F4_RCC_AHB1_GPIOA 1
...
#define STM32F4_RCC_APB2_LTDC 26


#define STM32F4_AHB1_RESET(x) (STM32F4_RCC_AHB1_##x##_BIT + (0x10 * 8))
#define STM32F4_AHB2_RESET(x) (STM32F4_RCC_AHB2_##x##_BIT + (0x14 * 8))
...
#define STM32F4_APB2_RESET(x) (STM32F4_RCC_APB2_##x##_BIT + (0x24 * 8))

Its more typing (or copy 'n pasting) by at least every number now maps 
directly to the datasheet.


>>>>
>>>> Then, in DT, a reset would be described like this:
>>>>
>>>> timer2 {
>>>>       resets = <&rcc STM32F4_RESET(TIM2)>;
>>>> };
>>>>
>>>> Phillip, Daniel, does that look acceptable to you?
>>>
>>>
>>> Doesn't look unreasonable.
>>>
>>> I am a little uneasy simply because there are very few similar header files
>>> in that directory but I haven't thought of a better idea.
>>
>> Since this file will be shared by both clock and reset drivers, I
>> don't see better option.
>> I will implement it in v8 if Philipp agrees.
>
> Are the device tree maintainers happy with this idiom spreading?
> Except for the point above, I think this is acceptable.
>
> regards
> Philipp
>


WARNING: multiple messages have this Message-ID (diff)
From: daniel.thompson@linaro.org (Daniel Thompson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 05/15] dt-bindings: Document the STM32 reset bindings
Date: Tue, 05 May 2015 17:07:29 +0100	[thread overview]
Message-ID: <5548EAC1.7010002@linaro.org> (raw)
In-Reply-To: <1430840557.3035.60.camel@pengutronix.de>

On 05/05/15 16:42, Philipp Zabel wrote:
> Am Dienstag, den 05.05.2015, 17:19 +0200 schrieb Maxime Coquelin:
>>>> For example, includes/dt-bindings/mfd/stm32f4-rcc.h would look like:
>>>>
>>>> #define GPIOA 0
>>>> #define GPIOB 1
>>>> ...
>>>> #define LTDC 186
>
> That looks a bit fragile.
> At least the defines for the indices should be properly namespaced,
> check out include/dt-bindings/gpio/tegra-gpio.h for a similar case.

Good point.

>>>> #define STM32F4_RESET(x) (x + 128)
>>>> #define STM32F4_CLOCK(x) (x + 384)

Thinking more about this point, if we are going to follow hardware if 
might be better to have:

#define STM32F4_RCC_AHB1_GPIOA 0
#define STM32F4_RCC_AHB1_GPIOA 1
...
#define STM32F4_RCC_APB2_LTDC 26


#define STM32F4_AHB1_RESET(x) (STM32F4_RCC_AHB1_##x##_BIT + (0x10 * 8))
#define STM32F4_AHB2_RESET(x) (STM32F4_RCC_AHB2_##x##_BIT + (0x14 * 8))
...
#define STM32F4_APB2_RESET(x) (STM32F4_RCC_APB2_##x##_BIT + (0x24 * 8))

Its more typing (or copy 'n pasting) by at least every number now maps 
directly to the datasheet.


>>>>
>>>> Then, in DT, a reset would be described like this:
>>>>
>>>> timer2 {
>>>>       resets = <&rcc STM32F4_RESET(TIM2)>;
>>>> };
>>>>
>>>> Phillip, Daniel, does that look acceptable to you?
>>>
>>>
>>> Doesn't look unreasonable.
>>>
>>> I am a little uneasy simply because there are very few similar header files
>>> in that directory but I haven't thought of a better idea.
>>
>> Since this file will be shared by both clock and reset drivers, I
>> don't see better option.
>> I will implement it in v8 if Philipp agrees.
>
> Are the device tree maintainers happy with this idiom spreading?
> Except for the point above, I think this is acceptable.
>
> regards
> Philipp
>

  reply	other threads:[~2015-05-05 16:07 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-30 16:20 [PATCH v7 00/15] Add support to STMicroelectronics STM32 family Maxime Coquelin
2015-04-30 16:20 ` Maxime Coquelin
2015-04-30 16:20 ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 01/15] scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 02/15] ARM: ARMv7-M: Enlarge vector table up to 256 entries Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 03/15] dt-bindings: Document the ARM System timer bindings Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 04/15] clocksource/drivers: Add ARM System timer driver Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 05/15] dt-bindings: Document the STM32 reset bindings Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
     [not found]   ` <1430410844-16062-6-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-01  8:08     ` Daniel Thompson
2015-05-01  8:08       ` Daniel Thompson
2015-05-01  8:08       ` Daniel Thompson
2015-05-02  7:55       ` Maxime Coquelin
2015-05-02  7:55         ` Maxime Coquelin
2015-05-02  7:55         ` Maxime Coquelin
2015-05-02 10:01         ` Daniel Thompson
2015-05-02 10:01           ` Daniel Thompson
2015-05-02 10:01           ` Daniel Thompson
2015-05-04 10:28           ` Philipp Zabel
2015-05-04 10:28             ` Philipp Zabel
2015-05-04 10:28             ` Philipp Zabel
     [not found]             ` <1430735320.3722.34.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-05-04 11:11               ` Maxime Coquelin
2015-05-04 11:11                 ` Maxime Coquelin
2015-05-04 11:11                 ` Maxime Coquelin
2015-05-04 11:25           ` Maxime Coquelin
2015-05-04 11:25             ` Maxime Coquelin
2015-05-04 11:25             ` Maxime Coquelin
     [not found]             ` <CALszF6BTb0Ce6jfT5gY4eEtSep6+8XqOxu1LbpUXHmPYX9PmgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-05 14:07               ` Daniel Thompson
2015-05-05 14:07                 ` Daniel Thompson
2015-05-05 14:07                 ` Daniel Thompson
2015-05-05 15:19                 ` Maxime Coquelin
2015-05-05 15:19                   ` Maxime Coquelin
2015-05-05 15:19                   ` Maxime Coquelin
2015-05-05 15:42                   ` Philipp Zabel
2015-05-05 15:42                     ` Philipp Zabel
2015-05-05 15:42                     ` Philipp Zabel
2015-05-05 16:07                     ` Daniel Thompson [this message]
2015-05-05 16:07                       ` Daniel Thompson
2015-05-05 16:07                       ` Daniel Thompson
2015-05-05 17:24                       ` Maxime Coquelin
2015-05-05 17:24                         ` Maxime Coquelin
2015-05-05 17:24                         ` Maxime Coquelin
2015-05-05 17:22                     ` Maxime Coquelin
2015-05-05 17:22                       ` Maxime Coquelin
2015-05-05 17:22                       ` Maxime Coquelin
     [not found] ` <1430410844-16062-1-git-send-email-mcoquelin.stm32-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-04-30 16:20   ` [PATCH v7 06/15] drivers: reset: Add STM32 reset driver Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20   ` [PATCH v7 11/15] ARM: Add STM32 family machine Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20   ` [PATCH v7 13/15] ARM: dts: Introduce STM32F429 MCU Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20     ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 07/15] dt-bindings: Document the STM32 timer bindings Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 08/15] clockevents/drivers: Add STM32 Timer driver Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 09/15] dt-bindings: Document the STM32 USART bindings Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 10/15] serial: stm32-usart: Add STM32 USART Driver Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 12/15] ARM: dts: Add ARM System timer as clocksource in armv7m Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 14/15] ARM: configs: Add STM32 defconfig Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20 ` [PATCH v7 15/15] MAINTAINERS: Add entry for STM32 MCUs Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin
2015-04-30 16:20   ` Maxime Coquelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5548EAC1.7010002@linaro.org \
    --to=daniel.thompson@linaro.org \
    --cc=Nikolay.Borisov@arm.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=corbet@lwn.net \
    --cc=crope@iki.fi \
    --cc=cw00.choi@samsung.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=geert@linux-m68k.org \
    --cc=jslaby@suse.cz \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@osg.samsung.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=p.zabel@pengutronix.de \
    --cc=pawel.moll@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=stefan@agner.ch \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.