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