1*4882a593Smuzhiyun=================================================================== 2*4882a593SmuzhiyunDebug Control and Status Register (DCSR) Binding 3*4882a593SmuzhiyunCopyright 2011 Freescale Semiconductor Inc. 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunNOTE: The bindings described in this document are preliminary and subject 6*4882a593Smuzhiyunto change. Some of the compatible strings that contain only generic names 7*4882a593Smuzhiyunmay turn out to be inappropriate, or need additional properties to describe 8*4882a593Smuzhiyunthe integration of the block with the rest of the chip. 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun===================================================================== 11*4882a593SmuzhiyunDebug Control and Status Register Memory Map 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunDescription 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunThis node defines the base address and range for the 16*4882a593Smuzhiyundefined DCSR Memory Map. Child nodes will describe the individual 17*4882a593Smuzhiyundebug blocks defined within this memory space. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunPROPERTIES 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun - compatible 22*4882a593Smuzhiyun Usage: required 23*4882a593Smuzhiyun Value type: <string> 24*4882a593Smuzhiyun Definition: Must include "fsl,dcsr" and "simple-bus". 25*4882a593Smuzhiyun The DCSR space exists in the memory-mapped bus. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun - #address-cells 28*4882a593Smuzhiyun Usage: required 29*4882a593Smuzhiyun Value type: <u32> 30*4882a593Smuzhiyun Definition: A standard property. Defines the number of cells 31*4882a593Smuzhiyun or representing physical addresses in child nodes. 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun - #size-cells 34*4882a593Smuzhiyun Usage: required 35*4882a593Smuzhiyun Value type: <u32> 36*4882a593Smuzhiyun Definition: A standard property. Defines the number of cells 37*4882a593Smuzhiyun or representing the size of physical addresses in 38*4882a593Smuzhiyun child nodes. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun - ranges 41*4882a593Smuzhiyun Usage: required 42*4882a593Smuzhiyun Value type: <prop-encoded-array> 43*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 44*4882a593Smuzhiyun range of the DCSR space. 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunEXAMPLE 47*4882a593Smuzhiyun dcsr: dcsr@f00000000 { 48*4882a593Smuzhiyun #address-cells = <1>; 49*4882a593Smuzhiyun #size-cells = <1>; 50*4882a593Smuzhiyun compatible = "fsl,dcsr", "simple-bus"; 51*4882a593Smuzhiyun ranges = <0x00000000 0xf 0x00000000 0x01008000>; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun===================================================================== 55*4882a593SmuzhiyunEvent Processing Unit 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to the EPU 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunPROPERTIES 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun - compatible 62*4882a593Smuzhiyun Usage: required 63*4882a593Smuzhiyun Value type: <string> 64*4882a593Smuzhiyun Definition: Must include "fsl,dcsr-epu" 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun - interrupts 67*4882a593Smuzhiyun Usage: required 68*4882a593Smuzhiyun Value type: <prop_encoded-array> 69*4882a593Smuzhiyun Definition: Specifies the interrupts generated by the EPU. 70*4882a593Smuzhiyun The value of the interrupts property consists of three 71*4882a593Smuzhiyun interrupt specifiers. The format of the specifier is defined 72*4882a593Smuzhiyun by the binding document describing the node's interrupt parent. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun The EPU counters can be configured to assert the performance 75*4882a593Smuzhiyun monitor interrupt signal based on either counter overflow or value 76*4882a593Smuzhiyun match. Which counter asserted the interrupt is captured in an EPU 77*4882a593Smuzhiyun Counter Interrupt Status Register (EPCPUISR). 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun The EPU unit can also be configured to assert either or both of 80*4882a593Smuzhiyun two interrupt signals based on debug event sources within the SoC. 81*4882a593Smuzhiyun The interrupt signals are epu_xt_int0 and epu_xt_int1. 82*4882a593Smuzhiyun Which event source asserted the interrupt is captured in an EPU 83*4882a593Smuzhiyun Interrupt Status Register (EPISR0,EPISR1). 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun Interrupt numbers are listed in order (perfmon, event0, event1). 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun - reg 88*4882a593Smuzhiyun Usage: required 89*4882a593Smuzhiyun Value type: <prop-encoded-array> 90*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 91*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 92*4882a593Smuzhiyun configuration block. 93*4882a593Smuzhiyun 94*4882a593SmuzhiyunEXAMPLE 95*4882a593Smuzhiyun dcsr-epu@0 { 96*4882a593Smuzhiyun compatible = "fsl,dcsr-epu"; 97*4882a593Smuzhiyun interrupts = <52 2 0 0 98*4882a593Smuzhiyun 84 2 0 0 99*4882a593Smuzhiyun 85 2 0 0>; 100*4882a593Smuzhiyun interrupt-parent = <&mpic>; 101*4882a593Smuzhiyun reg = <0x0 0x1000>; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun======================================================================= 105*4882a593SmuzhiyunNexus Port Controller 106*4882a593Smuzhiyun 107*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to the NPC 108*4882a593Smuzhiyun 109*4882a593SmuzhiyunPROPERTIES 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun - compatible 112*4882a593Smuzhiyun Usage: required 113*4882a593Smuzhiyun Value type: <string> 114*4882a593Smuzhiyun Definition: Must include "fsl,dcsr-npc" 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun - reg 117*4882a593Smuzhiyun Usage: required 118*4882a593Smuzhiyun Value type: <prop-encoded-array> 119*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 120*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 121*4882a593Smuzhiyun configuration block. 122*4882a593Smuzhiyun The Nexus Port controller occupies two regions in the DCSR space 123*4882a593Smuzhiyun with distinct functionality. 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun The first register range describes the Nexus Port Controller 126*4882a593Smuzhiyun control and status registers. 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun The second register range describes the Nexus Port Controller 129*4882a593Smuzhiyun internal trace buffer. The NPC trace buffer is a small memory buffer 130*4882a593Smuzhiyun which stages the nexus trace data for transmission via the Aurora port 131*4882a593Smuzhiyun or to a DDR based trace buffer. In some configurations the NPC trace 132*4882a593Smuzhiyun buffer can be the only trace buffer used. 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun 135*4882a593SmuzhiyunEXAMPLE 136*4882a593Smuzhiyun dcsr-npc { 137*4882a593Smuzhiyun compatible = "fsl,dcsr-npc"; 138*4882a593Smuzhiyun reg = <0x1000 0x1000 0x1000000 0x8000>; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun======================================================================= 142*4882a593SmuzhiyunNexus Concentrator 143*4882a593Smuzhiyun 144*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to the NXC 145*4882a593Smuzhiyun 146*4882a593SmuzhiyunPROPERTIES 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun - compatible 149*4882a593Smuzhiyun Usage: required 150*4882a593Smuzhiyun Value type: <string> 151*4882a593Smuzhiyun Definition: Must include "fsl,dcsr-nxc" 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun - reg 154*4882a593Smuzhiyun Usage: required 155*4882a593Smuzhiyun Value type: <prop-encoded-array> 156*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 157*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 158*4882a593Smuzhiyun configuration block. 159*4882a593Smuzhiyun 160*4882a593SmuzhiyunEXAMPLE 161*4882a593Smuzhiyun dcsr-nxc@2000 { 162*4882a593Smuzhiyun compatible = "fsl,dcsr-nxc"; 163*4882a593Smuzhiyun reg = <0x2000 0x1000>; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun======================================================================= 166*4882a593SmuzhiyunCoreNet Debug Controller 167*4882a593Smuzhiyun 168*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 169*4882a593Smuzhiyunthe CoreNet Debug controller. 170*4882a593Smuzhiyun 171*4882a593SmuzhiyunPROPERTIES 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun - compatible 174*4882a593Smuzhiyun Usage: required 175*4882a593Smuzhiyun Value type: <string> 176*4882a593Smuzhiyun Definition: Must include "fsl,dcsr-corenet" 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun - reg 179*4882a593Smuzhiyun Usage: required 180*4882a593Smuzhiyun Value type: <prop-encoded-array> 181*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 182*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 183*4882a593Smuzhiyun configuration block. 184*4882a593Smuzhiyun The CoreNet Debug controller occupies two regions in the DCSR space 185*4882a593Smuzhiyun with distinct functionality. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun The first register range describes the CoreNet Debug Controller 188*4882a593Smuzhiyun functionalty to perform transaction and transaction attribute matches. 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun The second register range describes the CoreNet Debug Controller 191*4882a593Smuzhiyun functionalty to trigger event notifications and debug traces. 192*4882a593Smuzhiyun 193*4882a593SmuzhiyunEXAMPLE 194*4882a593Smuzhiyun dcsr-corenet { 195*4882a593Smuzhiyun compatible = "fsl,dcsr-corenet"; 196*4882a593Smuzhiyun reg = <0x8000 0x1000 0xB0000 0x1000>; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun======================================================================= 200*4882a593SmuzhiyunData Path Debug controller 201*4882a593Smuzhiyun 202*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 203*4882a593Smuzhiyunthe DPAA Debug Controller. This controller controls debug configuration 204*4882a593Smuzhiyunfor the QMAN and FMAN blocks. 205*4882a593Smuzhiyun 206*4882a593SmuzhiyunPROPERTIES 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun - compatible 209*4882a593Smuzhiyun Usage: required 210*4882a593Smuzhiyun Value type: <string> 211*4882a593Smuzhiyun Definition: Must include both an identifier specific to the SoC 212*4882a593Smuzhiyun or Debug IP of the form "fsl,<soc>-dcsr-dpaa" in addition to the 213*4882a593Smuzhiyun generic compatible string "fsl,dcsr-dpaa". 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun - reg 216*4882a593Smuzhiyun Usage: required 217*4882a593Smuzhiyun Value type: <prop-encoded-array> 218*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 219*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 220*4882a593Smuzhiyun configuration block. 221*4882a593Smuzhiyun 222*4882a593SmuzhiyunEXAMPLE 223*4882a593Smuzhiyun dcsr-dpaa@9000 { 224*4882a593Smuzhiyun compatible = "fsl,p4080-dcsr-dpaa", "fsl,dcsr-dpaa"; 225*4882a593Smuzhiyun reg = <0x9000 0x1000>; 226*4882a593Smuzhiyun }; 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun======================================================================= 229*4882a593SmuzhiyunOCeaN Debug controller 230*4882a593Smuzhiyun 231*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 232*4882a593Smuzhiyunthe OCN Debug Controller. 233*4882a593Smuzhiyun 234*4882a593SmuzhiyunPROPERTIES 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun - compatible 237*4882a593Smuzhiyun Usage: required 238*4882a593Smuzhiyun Value type: <string> 239*4882a593Smuzhiyun Definition: Must include both an identifier specific to the SoC 240*4882a593Smuzhiyun or Debug IP of the form "fsl,<soc>-dcsr-ocn" in addition to the 241*4882a593Smuzhiyun generic compatible string "fsl,dcsr-ocn". 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun - reg 244*4882a593Smuzhiyun Usage: required 245*4882a593Smuzhiyun Value type: <prop-encoded-array> 246*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 247*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 248*4882a593Smuzhiyun configuration block. 249*4882a593Smuzhiyun 250*4882a593SmuzhiyunEXAMPLE 251*4882a593Smuzhiyun dcsr-ocn@11000 { 252*4882a593Smuzhiyun compatible = "fsl,p4080-dcsr-ocn", "fsl,dcsr-ocn"; 253*4882a593Smuzhiyun reg = <0x11000 0x1000>; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun======================================================================= 257*4882a593SmuzhiyunDDR Controller Debug controller 258*4882a593Smuzhiyun 259*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 260*4882a593Smuzhiyunthe OCN Debug Controller. 261*4882a593Smuzhiyun 262*4882a593SmuzhiyunPROPERTIES 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun - compatible 265*4882a593Smuzhiyun Usage: required 266*4882a593Smuzhiyun Value type: <string> 267*4882a593Smuzhiyun Definition: Must include "fsl,dcsr-ddr" 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun - dev-handle 270*4882a593Smuzhiyun Usage: required 271*4882a593Smuzhiyun Definition: A phandle to associate this debug node with its 272*4882a593Smuzhiyun component controller. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun - reg 275*4882a593Smuzhiyun Usage: required 276*4882a593Smuzhiyun Value type: <prop-encoded-array> 277*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 278*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 279*4882a593Smuzhiyun configuration block. 280*4882a593Smuzhiyun 281*4882a593SmuzhiyunEXAMPLE 282*4882a593Smuzhiyun dcsr-ddr@12000 { 283*4882a593Smuzhiyun compatible = "fsl,dcsr-ddr"; 284*4882a593Smuzhiyun dev-handle = <&ddr1>; 285*4882a593Smuzhiyun reg = <0x12000 0x1000>; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun======================================================================= 289*4882a593SmuzhiyunNexus Aurora Link Controller 290*4882a593Smuzhiyun 291*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 292*4882a593Smuzhiyunthe NAL Controller. 293*4882a593Smuzhiyun 294*4882a593SmuzhiyunPROPERTIES 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun - compatible 297*4882a593Smuzhiyun Usage: required 298*4882a593Smuzhiyun Value type: <string> 299*4882a593Smuzhiyun Definition: Must include both an identifier specific to the SoC 300*4882a593Smuzhiyun or Debug IP of the form "fsl,<soc>-dcsr-nal" in addition to the 301*4882a593Smuzhiyun generic compatible string "fsl,dcsr-nal". 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun - reg 304*4882a593Smuzhiyun Usage: required 305*4882a593Smuzhiyun Value type: <prop-encoded-array> 306*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 307*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 308*4882a593Smuzhiyun configuration block. 309*4882a593Smuzhiyun 310*4882a593SmuzhiyunEXAMPLE 311*4882a593Smuzhiyun dcsr-nal@18000 { 312*4882a593Smuzhiyun compatible = "fsl,p4080-dcsr-nal", "fsl,dcsr-nal"; 313*4882a593Smuzhiyun reg = <0x18000 0x1000>; 314*4882a593Smuzhiyun }; 315*4882a593Smuzhiyun 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun======================================================================= 318*4882a593SmuzhiyunRun Control and Power Management 319*4882a593Smuzhiyun 320*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 321*4882a593Smuzhiyunthe RCPM Debug Controller. This functionlity is limited to the 322*4882a593Smuzhiyuncontrol the debug operations of the SoC and cores. 323*4882a593Smuzhiyun 324*4882a593SmuzhiyunPROPERTIES 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun - compatible 327*4882a593Smuzhiyun Usage: required 328*4882a593Smuzhiyun Value type: <string> 329*4882a593Smuzhiyun Definition: Must include both an identifier specific to the SoC 330*4882a593Smuzhiyun or Debug IP of the form "fsl,<soc>-dcsr-rcpm" in addition to the 331*4882a593Smuzhiyun generic compatible string "fsl,dcsr-rcpm". 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun - reg 334*4882a593Smuzhiyun Usage: required 335*4882a593Smuzhiyun Value type: <prop-encoded-array> 336*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 337*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 338*4882a593Smuzhiyun configuration block. 339*4882a593Smuzhiyun 340*4882a593SmuzhiyunEXAMPLE 341*4882a593Smuzhiyun dcsr-rcpm@22000 { 342*4882a593Smuzhiyun compatible = "fsl,p4080-dcsr-rcpm", "fsl,dcsr-rcpm"; 343*4882a593Smuzhiyun reg = <0x22000 0x1000>; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun======================================================================= 347*4882a593SmuzhiyunCore Service Bridge Proxy 348*4882a593Smuzhiyun 349*4882a593SmuzhiyunThis node represents the region of DCSR space allocated to 350*4882a593Smuzhiyunthe Core Service Bridge Proxies. 351*4882a593SmuzhiyunThere is one Core Service Bridge Proxy device for each CPU in the system. 352*4882a593SmuzhiyunThis functionlity provides access to the debug operations of the CPU. 353*4882a593Smuzhiyun 354*4882a593SmuzhiyunPROPERTIES 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun - compatible 357*4882a593Smuzhiyun Usage: required 358*4882a593Smuzhiyun Value type: <string> 359*4882a593Smuzhiyun Definition: Must include both an identifier specific to the cpu 360*4882a593Smuzhiyun of the form "fsl,dcsr-<cpu>-sb-proxy" in addition to the 361*4882a593Smuzhiyun generic compatible string "fsl,dcsr-cpu-sb-proxy". 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun - cpu-handle 364*4882a593Smuzhiyun Usage: required 365*4882a593Smuzhiyun Definition: A phandle to associate this debug node with its cpu. 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun - reg 368*4882a593Smuzhiyun Usage: required 369*4882a593Smuzhiyun Value type: <prop-encoded-array> 370*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address 371*4882a593Smuzhiyun offset and length of the DCSR space registers of the device 372*4882a593Smuzhiyun configuration block. 373*4882a593Smuzhiyun 374*4882a593SmuzhiyunEXAMPLE 375*4882a593Smuzhiyun dcsr-cpu-sb-proxy@40000 { 376*4882a593Smuzhiyun compatible = "fsl,dcsr-e500mc-sb-proxy", 377*4882a593Smuzhiyun "fsl,dcsr-cpu-sb-proxy"; 378*4882a593Smuzhiyun cpu-handle = <&cpu0>; 379*4882a593Smuzhiyun reg = <0x40000 0x1000>; 380*4882a593Smuzhiyun }; 381*4882a593Smuzhiyun dcsr-cpu-sb-proxy@41000 { 382*4882a593Smuzhiyun compatible = "fsl,dcsr-e500mc-sb-proxy", 383*4882a593Smuzhiyun "fsl,dcsr-cpu-sb-proxy"; 384*4882a593Smuzhiyun cpu-handle = <&cpu1>; 385*4882a593Smuzhiyun reg = <0x41000 0x1000>; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun======================================================================= 389