[Pdbg] [PATCH 05/18] dts: Add p10 targets to device tree
Joel Stanley
joel at jms.id.au
Mon Sep 28 15:50:56 AEST 2020
On Thu, 24 Sep 2020 at 04:43, Amitay Isaacs <amitay at ozlabs.org> wrote:
>
> From: Alistair Popple <alistair at popple.id.au>
>
> Signed-off-by: Alistair Popple <alistair at popple.id.au>
> Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
Reviewed-by: Joel Stanley <joel at jms.id.au>
> ---
> p10.dts.m4 | 782 +++++++++++++++++++++++++----------------------------
> 1 file changed, 365 insertions(+), 417 deletions(-)
>
> diff --git a/p10.dts.m4 b/p10.dts.m4
> index aee608f..76bbc4d 100644
> --- a/p10.dts.m4
> +++ b/p10.dts.m4
> @@ -16,8 +16,9 @@ dnl
> dnl CORE([index])
> dnl
> define(`CORE',
> -`
> - core at 0 {
> +` define(`id', eval(`0x$1 % 2'))dnl
> +
> + CONCAT(core@, id) {
> #address-cells = <0x01>;
> #size-cells = <0x00>;
> reg = <0x00 0x00 0xfffff>;
> @@ -76,21 +77,193 @@ define(`addr', CONCAT(chiplet_id, 000000))dnl
> ')dnl
>
> dnl
> -dnl EX_([eq_index, ex_index])
> +dnl FC_([index])
> dnl
> -define(`EX_',
> +define(`FC_',
> `define(`chiplet_id', CONCAT(1, $1))dnl
> define(`addr', CONCAT(chiplet_id, 000000))dnl
>
> - ex@$2 {
> + fc@$1 {
> #address-cells = <0x02>;
> #size-cells = <0x01>;
> reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> - compatible = "ibm,power10-ex";
> - index = <$2>;
> + compatible = "ibm,power10-fc";
> + index = <$1>;
> +
> +')dnl
> +
> +dnl
> +dnl PAUC_([chiplet], [index])
> +dnl
> +define(`PAUC_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
>
> + pauc@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-pauc";
> + index = <$2>;
> ')dnl
>
> +dnl
> +dnl PAU([chiplet], [index])
> +dnl
> +define(`PAU',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + pau@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-pau";
> + index = <$2>;
> + };
> +')
> +
> +dnl
> +dnl IOHS([chiplet], [index])
> +dnl
> +define(`IOHS',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + iohs@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-iohs";
> + index = <$2>;
> + };
> +')
> +
> +dnl
> +dnl MI_([chiplet], [index])
> +dnl
> +define(`MI_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + mi@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-mi";
> + index = <$2>;
> +')
> +
> +dnl
> +dnl MC_([chiplet], [index])
> +dnl
> +define(`MC_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + mc@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-mc";
> + index = <0x$2>;
> +')
> +
> +dnl
> +dnl MCC_([chiplet], [index])
> +dnl
> +define(`MCC_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +define(`id', eval(`$2 % 2'))dnl
> +
> + CONCAT(mcc@, id) {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-mcc";
> + index = <$2>;
> +')
> +
> +dnl
> +dnl OMIC([chiplet], [index])
> +dnl
> +define(`OMIC',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + omic@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-omic";
> + index = <$2>;
> + };
> +')
> +
> +dnl
> +dnl OMI_([chiplet], [index])
> +dnl
> +define(`OMI_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +define(`id', eval(`$2 % 2'))dnl
> +
> + CONCAT(omi@, id) {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-omi";
> + index = <$2>;
> +')
> +
> +dnl
> +dnl PEC_([chiplet], [index])
> +dnl
> +define(`PEC_',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + pec@$2 {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-pec";
> + index = <$2>;
> +')
> +
> +dnl
> +dnl PHB([chiplet], [index])
> +dnl
> +define(`PHB',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +define(`id', eval(`$2 % 3'))dnl
> +
> + CONCAT(phb@,id) {
> + #address-cells = <0x02>;
> + #size-cells = <0x01>;
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-phb";
> + index = <$2>;
> + };
> +')
> +
> +dnl
> +dnl NMMU([chiplet], [index])
> +dnl
> +define(`NMMU',
> +`define(`chiplet_id', $1)dnl
> +define(`addr', CONCAT(chiplet_id, 000000))dnl
> +
> + nmmu@$2 {
> + reg = <0x00 CONCAT(0x,addr) 0xfffff>;
> + compatible = "ibm,power10-nmmu";
> + index = <$2>;
> + };
> +')
> +
> +dnl
> dnl
> dnl CHIP([index])
> dnl
> @@ -139,501 +312,276 @@ define(`CHIP',
> };
> };
>
> - CHIPLET__(2)
> - n0 {
> - compatible = "ibm,power10-nest";
> - index = < 0x00 >;
> -
> - capp0 {
> - compatible = "ibm,power10-capp";
> - index = < 0x00 >;
> - };
> - };
> + CHIPLET_(2)
> + NMMU(2,0)
> };
>
> - CHIPLET__(3)
> - n1 {
> - compatible = "ibm,power10-nest";
> - index = < 0x01 >;
> -
> - mcs2 {
> - compatible = "ibm,power10-mcs";
> - index = < 0x02 >;
> - };
> + CHIPLET_(3)
> + NMMU(3,1)
> + };
>
> - mcs3 {
> - compatible = "ibm,power10-mcs";
> - index = < 0x03 >;
> - };
> + CHIPLET_(8)
> + PEC_(8,0)
> + PHB(8,0)
> + PHB(8,1)
> + PHB(8,2)
> };
> };
>
> - CHIPLET__(4)
> - n2 {
> - compatible = "ibm,power10-nest";
> - index = < 0x02 >;
> -
> - capp1 {
> - compatible = "ibm,power10-capp";
> - index = < 0x01 >;
> - };
> + CHIPLET_(9)
> + PEC_(9,1)
> + PHB(9,3)
> + PHB(9,4)
> + PHB(9,5)
> };
> };
>
> - CHIPLET__(5)
> - n3 {
> - compatible = "ibm,power10-nest";
> - index = < 0x03 >;
> -
> - mcs0 {
> - compatible = "ibm,power10-mcs";
> - index = < 0x00 >;
> - };
> -
> - mcs1 {
> - compatible = "ibm,power10-mcs";
> - index = < 0x01 >;
> + CHIPLET_(c)
> + MC_(c,0)
> + MI_(c,0)
> + MCC_(c,0)
> + OMI_(c,0)
> + };
> + OMI_(c,1)
> + };
> + };
> + MCC_(c,1)
> + OMI_(c,2)
> + };
> + OMI_(c,3)
> + };
> + };
> };
> + OMIC(c,0)
> + OMIC(c,1)
> };
> };
>
> - CHIPLET_(6)
> - xbus$1_0: xbus at 0 {
> - compatible = "ibm,power10-xbus";
> - index = < 0x01 >;
> - reg = < 0x00 0x6000000 0xfffff >;
> + CHIPLET_(d)
> + MC_(d,1)
> + MI_(d,1)
> + MCC_(d,2)
> + OMI_(d,4)
> + };
> + OMI_(d,5)
> + };
> + };
> + MCC_(d,3)
> + OMI_(d,6)
> + };
> + OMI_(d,7)
> + };
> + };
> + };
> + OMIC(d,2)
> + OMIC(d,3)
> };
> };
>
> - CHIPLET_(7)
> - mc at 0 {
> - reg = < 0x00 0x7000000 0xfffff >;
> - compatible = "ibm,power10-mc";
> - index = < 0x00 >;
> -
> - mca0 {
> - compatible = "ibm,power10-mca";
> - index = < 0x00 >;
> - };
> -
> - mca1 {
> - compatible = "ibm,power10-mca";
> - index = < 0x01 >;
> - };
> -
> - mca2 {
> - compatible = "ibm,power10-mca";
> - index = < 0x02 >;
> - };
> -
> - mca3 {
> - compatible = "ibm,power10-mca";
> - index = < 0x03 >;
> - };
> -
> - mcbist {
> - compatible = "ibm,power10-mcbist";
> - index = < 0x00 >;
> + CHIPLET_(e)
> + MC_(e,2)
> + MI_(e,2)
> + MCC_(e,4)
> + OMI_(e,8)
> + };
> + OMI_(e,9)
> + };
> + };
> + MCC_(e,5)
> + OMI_(e,10)
> + };
> + OMI_(e,11)
> + };
> + };
> };
> + OMIC(e,4)
> + OMIC(e,5)
> };
> };
>
> - CHIPLET_(8)
> - mc at 1 {
> - reg = < 0x00 0x8000000 0xfffff >;
> - compatible = "ibm,power10-mc";
> - index = < 0x01 >;
> -
> - mca0 {
> - compatible = "ibm,power10-mca";
> - index = < 0x04 >;
> - };
> -
> - mca1 {
> - compatible = "ibm,power10-mca";
> - index = < 0x05 >;
> - };
> -
> - mca2 {
> - compatible = "ibm,power10-mca";
> - index = < 0x06 >;
> - };
> -
> - mca3 {
> - compatible = "ibm,power10-mca";
> - index = < 0x07 >;
> - };
> -
> - mcbist {
> - compatible = "ibm,power10-mcbist";
> - index = < 0x01 >;
> + CHIPLET_(f)
> + MC_(f,3)
> + MI_(f,3)
> + MCC_(f,6)
> + OMI_(f,12)
> + };
> + OMI_(f,13)
> + };
> + };
> + MCC_(f,7)
> + OMI_(f,14)
> + };
> + OMI_(f,15)
> + };
> + };
> };
> + OMIC(f,6)
> + OMIC(f,7)
> };
> };
>
> - CHIPLET_(9)
> - obus at 0 {
> - reg = < 0x00 0x9000000 0xfffff >;
> - compatible = "ibm,power10-obus";
> - index = < 0x00 >;
> - };
> -
> - obrick0 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x00 >;
> - };
> -
> - obrick1 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x01 >;
> - };
> -
> - obrick2 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x02 >;
> + CHIPLET_(10)
> + PAUC_(10,0)
> + PAU(10,0)
> };
> };
>
> - CHIPLET_(c)
> - obus at 3 {
> - reg = < 0x00 0xc000000 0xfffff >;
> - compatible = "ibm,power10-obus";
> - index = < 0x03 >;
> - };
> -
> - obrick0 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x09 >;
> - };
> -
> - obrick1 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x0a >;
> + CHIPLET_(11)
> + PAUC_(11,1)
> + PAU(11,3)
> };
> + };
>
> - obrick2 {
> - compatible = "ibm,power10-obus_brick";
> - index = < 0x0b >;
> + CHIPLET_(12)
> + PAUC_(12,2)
> + PAU(12,4)
> + PAU(12,5)
> };
> };
>
> - CHIPLET_(d)
> - pec at d000000 {
> - reg = < 0x00 0xd000000 0xfffff >;
> - compatible = "ibm,power10-pec";
> - index = < 0x00 >;
> + CHIPLET_(13)
> + PAUC_(13,3)
> + PAU(13,6)
> + PAU(13,7)
> };
> + };
>
> - phb0 {
> - compatible = "ibm,power10-phb";
> - index = < 0x00 >;
> - };
> + CHIPLET_(18)
> + IOHS(18,0)
> + };
>
> - phb1 {
> - compatible = "ibm,power10-phb";
> - index = < 0x01 >;
> - };
> + CHIPLET_(19)
> + IOHS(19,1)
> };
>
> - CHIPLET_(e)
> - pec at e000000 {
> - reg = < 0x00 0xe000000 0xfffff >;
> - compatible = "ibm,power10-pec";
> - index = < 0x01 >;
> - };
> + CHIPLET_(1a)
> + IOHS(1a,2)
> + };
>
> - phb0 {
> - compatible = "ibm,power10-phb";
> - index = < 0x02 >;
> - };
> + CHIPLET_(1b)
> + IOHS(1b,3)
> + };
>
> - phb1 {
> - compatible = "ibm,power10-phb";
> - index = < 0x03 >;
> - };
> + CHIPLET_(1c)
> + IOHS(1c,4)
> };
>
> - CHIPLET_(f)
> - pec at f000000 {
> - reg = < 0x00 0xf000000 0xfffff >;
> - compatible = "ibm,power10-pec";
> - index = < 0x02 >;
> - };
> + CHIPLET_(1d)
> + IOHS(1d,5)
> + };
>
> - phb0 {
> - compatible = "ibm,power10-phb";
> - index = < 0x04 >;
> - };
> + CHIPLET_(1e)
> + IOHS(1e,6)
> + };
>
> - phb1 {
> - compatible = "ibm,power10-phb";
> - index = < 0x05 >;
> - };
> + CHIPLET_(1f)
> + IOHS(1f,7)
> };
>
> - CHIPLET_(10)
> + CHIPLET_(20)
> EQ_(0)
> - EX_(0,0)
> - CHIPLET_(20)
> - CORE(00)
> - };
> -
> - CHIPLET_(21)
> - CORE(01)
> - };
> + FC_(0)
> + CORE(0)
> + CORE(1)
> };
> -
> - EX_(0,1)
> - CHIPLET_(22)
> - CORE(02)
> - };
> -
> - CHIPLET_(23)
> - CORE(03)
> - };
> + FC_(1)
> + CORE(2)
> + CORE(3)
> };
> };
> };
>
> - CHIPLET_(11)
> + CHIPLET_(21)
> EQ_(1)
> - EX_(1,0)
> - CHIPLET_(24)
> - CORE(04)
> - };
> -
> - CHIPLET_(25)
> - CORE(05)
> - };
> + FC_(0)
> + CORE(4)
> + CORE(5)
> };
> -
> - EX_(1,1)
> - CHIPLET_(26)
> - CORE(06)
> - };
> -
> - CHIPLET_(27)
> - CORE(07)
> - };
> + FC_(1)
> + CORE(6)
> + CORE(7)
> };
> };
> };
>
> - CHIPLET_(12)
> + CHIPLET_(22)
> EQ_(2)
> - EX_(2,0)
> - CHIPLET_(28)
> - CORE(08)
> - };
> -
> - CHIPLET_(29)
> - CORE(09)
> - };
> + FC_(0)
> + CORE(8)
> + CORE(9)
> };
> -
> - EX_(2,1)
> - CHIPLET_(2a)
> - CORE(0a)
> - };
> -
> - CHIPLET_(2b)
> - CORE(0b)
> - };
> + FC_(1)
> + CORE(a)
> + CORE(b)
> };
> };
> };
>
> - CHIPLET_(13)
> + CHIPLET_(23)
> EQ_(3)
> - EX_(3,0)
> - CHIPLET_(2c)
> - CORE(0c)
> - };
> -
> - CHIPLET_(2d)
> - CORE(0d)
> - };
> + FC_(0)
> + CORE(c)
> + CORE(d)
> };
> -
> - EX_(3,1)
> - CHIPLET_(2e)
> - CORE(0e)
> - };
> -
> - CHIPLET_(2f)
> - CORE(0f)
> - };
> + FC_(1)
> + CORE(e)
> + CORE(f)
> };
> };
> };
>
> - CHIPLET_(14)
> + CHIPLET_(24)
> EQ_(4)
> - EX_(4,0)
> - CHIPLET_(30)
> - CORE(10)
> - };
> -
> - CHIPLET_(31)
> - CORE(11)
> - };
> + FC_(0)
> + CORE(10)
> + CORE(11)
> };
> -
> - EX_(4,1)
> - CHIPLET_(32)
> - CORE(12)
> - };
> -
> - CHIPLET_(33)
> - CORE(13)
> - };
> + FC_(1)
> + CORE(12)
> + CORE(13)
> };
> };
> };
>
> - CHIPLET_(15)
> + CHIPLET_(25)
> EQ_(5)
> - EX_(5,0)
> - CHIPLET_(34)
> - CORE(14)
> - };
> -
> - CHIPLET_(35)
> - CORE(15)
> - };
> + FC_(0)
> + CORE(14)
> + CORE(15)
> };
> -
> - EX_(5,1)
> - CHIPLET_(36)
> - CORE(16)
> - };
> -
> - CHIPLET_(37)
> - CORE(17)
> - };
> + FC_(1)
> + CORE(16)
> + CORE(17)
> };
> };
> };
>
> - nv0 {
> - compatible = "ibm,power10-nv";
> - index = < 0x00 >;
> - };
> -
> - nv1 {
> - compatible = "ibm,power10-nv";
> - index = < 0x01 >;
> - };
> -
> - nv2 {
> - compatible = "ibm,power10-nv";
> - index = < 0x02 >;
> - };
> -
> - nv3 {
> - compatible = "ibm,power10-nv";
> - index = < 0x03 >;
> - };
> -
> - nv4 {
> - compatible = "ibm,power10-nv";
> - index = < 0x04 >;
> - };
> -
> - nv5 {
> - compatible = "ibm,power10-nv";
> - index = < 0x05 >;
> - };
> -
> - occ0 {
> - compatible = "ibm,power10-occ";
> - index = < 0x00 >;
> - };
> -
> - sbe0 {
> - compatible = "ibm,power10-sbe";
> - index = < 0x00 >;
> - };
> -
> - ppe0 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x00 >;
> - };
> -
> - ppe1 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x0a >;
> - };
> -
> - ppe2 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x0d >;
> - };
> -
> - ppe3 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x14 >;
> - };
> -
> - ppe4 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x19 >;
> - };
> -
> - ppe5 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x1e >;
> - };
> -
> - ppe6 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x28 >;
> - };
> -
> - ppe7 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x29 >;
> - };
> -
> - ppe8 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x2a >;
> - };
> -
> - ppe9 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x2b >;
> - };
> -
> - ppe10 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x2c >;
> - };
> -
> - ppe11 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x2d >;
> - };
> -
> - ppe12 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x2e >;
> - };
> -
> - ppe13 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x32 >;
> + CHIPLET_(26)
> + EQ_(6)
> + FC_(0)
> + CORE(18)
> + CORE(19)
> + };
> + FC_(1)
> + CORE(1a)
> + CORE(1b)
> + };
> + };
> };
>
> - ppe14 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x34 >;
> + CHIPLET_(27)
> + EQ_(7)
> + FC_(0)
> + CORE(1c)
> + CORE(1d)
> + };
> + FC_(1)
> + CORE(1e)
> + CORE(1f)
> + };
> + };
> };
>
> - ppe15 {
> - compatible = "ibm,power10-ppe";
> - index = < 0x38 >;
> - };
> };
> };
> ')dnl
> --
> 2.26.2
>
> --
> Pdbg mailing list
> Pdbg at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/pdbg
More information about the Pdbg
mailing list