1e8020874SLiviu Dudau /* 2e8020874SLiviu Dudau * Devices shared by all Juno boards 3e8020874SLiviu Dudau */ 4e8020874SLiviu Dudau 579502355SLiviu Dudau memtimer: timer@2a810000 { 679502355SLiviu Dudau compatible = "arm,armv7-timer-mem"; 779502355SLiviu Dudau reg = <0x0 0x2a810000 0x0 0x10000>; 879502355SLiviu Dudau clock-frequency = <50000000>; 979502355SLiviu Dudau #address-cells = <2>; 1079502355SLiviu Dudau #size-cells = <2>; 1179502355SLiviu Dudau ranges; 1279502355SLiviu Dudau status = "disabled"; 1379502355SLiviu Dudau frame@2a830000 { 1479502355SLiviu Dudau frame-number = <1>; 1579502355SLiviu Dudau interrupts = <0 60 4>; 1679502355SLiviu Dudau reg = <0x0 0x2a830000 0x0 0x10000>; 1779502355SLiviu Dudau }; 1879502355SLiviu Dudau }; 1979502355SLiviu Dudau 20ff9a6262SSudeep Holla mailbox: mhu@2b1f0000 { 21ff9a6262SSudeep Holla compatible = "arm,mhu", "arm,primecell"; 22ff9a6262SSudeep Holla reg = <0x0 0x2b1f0000 0x0 0x1000>; 23ff9a6262SSudeep Holla interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 24ff9a6262SSudeep Holla <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 25ff9a6262SSudeep Holla interrupt-names = "mhu_lpri_rx", 26ff9a6262SSudeep Holla "mhu_hpri_rx"; 27ff9a6262SSudeep Holla #mbox-cells = <1>; 28ff9a6262SSudeep Holla clocks = <&soc_refclk100mhz>; 29ff9a6262SSudeep Holla clock-names = "apb_pclk"; 30ff9a6262SSudeep Holla }; 31ff9a6262SSudeep Holla 32e8020874SLiviu Dudau gic: interrupt-controller@2c010000 { 33e8020874SLiviu Dudau compatible = "arm,gic-400", "arm,cortex-a15-gic"; 34e8020874SLiviu Dudau reg = <0x0 0x2c010000 0 0x1000>, 35e8020874SLiviu Dudau <0x0 0x2c02f000 0 0x2000>, 36e8020874SLiviu Dudau <0x0 0x2c04f000 0 0x2000>, 37e8020874SLiviu Dudau <0x0 0x2c06f000 0 0x2000>; 389e6f374fSLiviu Dudau #address-cells = <2>; 39e8020874SLiviu Dudau #interrupt-cells = <3>; 409e6f374fSLiviu Dudau #size-cells = <2>; 41e8020874SLiviu Dudau interrupt-controller; 42e8020874SLiviu Dudau interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; 439e6f374fSLiviu Dudau ranges = <0 0 0 0x2c1c0000 0 0x40000>; 449e6f374fSLiviu Dudau v2m_0: v2m@0 { 459e6f374fSLiviu Dudau compatible = "arm,gic-v2m-frame"; 469e6f374fSLiviu Dudau msi-controller; 479e6f374fSLiviu Dudau reg = <0 0 0 0x1000>; 489e6f374fSLiviu Dudau }; 49e8020874SLiviu Dudau }; 50e8020874SLiviu Dudau 51e8020874SLiviu Dudau timer { 52e8020874SLiviu Dudau compatible = "arm,armv8-timer"; 53e8020874SLiviu Dudau interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 54e8020874SLiviu Dudau <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 55e8020874SLiviu Dudau <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 56e8020874SLiviu Dudau <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 57e8020874SLiviu Dudau }; 58e8020874SLiviu Dudau 59*3e287cf6SSudeep Holla /* 60*3e287cf6SSudeep Holla * Juno TRMs specify the size for these coresight components as 64K. 61*3e287cf6SSudeep Holla * The actual size is just 4K though 64K is reserved. Access to the 62*3e287cf6SSudeep Holla * unmapped reserved region results in a DECERR response. 63*3e287cf6SSudeep Holla */ 64*3e287cf6SSudeep Holla etf@20010000 { 65*3e287cf6SSudeep Holla compatible = "arm,coresight-tmc", "arm,primecell"; 66*3e287cf6SSudeep Holla reg = <0 0x20010000 0 0x1000>; 67*3e287cf6SSudeep Holla 68*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 69*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 70*3e287cf6SSudeep Holla ports { 71*3e287cf6SSudeep Holla #address-cells = <1>; 72*3e287cf6SSudeep Holla #size-cells = <0>; 73*3e287cf6SSudeep Holla 74*3e287cf6SSudeep Holla /* input port */ 75*3e287cf6SSudeep Holla port@0 { 76*3e287cf6SSudeep Holla reg = <0>; 77*3e287cf6SSudeep Holla etf_in_port: endpoint { 78*3e287cf6SSudeep Holla slave-mode; 79*3e287cf6SSudeep Holla remote-endpoint = <&main_funnel_out_port>; 80*3e287cf6SSudeep Holla }; 81*3e287cf6SSudeep Holla }; 82*3e287cf6SSudeep Holla 83*3e287cf6SSudeep Holla /* output port */ 84*3e287cf6SSudeep Holla port@1 { 85*3e287cf6SSudeep Holla reg = <0>; 86*3e287cf6SSudeep Holla etf_out_port: endpoint { 87*3e287cf6SSudeep Holla remote-endpoint = <&replicator_in_port0>; 88*3e287cf6SSudeep Holla }; 89*3e287cf6SSudeep Holla }; 90*3e287cf6SSudeep Holla }; 91*3e287cf6SSudeep Holla }; 92*3e287cf6SSudeep Holla 93*3e287cf6SSudeep Holla tpiu@20030000 { 94*3e287cf6SSudeep Holla compatible = "arm,coresight-tpiu", "arm,primecell"; 95*3e287cf6SSudeep Holla reg = <0 0x20030000 0 0x1000>; 96*3e287cf6SSudeep Holla 97*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 98*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 99*3e287cf6SSudeep Holla port { 100*3e287cf6SSudeep Holla tpiu_in_port: endpoint { 101*3e287cf6SSudeep Holla slave-mode; 102*3e287cf6SSudeep Holla remote-endpoint = <&replicator_out_port0>; 103*3e287cf6SSudeep Holla }; 104*3e287cf6SSudeep Holla }; 105*3e287cf6SSudeep Holla }; 106*3e287cf6SSudeep Holla 107*3e287cf6SSudeep Holla main-funnel@20040000 { 108*3e287cf6SSudeep Holla compatible = "arm,coresight-funnel", "arm,primecell"; 109*3e287cf6SSudeep Holla reg = <0 0x20040000 0 0x1000>; 110*3e287cf6SSudeep Holla 111*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 112*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 113*3e287cf6SSudeep Holla ports { 114*3e287cf6SSudeep Holla #address-cells = <1>; 115*3e287cf6SSudeep Holla #size-cells = <0>; 116*3e287cf6SSudeep Holla 117*3e287cf6SSudeep Holla port@0 { 118*3e287cf6SSudeep Holla reg = <0>; 119*3e287cf6SSudeep Holla main_funnel_out_port: endpoint { 120*3e287cf6SSudeep Holla remote-endpoint = <&etf_in_port>; 121*3e287cf6SSudeep Holla }; 122*3e287cf6SSudeep Holla }; 123*3e287cf6SSudeep Holla 124*3e287cf6SSudeep Holla port@1 { 125*3e287cf6SSudeep Holla reg = <0>; 126*3e287cf6SSudeep Holla main_funnel_in_port0: endpoint { 127*3e287cf6SSudeep Holla slave-mode; 128*3e287cf6SSudeep Holla remote-endpoint = <&cluster0_funnel_out_port>; 129*3e287cf6SSudeep Holla }; 130*3e287cf6SSudeep Holla }; 131*3e287cf6SSudeep Holla 132*3e287cf6SSudeep Holla port@2 { 133*3e287cf6SSudeep Holla reg = <1>; 134*3e287cf6SSudeep Holla main_funnel_in_port1: endpoint { 135*3e287cf6SSudeep Holla slave-mode; 136*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_funnel_out_port>; 137*3e287cf6SSudeep Holla }; 138*3e287cf6SSudeep Holla }; 139*3e287cf6SSudeep Holla 140*3e287cf6SSudeep Holla }; 141*3e287cf6SSudeep Holla }; 142*3e287cf6SSudeep Holla 143*3e287cf6SSudeep Holla etr@20070000 { 144*3e287cf6SSudeep Holla compatible = "arm,coresight-tmc", "arm,primecell"; 145*3e287cf6SSudeep Holla reg = <0 0x20070000 0 0x1000>; 146*3e287cf6SSudeep Holla 147*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 148*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 149*3e287cf6SSudeep Holla port { 150*3e287cf6SSudeep Holla etr_in_port: endpoint { 151*3e287cf6SSudeep Holla slave-mode; 152*3e287cf6SSudeep Holla remote-endpoint = <&replicator_out_port1>; 153*3e287cf6SSudeep Holla }; 154*3e287cf6SSudeep Holla }; 155*3e287cf6SSudeep Holla }; 156*3e287cf6SSudeep Holla 157*3e287cf6SSudeep Holla etm0: etm@22040000 { 158*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 159*3e287cf6SSudeep Holla reg = <0 0x22040000 0 0x1000>; 160*3e287cf6SSudeep Holla 161*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 162*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 163*3e287cf6SSudeep Holla port { 164*3e287cf6SSudeep Holla cluster0_etm0_out_port: endpoint { 165*3e287cf6SSudeep Holla remote-endpoint = <&cluster0_funnel_in_port0>; 166*3e287cf6SSudeep Holla }; 167*3e287cf6SSudeep Holla }; 168*3e287cf6SSudeep Holla }; 169*3e287cf6SSudeep Holla 170*3e287cf6SSudeep Holla cluster0-funnel@220c0000 { 171*3e287cf6SSudeep Holla compatible = "arm,coresight-funnel", "arm,primecell"; 172*3e287cf6SSudeep Holla reg = <0 0x220c0000 0 0x1000>; 173*3e287cf6SSudeep Holla 174*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 175*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 176*3e287cf6SSudeep Holla ports { 177*3e287cf6SSudeep Holla #address-cells = <1>; 178*3e287cf6SSudeep Holla #size-cells = <0>; 179*3e287cf6SSudeep Holla 180*3e287cf6SSudeep Holla port@0 { 181*3e287cf6SSudeep Holla reg = <0>; 182*3e287cf6SSudeep Holla cluster0_funnel_out_port: endpoint { 183*3e287cf6SSudeep Holla remote-endpoint = <&main_funnel_in_port0>; 184*3e287cf6SSudeep Holla }; 185*3e287cf6SSudeep Holla }; 186*3e287cf6SSudeep Holla 187*3e287cf6SSudeep Holla port@1 { 188*3e287cf6SSudeep Holla reg = <0>; 189*3e287cf6SSudeep Holla cluster0_funnel_in_port0: endpoint { 190*3e287cf6SSudeep Holla slave-mode; 191*3e287cf6SSudeep Holla remote-endpoint = <&cluster0_etm0_out_port>; 192*3e287cf6SSudeep Holla }; 193*3e287cf6SSudeep Holla }; 194*3e287cf6SSudeep Holla 195*3e287cf6SSudeep Holla port@2 { 196*3e287cf6SSudeep Holla reg = <1>; 197*3e287cf6SSudeep Holla cluster0_funnel_in_port1: endpoint { 198*3e287cf6SSudeep Holla slave-mode; 199*3e287cf6SSudeep Holla remote-endpoint = <&cluster0_etm1_out_port>; 200*3e287cf6SSudeep Holla }; 201*3e287cf6SSudeep Holla }; 202*3e287cf6SSudeep Holla }; 203*3e287cf6SSudeep Holla }; 204*3e287cf6SSudeep Holla 205*3e287cf6SSudeep Holla etm1: etm@22140000 { 206*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 207*3e287cf6SSudeep Holla reg = <0 0x22140000 0 0x1000>; 208*3e287cf6SSudeep Holla 209*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 210*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 211*3e287cf6SSudeep Holla port { 212*3e287cf6SSudeep Holla cluster0_etm1_out_port: endpoint { 213*3e287cf6SSudeep Holla remote-endpoint = <&cluster0_funnel_in_port1>; 214*3e287cf6SSudeep Holla }; 215*3e287cf6SSudeep Holla }; 216*3e287cf6SSudeep Holla }; 217*3e287cf6SSudeep Holla 218*3e287cf6SSudeep Holla etm2: etm@23040000 { 219*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 220*3e287cf6SSudeep Holla reg = <0 0x23040000 0 0x1000>; 221*3e287cf6SSudeep Holla 222*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 223*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 224*3e287cf6SSudeep Holla port { 225*3e287cf6SSudeep Holla cluster1_etm0_out_port: endpoint { 226*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_funnel_in_port0>; 227*3e287cf6SSudeep Holla }; 228*3e287cf6SSudeep Holla }; 229*3e287cf6SSudeep Holla }; 230*3e287cf6SSudeep Holla 231*3e287cf6SSudeep Holla cluster1-funnel@230c0000 { 232*3e287cf6SSudeep Holla compatible = "arm,coresight-funnel", "arm,primecell"; 233*3e287cf6SSudeep Holla reg = <0 0x230c0000 0 0x1000>; 234*3e287cf6SSudeep Holla 235*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 236*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 237*3e287cf6SSudeep Holla ports { 238*3e287cf6SSudeep Holla #address-cells = <1>; 239*3e287cf6SSudeep Holla #size-cells = <0>; 240*3e287cf6SSudeep Holla 241*3e287cf6SSudeep Holla port@0 { 242*3e287cf6SSudeep Holla reg = <0>; 243*3e287cf6SSudeep Holla cluster1_funnel_out_port: endpoint { 244*3e287cf6SSudeep Holla remote-endpoint = <&main_funnel_in_port1>; 245*3e287cf6SSudeep Holla }; 246*3e287cf6SSudeep Holla }; 247*3e287cf6SSudeep Holla 248*3e287cf6SSudeep Holla port@1 { 249*3e287cf6SSudeep Holla reg = <0>; 250*3e287cf6SSudeep Holla cluster1_funnel_in_port0: endpoint { 251*3e287cf6SSudeep Holla slave-mode; 252*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_etm0_out_port>; 253*3e287cf6SSudeep Holla }; 254*3e287cf6SSudeep Holla }; 255*3e287cf6SSudeep Holla 256*3e287cf6SSudeep Holla port@2 { 257*3e287cf6SSudeep Holla reg = <1>; 258*3e287cf6SSudeep Holla cluster1_funnel_in_port1: endpoint { 259*3e287cf6SSudeep Holla slave-mode; 260*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_etm1_out_port>; 261*3e287cf6SSudeep Holla }; 262*3e287cf6SSudeep Holla }; 263*3e287cf6SSudeep Holla port@3 { 264*3e287cf6SSudeep Holla reg = <2>; 265*3e287cf6SSudeep Holla cluster1_funnel_in_port2: endpoint { 266*3e287cf6SSudeep Holla slave-mode; 267*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_etm2_out_port>; 268*3e287cf6SSudeep Holla }; 269*3e287cf6SSudeep Holla }; 270*3e287cf6SSudeep Holla port@4 { 271*3e287cf6SSudeep Holla reg = <3>; 272*3e287cf6SSudeep Holla cluster1_funnel_in_port3: endpoint { 273*3e287cf6SSudeep Holla slave-mode; 274*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_etm3_out_port>; 275*3e287cf6SSudeep Holla }; 276*3e287cf6SSudeep Holla }; 277*3e287cf6SSudeep Holla }; 278*3e287cf6SSudeep Holla }; 279*3e287cf6SSudeep Holla 280*3e287cf6SSudeep Holla etm3: etm@23140000 { 281*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 282*3e287cf6SSudeep Holla reg = <0 0x23140000 0 0x1000>; 283*3e287cf6SSudeep Holla 284*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 285*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 286*3e287cf6SSudeep Holla port { 287*3e287cf6SSudeep Holla cluster1_etm1_out_port: endpoint { 288*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_funnel_in_port1>; 289*3e287cf6SSudeep Holla }; 290*3e287cf6SSudeep Holla }; 291*3e287cf6SSudeep Holla }; 292*3e287cf6SSudeep Holla 293*3e287cf6SSudeep Holla etm4: etm@23240000 { 294*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 295*3e287cf6SSudeep Holla reg = <0 0x23240000 0 0x1000>; 296*3e287cf6SSudeep Holla 297*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 298*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 299*3e287cf6SSudeep Holla port { 300*3e287cf6SSudeep Holla cluster1_etm2_out_port: endpoint { 301*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_funnel_in_port2>; 302*3e287cf6SSudeep Holla }; 303*3e287cf6SSudeep Holla }; 304*3e287cf6SSudeep Holla }; 305*3e287cf6SSudeep Holla 306*3e287cf6SSudeep Holla etm5: etm@23340000 { 307*3e287cf6SSudeep Holla compatible = "arm,coresight-etm4x", "arm,primecell"; 308*3e287cf6SSudeep Holla reg = <0 0x23340000 0 0x1000>; 309*3e287cf6SSudeep Holla 310*3e287cf6SSudeep Holla clocks = <&soc_smc50mhz>; 311*3e287cf6SSudeep Holla clock-names = "apb_pclk"; 312*3e287cf6SSudeep Holla port { 313*3e287cf6SSudeep Holla cluster1_etm3_out_port: endpoint { 314*3e287cf6SSudeep Holla remote-endpoint = <&cluster1_funnel_in_port3>; 315*3e287cf6SSudeep Holla }; 316*3e287cf6SSudeep Holla }; 317*3e287cf6SSudeep Holla }; 318*3e287cf6SSudeep Holla 319*3e287cf6SSudeep Holla coresight-replicator { 320*3e287cf6SSudeep Holla /* 321*3e287cf6SSudeep Holla * Non-configurable replicators don't show up on the 322*3e287cf6SSudeep Holla * AMBA bus. As such no need to add "arm,primecell". 323*3e287cf6SSudeep Holla */ 324*3e287cf6SSudeep Holla compatible = "arm,coresight-replicator"; 325*3e287cf6SSudeep Holla 326*3e287cf6SSudeep Holla ports { 327*3e287cf6SSudeep Holla #address-cells = <1>; 328*3e287cf6SSudeep Holla #size-cells = <0>; 329*3e287cf6SSudeep Holla 330*3e287cf6SSudeep Holla /* replicator output ports */ 331*3e287cf6SSudeep Holla port@0 { 332*3e287cf6SSudeep Holla reg = <0>; 333*3e287cf6SSudeep Holla replicator_out_port0: endpoint { 334*3e287cf6SSudeep Holla remote-endpoint = <&tpiu_in_port>; 335*3e287cf6SSudeep Holla }; 336*3e287cf6SSudeep Holla }; 337*3e287cf6SSudeep Holla 338*3e287cf6SSudeep Holla port@1 { 339*3e287cf6SSudeep Holla reg = <1>; 340*3e287cf6SSudeep Holla replicator_out_port1: endpoint { 341*3e287cf6SSudeep Holla remote-endpoint = <&etr_in_port>; 342*3e287cf6SSudeep Holla }; 343*3e287cf6SSudeep Holla }; 344*3e287cf6SSudeep Holla 345*3e287cf6SSudeep Holla /* replicator input port */ 346*3e287cf6SSudeep Holla port@2 { 347*3e287cf6SSudeep Holla reg = <0>; 348*3e287cf6SSudeep Holla replicator_in_port0: endpoint { 349*3e287cf6SSudeep Holla slave-mode; 350*3e287cf6SSudeep Holla remote-endpoint = <&etf_out_port>; 351*3e287cf6SSudeep Holla }; 352*3e287cf6SSudeep Holla }; 353*3e287cf6SSudeep Holla }; 354*3e287cf6SSudeep Holla }; 355*3e287cf6SSudeep Holla 356ff9a6262SSudeep Holla sram: sram@2e000000 { 357ff9a6262SSudeep Holla compatible = "arm,juno-sram-ns", "mmio-sram"; 358ff9a6262SSudeep Holla reg = <0x0 0x2e000000 0x0 0x8000>; 359ff9a6262SSudeep Holla 360ff9a6262SSudeep Holla #address-cells = <1>; 361ff9a6262SSudeep Holla #size-cells = <1>; 362ff9a6262SSudeep Holla ranges = <0 0x0 0x2e000000 0x8000>; 363ff9a6262SSudeep Holla 364ff9a6262SSudeep Holla cpu_scp_lpri: scp-shmem@0 { 365ff9a6262SSudeep Holla compatible = "arm,juno-scp-shmem"; 366ff9a6262SSudeep Holla reg = <0x0 0x200>; 367ff9a6262SSudeep Holla }; 368ff9a6262SSudeep Holla 369ff9a6262SSudeep Holla cpu_scp_hpri: scp-shmem@200 { 370ff9a6262SSudeep Holla compatible = "arm,juno-scp-shmem"; 371ff9a6262SSudeep Holla reg = <0x200 0x200>; 372ff9a6262SSudeep Holla }; 373ff9a6262SSudeep Holla }; 374ff9a6262SSudeep Holla 37536582c60SSudeep Holla pcie_ctlr: pcie-controller@40000000 { 37636582c60SSudeep Holla compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic"; 37736582c60SSudeep Holla device_type = "pci"; 37836582c60SSudeep Holla reg = <0 0x40000000 0 0x10000000>; /* ECAM config space */ 37936582c60SSudeep Holla bus-range = <0 255>; 38036582c60SSudeep Holla linux,pci-domain = <0>; 38136582c60SSudeep Holla #address-cells = <3>; 38236582c60SSudeep Holla #size-cells = <2>; 38336582c60SSudeep Holla dma-coherent; 38436582c60SSudeep Holla ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000>, 38536582c60SSudeep Holla <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>, 38636582c60SSudeep Holla <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>; 38736582c60SSudeep Holla #interrupt-cells = <1>; 38836582c60SSudeep Holla interrupt-map-mask = <0 0 0 7>; 38936582c60SSudeep Holla interrupt-map = <0 0 0 1 &gic 0 0 0 136 4>, 39036582c60SSudeep Holla <0 0 0 2 &gic 0 0 0 137 4>, 39136582c60SSudeep Holla <0 0 0 3 &gic 0 0 0 138 4>, 39236582c60SSudeep Holla <0 0 0 4 &gic 0 0 0 139 4>; 39336582c60SSudeep Holla msi-parent = <&v2m_0>; 39436582c60SSudeep Holla status = "disabled"; 39536582c60SSudeep Holla }; 39636582c60SSudeep Holla 397ff9a6262SSudeep Holla scpi { 398ff9a6262SSudeep Holla compatible = "arm,scpi"; 399ff9a6262SSudeep Holla mboxes = <&mailbox 1>; 400ff9a6262SSudeep Holla shmem = <&cpu_scp_hpri>; 401ff9a6262SSudeep Holla 402ff9a6262SSudeep Holla clocks { 403ff9a6262SSudeep Holla compatible = "arm,scpi-clocks"; 404ff9a6262SSudeep Holla 4056d6acd14SSudeep Holla scpi_dvfs: scpi-dvfs { 406ff9a6262SSudeep Holla compatible = "arm,scpi-dvfs-clocks"; 407ff9a6262SSudeep Holla #clock-cells = <1>; 408ff9a6262SSudeep Holla clock-indices = <0>, <1>, <2>; 409ff9a6262SSudeep Holla clock-output-names = "atlclk", "aplclk","gpuclk"; 410ff9a6262SSudeep Holla }; 4116d6acd14SSudeep Holla scpi_clk: scpi-clk { 412ff9a6262SSudeep Holla compatible = "arm,scpi-variable-clocks"; 413ff9a6262SSudeep Holla #clock-cells = <1>; 4149fd9288eSLiviu Dudau clock-indices = <3>; 4159fd9288eSLiviu Dudau clock-output-names = "pxlclk"; 416ff9a6262SSudeep Holla }; 417ff9a6262SSudeep Holla }; 418dfacaf0eSPunit Agrawal 419dfacaf0eSPunit Agrawal scpi_sensors0: sensors { 420dfacaf0eSPunit Agrawal compatible = "arm,scpi-sensors"; 421dfacaf0eSPunit Agrawal #thermal-sensor-cells = <1>; 422dfacaf0eSPunit Agrawal }; 423ff9a6262SSudeep Holla }; 424ff9a6262SSudeep Holla 425e8020874SLiviu Dudau /include/ "juno-clocks.dtsi" 426e8020874SLiviu Dudau 427e8020874SLiviu Dudau dma@7ff00000 { 428e8020874SLiviu Dudau compatible = "arm,pl330", "arm,primecell"; 429e8020874SLiviu Dudau reg = <0x0 0x7ff00000 0 0x1000>; 430e8020874SLiviu Dudau #dma-cells = <1>; 431e8020874SLiviu Dudau #dma-channels = <8>; 432e8020874SLiviu Dudau #dma-requests = <32>; 433e8020874SLiviu Dudau interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 434e8020874SLiviu Dudau <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 435e8020874SLiviu Dudau <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 436e8020874SLiviu Dudau <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 437aeb2ee56SRobin Murphy <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 438e8020874SLiviu Dudau <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 439e8020874SLiviu Dudau <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 440e8020874SLiviu Dudau <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 441e8020874SLiviu Dudau <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 442e8020874SLiviu Dudau clocks = <&soc_faxiclk>; 443e8020874SLiviu Dudau clock-names = "apb_pclk"; 444e8020874SLiviu Dudau }; 445e8020874SLiviu Dudau 4469fd9288eSLiviu Dudau hdlcd@7ff50000 { 4479fd9288eSLiviu Dudau compatible = "arm,hdlcd"; 4489fd9288eSLiviu Dudau reg = <0 0x7ff50000 0 0x1000>; 4499fd9288eSLiviu Dudau interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 4509fd9288eSLiviu Dudau clocks = <&scpi_clk 3>; 4519fd9288eSLiviu Dudau clock-names = "pxlclk"; 4529fd9288eSLiviu Dudau 4539fd9288eSLiviu Dudau port { 4546d6acd14SSudeep Holla hdlcd1_output: hdlcd1-endpoint { 4559fd9288eSLiviu Dudau remote-endpoint = <&tda998x_1_input>; 4569fd9288eSLiviu Dudau }; 4579fd9288eSLiviu Dudau }; 4589fd9288eSLiviu Dudau }; 4599fd9288eSLiviu Dudau 4609fd9288eSLiviu Dudau hdlcd@7ff60000 { 4619fd9288eSLiviu Dudau compatible = "arm,hdlcd"; 4629fd9288eSLiviu Dudau reg = <0 0x7ff60000 0 0x1000>; 4639fd9288eSLiviu Dudau interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 4649fd9288eSLiviu Dudau clocks = <&scpi_clk 3>; 4659fd9288eSLiviu Dudau clock-names = "pxlclk"; 4669fd9288eSLiviu Dudau 4679fd9288eSLiviu Dudau port { 4686d6acd14SSudeep Holla hdlcd0_output: hdlcd0-endpoint { 4699fd9288eSLiviu Dudau remote-endpoint = <&tda998x_0_input>; 4709fd9288eSLiviu Dudau }; 4719fd9288eSLiviu Dudau }; 4729fd9288eSLiviu Dudau }; 4739fd9288eSLiviu Dudau 474e8020874SLiviu Dudau soc_uart0: uart@7ff80000 { 475e8020874SLiviu Dudau compatible = "arm,pl011", "arm,primecell"; 476e8020874SLiviu Dudau reg = <0x0 0x7ff80000 0x0 0x1000>; 477e8020874SLiviu Dudau interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 478e8020874SLiviu Dudau clocks = <&soc_uartclk>, <&soc_refclk100mhz>; 479e8020874SLiviu Dudau clock-names = "uartclk", "apb_pclk"; 480e8020874SLiviu Dudau }; 481e8020874SLiviu Dudau 482e8020874SLiviu Dudau i2c@7ffa0000 { 483e8020874SLiviu Dudau compatible = "snps,designware-i2c"; 484e8020874SLiviu Dudau reg = <0x0 0x7ffa0000 0x0 0x1000>; 485e8020874SLiviu Dudau #address-cells = <1>; 486e8020874SLiviu Dudau #size-cells = <0>; 487e8020874SLiviu Dudau interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 488e8020874SLiviu Dudau clock-frequency = <400000>; 489e8020874SLiviu Dudau i2c-sda-hold-time-ns = <500>; 490e8020874SLiviu Dudau clocks = <&soc_smc50mhz>; 491e8020874SLiviu Dudau 4929fd9288eSLiviu Dudau hdmi-transmitter@70 { 493e8020874SLiviu Dudau compatible = "nxp,tda998x"; 494e8020874SLiviu Dudau reg = <0x70>; 4959fd9288eSLiviu Dudau port { 4966d6acd14SSudeep Holla tda998x_0_input: tda998x-0-endpoint { 4979fd9288eSLiviu Dudau remote-endpoint = <&hdlcd0_output>; 4989fd9288eSLiviu Dudau }; 4999fd9288eSLiviu Dudau }; 500e8020874SLiviu Dudau }; 501e8020874SLiviu Dudau 5029fd9288eSLiviu Dudau hdmi-transmitter@71 { 503e8020874SLiviu Dudau compatible = "nxp,tda998x"; 504e8020874SLiviu Dudau reg = <0x71>; 5059fd9288eSLiviu Dudau port { 5066d6acd14SSudeep Holla tda998x_1_input: tda998x-1-endpoint { 5079fd9288eSLiviu Dudau remote-endpoint = <&hdlcd1_output>; 5089fd9288eSLiviu Dudau }; 5099fd9288eSLiviu Dudau }; 510e8020874SLiviu Dudau }; 511e8020874SLiviu Dudau }; 512e8020874SLiviu Dudau 513e8020874SLiviu Dudau ohci@7ffb0000 { 514e8020874SLiviu Dudau compatible = "generic-ohci"; 515e8020874SLiviu Dudau reg = <0x0 0x7ffb0000 0x0 0x10000>; 516e8020874SLiviu Dudau interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 517e8020874SLiviu Dudau clocks = <&soc_usb48mhz>; 518e8020874SLiviu Dudau }; 519e8020874SLiviu Dudau 520e8020874SLiviu Dudau ehci@7ffc0000 { 521e8020874SLiviu Dudau compatible = "generic-ehci"; 522e8020874SLiviu Dudau reg = <0x0 0x7ffc0000 0x0 0x10000>; 523e8020874SLiviu Dudau interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 524e8020874SLiviu Dudau clocks = <&soc_usb48mhz>; 525e8020874SLiviu Dudau }; 526e8020874SLiviu Dudau 527e8020874SLiviu Dudau memory-controller@7ffd0000 { 528e8020874SLiviu Dudau compatible = "arm,pl354", "arm,primecell"; 529e8020874SLiviu Dudau reg = <0 0x7ffd0000 0 0x1000>; 530e8020874SLiviu Dudau interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 531e8020874SLiviu Dudau <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 532e8020874SLiviu Dudau clocks = <&soc_smc50mhz>; 533e8020874SLiviu Dudau clock-names = "apb_pclk"; 534e8020874SLiviu Dudau }; 535e8020874SLiviu Dudau 536e8020874SLiviu Dudau memory@80000000 { 537e8020874SLiviu Dudau device_type = "memory"; 538e8020874SLiviu Dudau /* last 16MB of the first memory area is reserved for secure world use by firmware */ 539e8020874SLiviu Dudau reg = <0x00000000 0x80000000 0x0 0x7f000000>, 540e8020874SLiviu Dudau <0x00000008 0x80000000 0x1 0x80000000>; 541e8020874SLiviu Dudau }; 542e8020874SLiviu Dudau 5436d6acd14SSudeep Holla smb@08000000 { 544e8020874SLiviu Dudau compatible = "simple-bus"; 545e8020874SLiviu Dudau #address-cells = <2>; 546e8020874SLiviu Dudau #size-cells = <1>; 547e8020874SLiviu Dudau ranges = <0 0 0 0x08000000 0x04000000>, 548e8020874SLiviu Dudau <1 0 0 0x14000000 0x04000000>, 549e8020874SLiviu Dudau <2 0 0 0x18000000 0x04000000>, 550e8020874SLiviu Dudau <3 0 0 0x1c000000 0x04000000>, 551e8020874SLiviu Dudau <4 0 0 0x0c000000 0x04000000>, 552e8020874SLiviu Dudau <5 0 0 0x10000000 0x04000000>; 553e8020874SLiviu Dudau 554e8020874SLiviu Dudau #interrupt-cells = <1>; 555e8020874SLiviu Dudau interrupt-map-mask = <0 0 15>; 5569e6f374fSLiviu Dudau interrupt-map = <0 0 0 &gic 0 0 0 68 IRQ_TYPE_LEVEL_HIGH>, 5579e6f374fSLiviu Dudau <0 0 1 &gic 0 0 0 69 IRQ_TYPE_LEVEL_HIGH>, 5589e6f374fSLiviu Dudau <0 0 2 &gic 0 0 0 70 IRQ_TYPE_LEVEL_HIGH>, 5599e6f374fSLiviu Dudau <0 0 3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>, 5609e6f374fSLiviu Dudau <0 0 4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>, 5619e6f374fSLiviu Dudau <0 0 5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>, 5629e6f374fSLiviu Dudau <0 0 6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>, 5639e6f374fSLiviu Dudau <0 0 7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>, 5649e6f374fSLiviu Dudau <0 0 8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>, 5659e6f374fSLiviu Dudau <0 0 9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>, 5669e6f374fSLiviu Dudau <0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>, 5679e6f374fSLiviu Dudau <0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>, 5689e6f374fSLiviu Dudau <0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>; 569e8020874SLiviu Dudau 570e8020874SLiviu Dudau /include/ "juno-motherboard.dtsi" 571e8020874SLiviu Dudau }; 572f5f7e455SBrian Starkey 573f5f7e455SBrian Starkey site2: tlx@60000000 { 574f5f7e455SBrian Starkey compatible = "simple-bus"; 575f5f7e455SBrian Starkey #address-cells = <1>; 576f5f7e455SBrian Starkey #size-cells = <1>; 577f5f7e455SBrian Starkey ranges = <0 0 0x60000000 0x10000000>; 578f5f7e455SBrian Starkey #interrupt-cells = <1>; 579f5f7e455SBrian Starkey interrupt-map-mask = <0 0>; 580f5f7e455SBrian Starkey interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>; 581f5f7e455SBrian Starkey }; 582