aboutsummaryrefslogtreecommitdiff
path: root/doc/xscom-node-bindings.rst
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2016-07-27 17:43:05 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-08-02 17:31:12 +1000
commitc90c25742ad3d41c66d88c22358ddd2a76194900 (patch)
treee2a0a86502224ae9acb462b7b98e0a772a1a30e3 /doc/xscom-node-bindings.rst
parentcce80be2fc7d9114ea0000349cc52f0947ea00f1 (diff)
downloadskiboot-c90c25742ad3d41c66d88c22358ddd2a76194900.zip
skiboot-c90c25742ad3d41c66d88c22358ddd2a76194900.tar.gz
skiboot-c90c25742ad3d41c66d88c22358ddd2a76194900.tar.bz2
doc/*.rst: fix ReSTructured text syntax
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc/xscom-node-bindings.rst')
-rw-r--r--doc/xscom-node-bindings.rst34
1 files changed, 20 insertions, 14 deletions
diff --git a/doc/xscom-node-bindings.rst b/doc/xscom-node-bindings.rst
index 0c2545e..0fd5e93 100644
--- a/doc/xscom-node-bindings.rst
+++ b/doc/xscom-node-bindings.rst
@@ -1,18 +1,22 @@
+XSCOM Bindings
+==============
+
XSCOM regions
-=============
+-------------
The top-level xscom nodes specify the mapping range from the 64-bit address
space into the PCB address space.
There's one mapping range per chip xscom, therefore one node per mapping range.
+::
-/
-/xscom@<chip-base-address-0>/
-/xscom@<chip-base-address-1>/
-…
-/xscom@<chip-base-address-n>/
+ /
+ /xscom@<chip-base-address-0>/
+ /xscom@<chip-base-address-1>/
+ …
+ /xscom@<chip-base-address-n>/
-- where <chip-base-address-n> is the xscom base address with the gcid-specific
+* where <chip-base-address-n> is the xscom base address with the gcid-specific
bits (for chip n) OR-ed in.
Each xscom node has the following properties:
@@ -25,17 +29,18 @@ Each xscom node has the following properties:
Chiplet endpoints
-=================
+-----------------
One sub-node per endpoint. Endpoints are defined by their (port,
endpoint-address) data on the PCB, and are named according to their endpoint
types:
+::
-/xscom@<chip-base-address>/
-/xscom@<chip-base-address>/chiptod@<endpoint-addr>
-/xscom@<chip-base-address>/lpc@<endpoint-addr>
+ /xscom@<chip-base-address>/
+ /xscom@<chip-base-address>/chiptod@<endpoint-addr>
+ /xscom@<chip-base-address>/lpc@<endpoint-addr>
-- where the <endpoint-addr> is a single address (as distinct from the current
+* where the <endpoint-addr> is a single address (as distinct from the current
(gcid,base) format), consisting of the SCOM port and SCOM endpoint bits in
their 31-bit address format.
@@ -46,12 +51,13 @@ Each endpoint node has the following properties:
The endpoint address specifies the address on the PCB. So, to calculate the
MMIO address for a PCB register:
+::
mmio_addr = <xscom-base-addr> | (pcb_addr[1:27] << 4)
| (pcb_addr[28:31] << 3)
Where:
- - xscom-base-addr is the address from the first two cells of the parent
+ * xscom-base-addr is the address from the first two cells of the parent
node's reg property
- - pcb_addr is the first cell of the endpoint's reg property
+ * pcb_addr is the first cell of the endpoint's reg property