Message ID | 20200924044236.130586-6-amitay@ozlabs.org |
---|---|
State | Superseded |
Headers | show |
Series | Add p10 support to libpdbg | expand |
On Thu, 24 Sep 2020 at 04:43, Amitay Isaacs <amitay@ozlabs.org> wrote: > > From: Alistair Popple <alistair@popple.id.au> > > Signed-off-by: Alistair Popple <alistair@popple.id.au> > Signed-off-by: Amitay Isaacs <amitay@ozlabs.org> Reviewed-by: Joel Stanley <joel@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@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@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@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@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@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@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@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@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@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@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/pdbg
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@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@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@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@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@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@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@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@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@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