From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] tegra20: tamonten: Fix the early gpio init
Date: Thu, 02 Oct 2014 13:08:56 -0600 [thread overview]
Message-ID: <542DA2C8.4010607@wwwdotorg.org> (raw)
In-Reply-To: <CAPnjgZ3-zqxD5Fat2Xa6hu8tsqjeKnD0HuN+UWYE+=-_kZ2H9A@mail.gmail.com>
On 10/02/2014 01:05 PM, Simon Glass wrote:
> Hi Alban,
>
> On 2 October 2014 10:12, Alban Bedel <alban.bedel@avionic-design.de> wrote:
>>
>> On Thu, 02 Oct 2014 09:42:18 -0600
>> Stephen Warren <swarren@wwwdotorg.org> wrote:
>>
>>> On 10/02/2014 09:14 AM, Alban Bedel wrote:
>>>> To set gpio during the early init we now need to use
>>>> tegra_spl_gpio_direction_output(), copied from seaboard.
>>>>
>>>> Change-Id: Id0aadb17a71b78e75e8c3f8de374102b3eab767b
>>>
>>> That shouldn't be present on upstream patches.
>>
>> Sorry about this.
>
> If you use patman it will take these out for you automatically without
> you having to think about it.
>
>>
>>
>>>> Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
>>>> ---
>>>> board/avionic-design/common/tamonten.c | 4 +++-
>>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/board/avionic-design/common/tamonten.c b/board/avionic-design/common/tamonten.c
>>>> index 9c86779..ea2425a 100644
>>>> --- a/board/avionic-design/common/tamonten.c
>>>> +++ b/board/avionic-design/common/tamonten.c
>>>> @@ -23,8 +23,10 @@
>>>> #ifdef CONFIG_BOARD_EARLY_INIT_F
>>>> void gpio_early_init(void)
>>>> {
>>>> +#ifndef CONFIG_SPL_BUILD
>>>> gpio_request(GPIO_PI4, NULL);
>>>> - gpio_direction_output(GPIO_PI4, 1);
>>>> +#endif
>>>> + tegra_spl_gpio_direction_output(GPIO_PI4, 1);
>>>> }
>>>
>>> Surely you only want to call tegra_spl_*() from SPL, and not from
>>> non-SPL code? In other words, don't you need something more like:
>>>
>>> #ifdef CONFIG_SPL_BUILD
>>> tegra_spl_gpio_direction_output(GPIO_PI4, 1);
>>> #else
>>> gpio_request(GPIO_PI4, NULL);
>>> gpio_direction_output(GPIO_PI4, 1);
>>> #endif
>>
>> Sadly not, at this point the gpio driver isn't available yet, that's
>> why one need to use tegra_spl_gpio_direction_output(). As mentioned in
>> the commit log I copied this from seaboard, assuming it would be
>> correct.
>>
>> AFAICT the gpio_request() could be removed too, it doesn't work at this
>> point anyway.
>
> This is a temporary measure until the SPL series is applied to dm/next
> at least (I expect sometime this month). While driver model is
> available before relocation, the Tegra GPIO driver is not marked in
> the device tree with "u-boot,dm-pre-reloc", so is not available this
> early. Device tree additions give Stephen a headache, and I decided it
> was better for it not to work for now, and just use the SPL function.
>
> There are three stages to consider:
>
> 1. SPL
> 2. U-Boot, before relocation
> 3. U-Boot, after relocation
>
> At present, driver model does not support 1 (see dm/spl-working for
> patches if you want to see this). It supports 2 but only for drivers
> marked pre-relocation (except serial, for which a hack forces the
> console to be bound and used in the device tree case without the
> u-boot,dm-pre-reloc marker). It supports 3 fully.
That's roughly what I expected. Given that, I fail to see why the
following wouldn't work then:
>>> #ifdef CONFIG_SPL_BUILD
>>> tegra_spl_gpio_direction_output(GPIO_PI4, 1);
>>> #else
>>> gpio_request(GPIO_PI4, NULL);
>>> gpio_direction_output(GPIO_PI4, 1);
>>> #endif
(or have just 1 of those two ifdef branches; presumably the GPIO only
needs to be initialized in one place not both?)
next prev parent reply other threads:[~2014-10-02 19:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-02 15:14 [U-Boot] [PATCH] tegra20: tamonten: Fix the early gpio init Alban Bedel
2014-10-02 15:42 ` Stephen Warren
2014-10-02 16:12 ` Alban Bedel
2014-10-02 18:39 ` Stephen Warren
2014-10-02 19:09 ` Simon Glass
2014-10-02 19:05 ` Simon Glass
2014-10-02 19:08 ` Stephen Warren [this message]
2014-10-02 19:11 ` Simon Glass
-- strict thread matches above, loose matches on Subject: below --
2015-02-24 16:58 Alban Bedel
2015-02-24 17:02 ` Stephen Warren
2015-02-24 17:18 ` Alban Bedel
2015-02-24 17:22 ` Stephen Warren
2015-02-24 17:35 ` Alban Bedel
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=542DA2C8.4010607@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/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.