public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Reinhard Meyer <u-boot@emk-elektronik.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] Struct SoC access
Date: Sat, 14 Aug 2010 21:58:05 +0200	[thread overview]
Message-ID: <4C66F54D.2060701@emk-elektronik.de> (raw)
In-Reply-To: <20100814194117.982C71606A5@gemini.denx.de>

Dear Wolfgang Denk,
> Then just write in the comment part of the second patch that the other
> one has to be applied first...

Thats fine with me.

>> Anyway, is the method of (for example!)
>>
>> #define DBU_ADDR 0xsomething (in a SoC header file)
>>
>> dbu_t *dbu = (dbu_t *)DBU_ADDR; (in a function)
>>
>> OK?
> 
> Yes.

Thats the way I do it currently

>> Or do we need to further encapsulate that in a function like
> 
> No.

I have seen that somewhere in u-boot.

>> I was even thinking of something like
>>
>> struct soc {
>> 	u32 xyz[0x80];	/* XYZ unit */
>> 	u32 dbu[0x80];	/* Debug Unit */
>> 	u32 rstc[0x80];	/* Reset Controller */
>> and so on.
> 
> This is what PPC used to do; I like that - but ARM people always
> explained to me that it makes no sense because address space on ARM
> SoC is only sparely populated.

Even if, that's no reason, on can write "u32 spi0[0x1000]", on AT91
the spacing of peripherals is 0x4000 bytes, in fact it repeats
times in its window. The system stuff is like one peripheral with
its components spaced by 0x200 bytes (hence the 0x80 above).

> I think this looks nice, but as mentioned before - I'm not an ARM
> expert. They tend to do it differently.

I can be done for AT91, but I'm not Don Quichote ;)

Would the toolchain "gulp" when one defines the whole 4 GB that way?

Best Regards,
Reinhard

  reply	other threads:[~2010-08-14 19:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-14  9:07 [U-Boot] Make preparatory patches that initially have no effect? Reinhard Meyer
2010-08-14 14:30 ` Wolfgang Denk
2010-08-14 17:05   ` Reinhard Meyer
2010-08-14 18:46     ` Wolfgang Denk
2010-08-14 19:30       ` [U-Boot] Struct SoC access (was:Make preparatory patches that initially have no effect?) Reinhard Meyer
2010-08-14 19:36         ` Mike Frysinger
2010-08-14 19:40           ` [U-Boot] Struct SoC access Reinhard Meyer
2010-08-14 20:48             ` Mike Frysinger
2010-08-14 19:41         ` [U-Boot] Struct SoC access (was:Make preparatory patches that initially have no effect?) Wolfgang Denk
2010-08-14 19:58           ` Reinhard Meyer [this message]
2010-08-14 20:47             ` [U-Boot] Struct SoC access Reinhard Meyer
2010-08-14 21:49               ` Wolfgang Denk
2010-08-14 21:47             ` Wolfgang Denk
2010-08-14 22:15               ` Reinhard Meyer
2010-08-16 20:21                 ` Scott Wood
2010-08-17  6:58                   ` Reinhard Meyer

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=4C66F54D.2060701@emk-elektronik.de \
    --to=u-boot@emk-elektronik.de \
    --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