From: jgunthorpe@obsidianresearch.com (Jason Gunthorpe)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/14] bus: mvebu-mbus: Introduce device tree binding
Date: Fri, 7 Jun 2013 14:09:56 -0600 [thread overview]
Message-ID: <20130607200956.GB9010@obsidianresearch.com> (raw)
In-Reply-To: <201306072153.03855.arnd@arndb.de>
On Fri, Jun 07, 2013 at 09:53:03PM +0200, Arnd Bergmann wrote:
> Can you explain to me why it is an invalid target ID value? Is it
> treated very differently by the mbus register setup than all the
> others? I guess we can define it as something else to make a valid
> target ID, by using one or more of the remaining bits in the first
> address cell.
There is a special dedicated window register for the internal regs
base. Marvell did not define it a target ID or window attributes, and
only that window register can be used to configure it. The mbus driver
should never read or write this register.
So we have a 2 cell address encoding of the form:
IIAA0000 00oooooo
Where:
-- I = Marvell defined target ID for programmable windows
-- A = Marvell defined target attributes for programmable windows
-- o = offset within the window
Now, we need 2 cell format that tells the driver that this is the
internal regs block. Assuming that marvell defines all I/A values we
need another value (I called it an invalid valid) to indicate internal
regs, several choices:
FFFFFFFF 00oooooo
0000FFFF 00oooooo
00000001 00oooooo
Doesn't really matter which is picked, as far as I can tell, though
maybe the 01 option is best, leading to:
IIAAssss 00oooooo
Where:
-- s = target space
== 0 means I/A are:
-- I = Marvell defined target ID for programmable windows
-- A = Marvell defined target attributes for programmable windows
== 1 means internal regs block
-- o = offset within the target
Which is pretty tidy..
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Lior Amsalem <alior-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Maen Suleiman <maen-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 03/14] bus: mvebu-mbus: Introduce device tree binding
Date: Fri, 7 Jun 2013 14:09:56 -0600 [thread overview]
Message-ID: <20130607200956.GB9010@obsidianresearch.com> (raw)
In-Reply-To: <201306072153.03855.arnd-r2nGTMty4D4@public.gmane.org>
On Fri, Jun 07, 2013 at 09:53:03PM +0200, Arnd Bergmann wrote:
> Can you explain to me why it is an invalid target ID value? Is it
> treated very differently by the mbus register setup than all the
> others? I guess we can define it as something else to make a valid
> target ID, by using one or more of the remaining bits in the first
> address cell.
There is a special dedicated window register for the internal regs
base. Marvell did not define it a target ID or window attributes, and
only that window register can be used to configure it. The mbus driver
should never read or write this register.
So we have a 2 cell address encoding of the form:
IIAA0000 00oooooo
Where:
-- I = Marvell defined target ID for programmable windows
-- A = Marvell defined target attributes for programmable windows
-- o = offset within the window
Now, we need 2 cell format that tells the driver that this is the
internal regs block. Assuming that marvell defines all I/A values we
need another value (I called it an invalid valid) to indicate internal
regs, several choices:
FFFFFFFF 00oooooo
0000FFFF 00oooooo
00000001 00oooooo
Doesn't really matter which is picked, as far as I can tell, though
maybe the 01 option is best, leading to:
IIAAssss 00oooooo
Where:
-- s = target space
== 0 means I/A are:
-- I = Marvell defined target ID for programmable windows
-- A = Marvell defined target attributes for programmable windows
== 1 means internal regs block
-- o = offset within the target
Which is pretty tidy..
Jason
next prev parent reply other threads:[~2013-06-07 20:09 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-07 16:47 [PATCH 00/14] MBus device tree binding Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 01/14] bus: mvebu-mbus: Use pr_fmt Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:56 ` Thomas Petazzoni
2013-06-07 16:56 ` Thomas Petazzoni
2013-06-08 14:15 ` Jason Cooper
2013-06-08 14:15 ` Jason Cooper
2013-06-07 16:47 ` [PATCH 02/14] bus: mvebu-mbus: Factor out initialization details Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 03/14] bus: mvebu-mbus: Introduce device tree binding Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 19:10 ` Arnd Bergmann
2013-06-07 19:10 ` Arnd Bergmann
2013-06-07 19:44 ` Jason Gunthorpe
2013-06-07 19:44 ` Jason Gunthorpe
2013-06-07 19:53 ` Arnd Bergmann
2013-06-07 19:53 ` Arnd Bergmann
2013-06-07 20:09 ` Jason Gunthorpe [this message]
2013-06-07 20:09 ` Jason Gunthorpe
2013-06-07 21:15 ` Arnd Bergmann
2013-06-07 21:15 ` Arnd Bergmann
2013-06-08 0:26 ` Jason Gunthorpe
2013-06-08 0:26 ` Jason Gunthorpe
2013-06-08 17:29 ` Ezequiel Garcia
2013-06-08 17:29 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 04/14] bus: mvebu-mbus: Add static window allocation to the DT binding Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 19:01 ` Arnd Bergmann
2013-06-07 19:01 ` Arnd Bergmann
2013-06-07 20:00 ` Jason Gunthorpe
2013-06-07 20:00 ` Jason Gunthorpe
2013-06-07 21:07 ` Arnd Bergmann
2013-06-07 21:07 ` Arnd Bergmann
2013-06-08 18:38 ` Ezequiel Garcia
2013-06-08 18:38 ` Ezequiel Garcia
2013-06-09 1:45 ` Jason Gunthorpe
2013-06-09 1:45 ` Jason Gunthorpe
2013-06-09 14:39 ` Ezequiel Garcia
2013-06-09 14:39 ` Ezequiel Garcia
2013-06-11 13:57 ` Ezequiel Garcia
2013-06-11 13:57 ` Ezequiel Garcia
2013-06-11 15:26 ` Arnd Bergmann
2013-06-11 15:26 ` Arnd Bergmann
2013-06-11 21:50 ` Jason Gunthorpe
2013-06-11 21:50 ` Jason Gunthorpe
2013-06-11 22:22 ` Sebastian Hesselbarth
2013-06-11 22:22 ` Sebastian Hesselbarth
2013-06-11 23:02 ` Arnd Bergmann
2013-06-11 23:02 ` Arnd Bergmann
2013-06-11 23:08 ` Jason Gunthorpe
2013-06-11 23:08 ` Jason Gunthorpe
2013-06-12 7:37 ` Sebastian Hesselbarth
2013-06-12 7:37 ` Sebastian Hesselbarth
2013-06-11 22:34 ` Arnd Bergmann
2013-06-11 22:34 ` Arnd Bergmann
2013-06-11 22:58 ` Jason Gunthorpe
2013-06-11 22:58 ` Jason Gunthorpe
2013-06-11 23:10 ` Arnd Bergmann
2013-06-11 23:10 ` Arnd Bergmann
2013-06-12 11:14 ` Grant Likely
2013-06-12 11:14 ` Grant Likely
2013-06-12 20:45 ` Arnd Bergmann
2013-06-12 20:45 ` Arnd Bergmann
2013-06-12 21:12 ` Ezequiel Garcia
2013-06-12 21:12 ` Ezequiel Garcia
2013-06-12 21:26 ` Jason Gunthorpe
2013-06-12 21:26 ` Jason Gunthorpe
2013-06-12 21:36 ` Ezequiel Garcia
2013-06-12 21:36 ` Ezequiel Garcia
2013-06-12 21:52 ` Arnd Bergmann
2013-06-12 21:52 ` Arnd Bergmann
2013-06-12 22:02 ` Jason Gunthorpe
2013-06-12 22:02 ` Jason Gunthorpe
2013-06-12 22:20 ` Arnd Bergmann
2013-06-12 22:20 ` Arnd Bergmann
2013-06-12 22:24 ` Arnd Bergmann
2013-06-12 22:24 ` Arnd Bergmann
2013-06-15 16:03 ` Grant Likely
2013-06-15 16:03 ` Grant Likely
2013-06-12 20:02 ` Ezequiel Garcia
2013-06-12 20:02 ` Ezequiel Garcia
2013-06-12 20:12 ` Jason Gunthorpe
2013-06-12 20:12 ` Jason Gunthorpe
2013-06-12 21:50 ` Arnd Bergmann
2013-06-12 21:50 ` Arnd Bergmann
2013-06-12 11:07 ` Grant Likely
2013-06-12 11:07 ` Grant Likely
2013-06-12 11:43 ` Arnd Bergmann
2013-06-12 11:43 ` Arnd Bergmann
2013-06-12 11:54 ` Grant Likely
2013-06-12 11:54 ` Grant Likely
2013-06-12 11:58 ` Arnd Bergmann
2013-06-12 11:58 ` Arnd Bergmann
2013-06-12 10:52 ` Grant Likely
2013-06-12 10:52 ` Grant Likely
2013-06-09 13:42 ` Arnd Bergmann
2013-06-09 13:42 ` Arnd Bergmann
2013-06-09 14:34 ` Ezequiel Garcia
2013-06-09 14:34 ` Ezequiel Garcia
2013-06-09 15:37 ` Arnd Bergmann
2013-06-09 15:37 ` Arnd Bergmann
2013-06-12 10:48 ` Grant Likely
2013-06-12 10:48 ` Grant Likely
2013-06-11 13:31 ` Ezequiel Garcia
2013-06-11 13:31 ` Ezequiel Garcia
2013-06-11 15:02 ` Arnd Bergmann
2013-06-11 15:02 ` Arnd Bergmann
2013-06-07 16:47 ` [PATCH 05/14] bus: mvebu-mbus: Update the mbus-compatible node's ranges property Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-12 10:25 ` Grant Likely
2013-06-12 10:25 ` Grant Likely
2013-06-07 16:47 ` [PATCH 06/14] ARM: mvebu: Initialize MBus using the DT binding Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 07/14] ARM: mvebu: Remove the harcoded BootROM window allocation Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 08/14] memory: mvebu-devbus: Remove address decoding window workaround Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 09/14] ARM: mvebu: Add MBus to Armada 370/XP device tree Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 10/14] ARM: mvebu: Add BootROM " Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 11/14] ARM: mvebu: Relocate Armada 370/XP DeviceBus device tree nodes Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 19:18 ` Arnd Bergmann
2013-06-07 19:18 ` Arnd Bergmann
2013-06-07 16:47 ` [PATCH 12/14] ARM: mvebu: Remove device tree unused properties on A370 Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:56 ` Thomas Petazzoni
2013-06-07 16:56 ` Thomas Petazzoni
2013-06-08 14:18 ` Jason Cooper
2013-06-08 14:18 ` Jason Cooper
2013-06-07 16:47 ` [PATCH 13/14] ARM: mvebu: Relocate Armada 370 PCIe device tree nodes Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
2013-06-07 16:47 ` [PATCH 14/14] ARM: mvebu: Relocate Armada XP " Ezequiel Garcia
2013-06-07 16:47 ` Ezequiel Garcia
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=20130607200956.GB9010@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.