All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikita Kiryanov <nikita@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 09/12] IMX: add additional function for pinmux using an array
Date: Wed, 07 May 2014 19:59:26 +0300	[thread overview]
Message-ID: <536A666E.6030000@compulab.co.il> (raw)
In-Reply-To: <CAJ+vNU3QRZ_ircuZQn7m4TTXfOxuF0kEQOKMdK112A-aSFi2Nw@mail.gmail.com>


On 06/05/14 07:35, Tim Harvey wrote:
> On Tue, Apr 29, 2014 at 8:22 AM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
<snip>
>> The function name ..._array() also doesn't really capture what's
>> going on here. Naming is hard though, and I'm not coming up
>> with something else.
>>
>> Perhaps 'sparse', 'skip', or alternate?
> ya, I'm not sure anything else is more explanatory when we are doing
> something like this. Its bad enough that its likely difficult for
> someone to understand their first time through that we are doing this
> to eliminate multiple structs.

Come to think of it, I don't think we need an _array() function at all. 
The list selection and
stride size are IOMUX_PADS implementation details. It's not something we 
should expose to
the function user. is_cpu_type() and ifdef(CONFIG_MX6QDL) can be used to 
decide the
list and stride values inside imx_iomux_v3_setup_multiple_pads(), and 
then this function
could be used for both single and multi cpu type situations.

>
> <snip>
>>> +/* macros for declaring and using pinmux array */
>>> +#define IOMUX_PADS(x) (MX6Q_##x), (MX6DL_##x)
>>
>> In a similar vein to my comment about Patch 8, I do wonder if a
>> minor extension of this will allow use with a single-variant
>> board though.
> for a single-variant one would just use the original
> IOMUX_PAD/imx_iomux_v3_setup_pad/imx_iomux_v3_setup_pad right?

They can, but then we don't get to use the same code for both
situations.
If we define two versions of IOMUX_PADS: one for multi cpu type,
and one for single cpu type, then the pinmux arrays for both
situations will be syntactically similar.
When combined with my other suggestion, it will be very easy to
take a U-Boot configured for one CPU type, and reconfigure it to
support both CPU types.

>
>> We have some custom designs that really only function with
>> one variant (usually i.MX6DQ) and it seems wrong to have
>> the other variant included.
>>
>>
>>> +#define SETUP_IOMUX_PAD(def)                                   \
>>> +if (is_cpu_type(MXC_CPU_MX6Q)) {                               \
>>> +       imx_iomux_v3_setup_pad(MX6Q_##def);                     \
>>> +} else {                                                       \
>>> +       imx_iomux_v3_setup_pad(MX6DL_##def);                    \
>>> +}
>>> +#define SETUP_IOMUX_PADS(x)                                    \
>>> +       imx_iomux_v3_setup_multiple_pads_array(x,               \
>>> +       ARRAY_SIZE(x)/2, is_cpu_type(MXC_CPU_MX6Q) ? 0 : 1, 2)
>>> +
>>>    #endif        /* __MACH_IOMUX_V3_H__*/
>>>
>> Please don't mis-interpret my comments as any form of Nack.
>>
>> This patch moves the ball forward, and the approach of building
>> two lists into one prevents duplication of tables quite nicely.
>>
>> Regards,
>>
>>
>> Eric
>>
> Thanks for the review!
>
> Tim
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
  --
Regards,
Nikita Kiryanov

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

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 20:17 [U-Boot] [PATCH 00/12] MX6: SPL NAND support Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 01/12] SPL: NAND: remove CONFIG_SYS_NAND_PAGE_SIZE Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 02/12] SPL: NAND: add support for mxs nand Tim Harvey
2014-05-02 20:56   ` Scott Wood
2014-05-06  4:08     ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 03/12] MX6: add common SPL configuration Tim Harvey
2014-04-29  4:14   ` Eric Nelson
2014-04-29  6:37     ` Igor Grinberg
2014-04-29 11:55       ` Tim Harvey
2014-05-05  9:05   ` Stefano Babic
2014-05-07 17:01   ` Nikita Kiryanov
2014-04-28 20:17 ` [U-Boot] [PATCH 04/12] spl: consolidate arch/arm/include/asm/arch-*/spl.h Tim Harvey
2014-04-30  5:39   ` Masahiro Yamada
2014-05-05  9:08     ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 05/12] MX6: add boot device support for SPL Tim Harvey
2014-04-29  4:28   ` Eric Nelson
2014-05-05  9:14   ` Stefano Babic
2014-05-05 15:46     ` Tim Harvey
2014-05-05 18:30       ` Stefano Babic
2014-05-06  6:36       ` Tapani Utriainen
2014-05-06  7:55         ` Stefano Babic
2014-05-06 15:42           ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 06/12] IMX: add comments and remove unused struct fields Tim Harvey
2014-05-05 10:28   ` Stefano Babic
2014-04-28 20:17 ` [U-Boot] [PATCH 07/12] MX6: add structs for mmdc and ddr iomux registers Tim Harvey
2014-04-29 14:20   ` Eric Nelson
2014-05-05 10:34   ` Stefano Babic
2014-05-05 15:52     ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 08/12] MX6: add mmdc configuration for MX6Q/MX6DL Tim Harvey
2014-04-29 15:15   ` Eric Nelson
2014-04-29 18:19     ` Tim Harvey
2014-04-29 18:26       ` Eric Nelson
2014-04-29 18:35     ` Otavio Salvador
2014-04-28 20:17 ` [U-Boot] [PATCH 09/12] IMX: add additional function for pinmux using an array Tim Harvey
2014-04-29 15:22   ` Eric Nelson
2014-05-06  4:35     ` Tim Harvey
2014-05-07 16:59       ` Nikita Kiryanov [this message]
2014-05-08  4:11         ` Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 10/12] imx: ventana: split read_eeprom into standalone file Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 11/12] imx: ventana: auto-configure for IMX6Q vs IMX6DL Tim Harvey
2014-04-28 20:17 ` [U-Boot] [PATCH 12/12] imx: ventana: switch to SPL Tim Harvey
2014-05-06 18:18   ` Tim Harvey
2014-05-06 18:45     ` York Sun
2014-05-06 19:11     ` Jeroen Hofstee
2014-05-06 23:35       ` Tim Harvey
2014-05-07 16:14         ` York Sun
2014-05-07 18:43           ` Jeroen Hofstee
2014-05-07 20:27           ` Tim Harvey
2014-05-07 20:29             ` York Sun
2014-05-07 20:35               ` Tim Harvey
2014-05-07 20:36                 ` York Sun
2014-05-07  9:29     ` Stefano Babic
2014-05-14  4:58       ` Tim Harvey
2014-05-14  5:03         ` Tim Harvey
2014-05-14 22:32           ` Tim Harvey
2014-05-15  9:20             ` Stefano Babic

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=536A666E.6030000@compulab.co.il \
    --to=nikita@compulab.co.il \
    --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.