public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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