public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Nikolay Dimitrov <picmaster@mail.bg>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/6] usb: ehci: mx6: Add support for i.MX6SL
Date: Tue, 17 Jun 2014 20:49:10 +0300	[thread overview]
Message-ID: <53A07F96.1040806@mail.bg> (raw)
In-Reply-To: <539FDFAE.9060005@compulab.co.il>

Hi Igor,

On 6/17/2014 9:26 AM, Igor Grinberg wrote:
> That is exactly what we do already (code is on the way) and IMO what 
> we should aim for.
I really didn't knew this in the beginning before seeing your answers, 
this would be definitely easier
to support.

> For me it is just an artificial complication which prevents single binary for
> i.MX6 based boards.
> Don't get me wrong, I think that in your board code you can choose which
> approach you want, whether it will be single or multi binary, but this
> is i.MX6 (and possibly future i.MX*) USB code which can be used on many
> i.MX6 boards.
I definitely like the idea, no argument on this.

> Again, what are we talking about? A couple of bytes? 
I think it will cost 22 additional bytes per check. Here's a rough example:

(Code that just assigns the address to the struct pointer -> 10 bytes)
     p = (mx6_usb_t*)0x55667788;
     8380:       f247 7388       movw    r3, #30600      ; 0x7788
     8384:       f2c5 5366       movt    r3, #21862      ; 0x5566
     8388:       60fb            str     r3, [r7, #12]


(Code that checks in runtime the CPU type -> 32 bytes)
     if (is_imx6q())
     8380:       f7ff ffee       bl      8360 <is_imx6q>
     8384:       4603            mov     r3, r0
     8386:       2b00            cmp     r3, #0
     8388:       d005            beq.n   8396 <main+0x26>
     {
         p = (mx6_usb_t*)0x11223344;
     838a:       f243 3344       movw    r3, #13124      ; 0x3344
     838e:       f2c1 1322       movt    r3, #4386       ; 0x1122
     8392:       60fb            str     r3, [r7, #12]
     8394:       e004            b.n     83a0 <main+0x30>
     }
     else
     {
         p = (mx6_usb_t*)0x55667788;
     8396:       f247 7388       movw    r3, #30600      ; 0x7788
     839a:       f2c5 5366       movt    r3, #21862      ; 0x5566
     839e:       60fb            str     r3, [r7, #12]
     }

If I assume that we have 20 sub-systems in U-Boot, and each needs to 
check the CPU type
in 10 places, this makes 4400 bytes difference, which is roughly the 
size of a moderately
small driver in U-Boot. I need to say that I'm in no way expert in ARM 
assembly, so please
feel free to point out any mistakes in my assumptions.

Please don't get me wrong - I don't want to argue at all. I was just 
wondering about this topic
and decided to check with you guys just to be sure.

Kind regards,
Nikolay

  reply	other threads:[~2014-06-17 17:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.3.1402912801.24865.u-boot@lists.denx.de>
2014-06-16 14:33 ` [U-Boot] [PATCH 1/6] usb: ehci: mx6: Add support for i.MX6SL Nikolay Dimitrov
2014-06-16 14:53   ` Marek Vasut
2014-06-17 16:21     ` Nikolay Dimitrov
2014-06-17 16:36       ` Marek Vasut
2014-06-17  6:26   ` Igor Grinberg
2014-06-17 17:49     ` Nikolay Dimitrov [this message]
2014-06-19 12:56       ` Igor Grinberg
2014-06-16  0:46 Otavio Salvador
2014-06-16  0:49 ` Marek Vasut
2014-06-16  1:11   ` Otavio Salvador
2014-06-16  1:28     ` Marek Vasut
2014-06-16  7:05 ` Igor Grinberg
2014-06-16 11:51   ` Otavio Salvador
2014-06-17 14:56 ` Stefano Babic
2014-06-17 14:58   ` Otavio Salvador

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=53A07F96.1040806@mail.bg \
    --to=picmaster@mail.bg \
    --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