diff options
author | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-07-27 17:43:04 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-08-02 17:31:12 +1000 |
commit | cce80be2fc7d9114ea0000349cc52f0947ea00f1 (patch) | |
tree | 14670835d17bd6967b2d09c9973fb0e2dd88feca /doc/xscom-node-bindings.rst | |
parent | 68bf986c37252eed2e8fa3db07de02bbd47ff97a (diff) | |
download | skiboot-cce80be2fc7d9114ea0000349cc52f0947ea00f1.zip skiboot-cce80be2fc7d9114ea0000349cc52f0947ea00f1.tar.gz skiboot-cce80be2fc7d9114ea0000349cc52f0947ea00f1.tar.bz2 |
doc/*.txt: rename .txt to .rst
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.rst | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/doc/xscom-node-bindings.rst b/doc/xscom-node-bindings.rst new file mode 100644 index 0000000..0c2545e --- /dev/null +++ b/doc/xscom-node-bindings.rst @@ -0,0 +1,57 @@ +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>/ + +- 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: + + * #address-cells = 1 + * #size-cells = 1 + * reg = <base-address[#parent-address-cells] size[#parent-size-cells]> + * ibm,chip-id = gcid + * compatible = "ibm,xscom", "ibm,power8-scom" / "ibm,power7-xscom" + + +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> + +- 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. + +Each endpoint node has the following properties: + + * reg = <endpoint-address[#parent-address-cells] size[#parent-size-cells]> + * compatible - depends on endpoint type, eg "ibm,power8-chiptod" + +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 + node's reg property + - pcb_addr is the first cell of the endpoint's reg property |