From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 6/6] dm: sunxi: Add support for serial using driver model
Date: Thu, 30 Oct 2014 10:36:35 +0100 [thread overview]
Message-ID: <545206A3.4030301@redhat.com> (raw)
In-Reply-To: <1414660108.3584.39.camel@hellion.org.uk>
Hi,
On 10/30/2014 10:08 AM, Ian Campbell wrote:
> On Wed, 2014-10-29 at 13:28 -0600, Simon Glass wrote:
>>> In the meantime could we somehow replace/augment the #ifdef chain in
>>> gpio_init with something keyed off the stdout alias perhaps?
>>
>> Tegra has code to convert a device interrupt number (which uniquely
>> identifies a peripheral in that SoC) to an internal peripheral ID,
>> then these is a function which can enable a peripheral given the ID
>> (funcmux). In some cases you could have multiple options for the
>> funcmux, but there is no easy way to support this.
>
> I think that although there are multiple options for some functions
> (UARTs come to mind) we haven't yet found the need to make any dynamic
> choices, so it's all static right now.
>
>> But this approach
>> might be good enough for sunxi. We can easily write the function to
>> enable the pins for a particular port, and this could go in
>> arch/arm/...sunxi/ perhaps.
>
> I'm ok with it so long as it isn't going to stand in the way of proper
> dt based pinmux in the future.
>
> One way to help with that might be to use the allwinner,function
> property in DT as the funcmux name.
>
> Hans, what do you think?
I'm not 100% sure what you're suggesting here, are you suggesting to
have a 1:1 mapping between function names as stored in allwinner,function
in dts and the value to pass to sunxi_gpio_set_cfgpin ?
This is not going to fly very far, e.g. the "uart0" function has cfg value
of 2 on portb while it has a value of 4 on portf.
So we will really need a sunxi specific function to go from port-no +
allwinner,function-string to a sunxi_gpio_set_cfgpin function.
I think the best thing we can do to not make this function too big is do 3
things:
1) Have a table which only contains mapping where the cfg value is not 2,
most ipblocks have a "primary" gpio port they are intended to be used with,
and this usage maps to a cfg value of 2, and most designs use this, so have
a list of exceptions and return 2 otherwise, this will make debugging of
issues where the mux is not setup a bit harder, but it will keep things a
lot smaller.
2) Only but things in there which are actually used by boards, or we expect
to need in the near future.
3) Have #ifndef CONFIG_SPL_BUILD .. #endif around anything but mmc / uart
entries in that table.
Together those should keep things small enough for the SPL.
Regards,
Hans
next prev parent reply other threads:[~2014-10-30 9:36 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-23 4:02 [U-Boot] [PATCH v2 0/6] dm: Introduce driver model for sunxi Simon Glass
2014-10-23 4:02 ` [U-Boot] [PATCH v2 1/6] dm: sunxi: dts: Add sun7i device tree files Simon Glass
2014-10-24 8:32 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-28 1:05 ` Simon Glass
2014-10-23 4:02 ` [U-Boot] [PATCH v2 2/6] dm: sunxi: Add a new config for an FDT-based pcDuino3 Simon Glass
2014-10-24 8:38 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-28 0:04 ` Simon Glass
2014-10-28 9:13 ` Hans de Goede
2014-10-29 3:02 ` Simon Glass
2014-10-29 9:32 ` Hans de Goede
2014-10-29 19:30 ` Simon Glass
2014-10-30 8:36 ` Hans de Goede
2014-10-23 4:02 ` [U-Boot] [PATCH v2 3/6] dm: sunxi: Add pinmux functions which take a bank parameter Simon Glass
2014-10-24 9:00 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-23 4:02 ` [U-Boot] [PATCH v2 4/6] dm: sunxi: Make sure that GPIOs are requested Simon Glass
2014-10-24 9:01 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-23 4:02 ` [U-Boot] [PATCH v2 5/6] dm: sunxi: Modify the GPIO driver to support driver model Simon Glass
2014-10-24 9:08 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-28 0:05 ` Simon Glass
2014-10-28 2:53 ` Chen-Yu Tsai
2014-10-28 3:29 ` Simon Glass
2014-10-28 3:39 ` Chen-Yu Tsai
2014-10-28 14:30 ` Maxime Ripard
2014-10-23 4:02 ` [U-Boot] [PATCH v2 6/6] dm: sunxi: Add support for serial using " Simon Glass
2014-10-24 9:10 ` [U-Boot] [U-Boot, v2, " Hans de Goede
2014-10-24 9:42 ` [U-Boot] [PATCH v2 " Ian Campbell
2014-10-28 0:06 ` Simon Glass
2014-10-29 8:05 ` Ian Campbell
2014-10-29 19:28 ` Simon Glass
2014-10-30 9:08 ` Ian Campbell
2014-10-30 9:36 ` Hans de Goede [this message]
2014-10-30 10:14 ` Ian Campbell
2014-10-31 2:45 ` Simon Glass
2014-10-31 9:07 ` Hans de Goede
2014-10-31 9:30 ` Ian Campbell
2014-10-31 9:33 ` Hans de Goede
2014-10-31 9:55 ` Ian Campbell
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=545206A3.4030301@redhat.com \
--to=hdegoede@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox