This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352 USB transaction error

Other Parts Discussed in Thread: AM3352, SYSBIOS, SYSCONFIG

We have a custom board with an AM3352BZCZ60 with the USB interface operating as a device.  Several thousand of these boards have been built over the past three years and are operating in the field, but on the last build we started seeing USB transaction errors.  The switch to 'B' parts happened six months ago, several thousand boards have been built with that part in that timeframe with no issues until present.  Using a hardware USB analyzer, we were able to diagnose that the transaction error is due to data corruption which then causes a CRC error.

Running a diagnostic test that has the device send a pattern 1, 2, 3, ...FE, FF, 1, 2, ... (note:  0 is intentionally skipped) in 512 byte packets.  The next packet is the same except that it starts at 3 rather than 1.  Subsequent packets start at 5, 7, 9, etc.  There are a total of 160 MB transmitted in the entire test.  What I'm observing is:

  • Most of the time, the tests passes (~5-10 power cycles work without error, test can be re-run, etc.)
  • If the test passes the first time after power up, it seems to always pass.  If the test fails the first time after power up, it seems to always fail.
  • If the test fails, it is usually in one of the earlier packets (i.e. packet #10-100), but it has also been seen to fail on packets #1500-2000.
  • Cold spray and heating the part does not appear to change the behavior of the failure
  • There have been no recent design changes to the board.
  • Usually there appears to be somewhat of a pattern to the garbled data.  Several times (but not always, or even 'most') the data captured by the analyzer is bit shifted by two bits.  If it happens, this apparent bit shifting typically occurs for stretches of 16 or 32 bytes, then two bytes are wrong, then another stretch of 16 or 32 bytes that are again bit shifted.
  • One particular run had the following pattern:  48 consecutive bytes were exactly bit shifted by two bits; somewhat later 54 consecutive bytes were bit shifted by four bits with three sets of two consecutive bytes that were not simple bit shifts; followed by 52 bytes that groups of two that were 6 bit shifted and two that were not.  Finally, after 160 bytes, the bits were now all aligned and the final 22 bytes of the packet matched but it was one byte off (i.e. where an 'F1' was expected, an F0 was received).  On this particular packet, 513 bytes were received rather than 512.  On other failures, there is an extra byte or two about half the time, the other half the packet is short by several bytes.
  • Using the expected data to compute when USB Bit Stuffing should occur, does not show any correlation to when the unexpected apparent bit shifting actually happens. 

The net from all of that was a suspicion that maybe the AM3352 USB is somehow not generating data at the proper speed so the USB host (a commercial PC) and the USB analyzer (CATC model UPAS2500H) are capturing the data when the USB DP/DM signals from the AM3352 are switching.  Along those lines, we checked:

  • Crystal frequency is correct to within ~25 ppm.
  • Supply voltages show no anomaly.
  • Lot codes where we've seen this problem so far:  58A5L9W, 58A5N4W and 58A1L8W

Any suggestions?

  • Hi Kevin,
    What speed is the interface operating at (High-Speed, Full-Speed, Low-Speed) when you see this issue?
  • Several questions:
    1) What does your topology look like? Direct connected to a Host or using hub(s)?
    2) Does this occur with more than one Host type/brand?
    3) Can you repro this issue @ Full-Speed?
  • 1. Direct connect to host, no hub
    2. Three different PCs. Two are Dell, the one at our board manufacturer I don't know
    3. Device Firmware does not operate at low/full speed, it is a high speed only device.
  • Got it.

    What OS + USB driver is running on your board?
    Can you try it behind a hub and see if the issue persists?
  • OS: SysBios 6.35.0.20
    USB Driver: Sample code from TI starter code
    Behaves the same behind a hub
  • Thanks.

    Could you load the Linux SDK and see if it will repro? This issue isn't being reported elsewhere so I'm trying to narrow this to SW vs HW.
  • Unfortunately, switching to Linux would be a bunch of new development in an OS that we don't have much, if any, development experience in house.

    The symptoms appear to me to be hardware unless there is some mechanism where software could cause data to get garbled at the bit level on its way out to USB. I'm not aware of any such mechanism.

    Below I've shown the one particular failure that is very suspicious. From offset 0 - 0x147 the data packet is correct. Then we get into what I've labelled as '2 bit shift' which is that if you assume that two bits got inserted for some reason then you would get the data that I've shown. When you apply a two bit shift to the expected data you get the actual data, byte for byte. Next, you get into what I've labelled as '4 bit shift' which is similar to '2 bit shift' except the expected data now needs to be shifted four bits rather than two and not every byte exactly matches that four bit shifted computation. But even then there is a pattern. Two consecutive bytes are wrong, then 14 are correct. This pattern repeats a couple of times. Next we get into '6 bit shift' mode where two consecutive bytes are the expected result shifted by 6 bits, the next two consecutive are something else. Again, this pattern repeats several times.

    This particular example is the clearest one that I have where the apparent bit shifting actually wraps an entire byte and the packet actually ends after transmitting that one extra byte as well and the last byte transmitted in the packet is actually the correct data, it is just coming one byte late due to the occasional bit shifting that went on previously. Other failures that I've captured show the '2 bit' and/or '4 bit' as well. The fact that the data block starts off correctly and then goes into the weeds, but in a sense 'recovers' (albeit with an extra byte in the packet) suggests that it's something like the DMA controller fetching the data from some incorrect memory location to transmit or something along those lines.

    It's almost as if the USB bit stuffing logic inside the chip decides to toss in two extra bits at somewhat random times. Or if the data was clocked out slower than USB spec defines somehow than one would see an apparent shift of the data when sampled by something that is sampling the data at the appropriate time.

    A couple of other points I forgot to mention. The first incorrect byte has so far always been quite a ways into the packet, never very early on. Also, even after we get this failed packet, the USB interface is still alive and the host can communicate with the device. This particular diagnostic will still fail if you try to run, but other USB comms that send shorter packets still work.

    00000: 05 06 07 08
    00004: 09 0A 0B 0C
    00008: 0D 0E 0F 10
    0000C: 11 12 13 14
    00010: 15 16 17 18
    00014: 19 1A 1B 1C
    00018: 1D 1E 1F 20
    0001C: 21 22 23 24
    00020: 25 26 27 28
    00024: 29 2A 2B 2C
    00028: 2D 2E 2F 30
    0002C: 31 32 33 34
    00030: 35 36 37 38
    00034: 39 3A 3B 3C
    00038: 3D 3E 3F 40
    0003C: 41 42 43 44
    00040: 45 46 47 48
    00044: 49 4A 4B 4C
    00048: 4D 4E 4F 50
    0004C: 51 52 53 54
    00050: 55 56 57 58
    00054: 59 5A 5B 5C
    00058: 5D 5E 5F 60
    0005C: 61 62 63 64
    00060: 65 66 67 68
    00064: 69 6A 6B 6C
    00068: 6D 6E 6F 70
    0006C: 71 72 73 74
    00070: 75 76 77 78
    00074: 79 7A 7B 7C
    00078: 7D 7E 7F 80
    0007C: 81 82 83 84
    00080: 85 86 87 88
    00084: 89 8A 8B 8C
    00088: 8D 8E 8F 90
    0008C: 91 92 93 94
    00090: 95 96 97 98
    00094: 99 9A 9B 9C
    00098: 9D 9E 9F A0
    0009C: A1 A2 A3 A4
    000A0: A5 A6 A7 A8
    000A4: A9 AA AB AC
    000A8: AD AE AF B0
    000AC: B1 B2 B3 B4
    000B0: B5 B6 B7 B8
    000B4: B9 BA BB BC
    000B8: BD BE BF C0
    000BC: C1 C2 C3 C4
    000C0: C5 C6 C7 C8
    000C4: C9 CA CB CC
    000C8: CD CE CF D0
    000CC: D1 D2 D3 D4
    000D0: D5 D6 D7 D8
    000D4: D9 DA DB DC
    000D8: DD DE DF E0
    000DC: E1 E2 E3 E4
    000E0: E5 E6 E7 E8
    000E4: E9 EA EB EC
    000E8: ED EE EF F0
    000EC: F1 F2 F3 F4
    000F0: F5 F6 F7 F8
    000F4: F9 FA FB FC
    000F8: FD FE FF 01
    000FC: 02 03 04 05
    00100: 06 07 08 09
    00104: 0A 0B 0C 0D
    00108: 0E 0F 10 11
    0010C: 12 13 14 15
    00110: 16 17 18 19
    00114: 1A 1B 1C 1D
    00118: 1E 1F 20 21
    0011C: 22 23 24 25
    00120: 26 27 28 29
    00124: 2A 2B 2C 2D
    00128: 2E 2F 30 31
    0012C: 32 33 34 35
    00130: 36 37 38 39
    00134: 3A 3B 3C 3D
    00138: 3E 3F 40 41
    0013C: 42 43 44 45
    00140: 46 47 48 49
    00144: 4A 4B 4C 4D
    00148: 6E 3D 41 45 <-- Should be 4E 4F 50 51. The 41 45 is the start of '2 bit shift'
    0014C: 49 4D 51 55
    00150: 59 5D 61 65
    00154: 69 6D 71 75
    00158: 79 7D 81 85
    0015C: 89 8D 91 95
    00160: 99 9D A1 A5
    00164: A9 AD B1 B5
    00168: B9 BD C1 C5
    0016C: C9 CD D1 D5
    00170: D9 DD E1 E5
    00174: E9 ED F1 F5
    00178: F9 FD 01 06 <- The FD is the end of '2 bit shift'
    0017C: 0A 0E 5A 58
    00180: 68 78 88 98 <- 68 is the start of '4 bit shift'
    00184: A8 B8 C8 D8
    00188: E8 F8 08 19
    0018C: 29 39 49 59
    00190: 69 79 89 99
    00194: A9 B9 C9 D9
    00198: E9 F9 09 1A <- 09 1A' are not '4 bit shift'
    0019C: 2A 3A 4A 5A
    001A0: 6A 7A 8A 9A
    001A4: AA BA CA DA
    001A8: EA FA 0A 1B <- 0A 1B are not '4 bit shift'
    001AC: 2B 3B 4B 5B
    001B0: 6B 7B 8B 9B
    001B4: AB BB 3B 6F <- AB is the end of '4 bit shift'
    001B8: AF EF 2F 70 <- AF is the start of '6 bit shift'
    001BC: B0 F0 30 71
    001C0: B1 F1 31 72
    001C4: B2 F2 32 73
    001C8: B3 F3 33 74
    001CC: B4 F4 34 75
    001D0: B5 F5 35 76
    001D4: B6 F6 36 77
    001D8: B7 F7 37 78
    001DC: B8 F8 38 79
    001E0: B9 F9 39 7A
    001E4: BA FA 3A 7B
    001E8: BB FB 5B F0 <-- BB FB is the end of '6 bit shift'. Bits are back in sync starting at F0, but one byte later than they should be
    001EC: F1 F2 F3 F4
    001F0: F5 F6 F7 F8
    001F4: F9 FA FB FC
    001F8: FD FE FF 01
    001FC: 02 03 04 05
    00200: 06 <-- Extra byte
  • Correction to the above post...

    ...suggests that it's NOT something like the DMA controller fetching...

  • Some additional info on testing:

    Lot codes that were tested that fail:  58AHE4W, 58ADS2W, 58AHEFW, 58A5L9W, 58ASVOW, 58A95JW, 58A5N2W, 58AKPRW, 58AKQEW.  Lot code 58A5N4W has also seen failures as reported in the original post.

    From a sampling of 879 boards that have 18 different lot codes, 2 units from each lot code were tested.  9 of the lot codes failed.  The test was to run the system once and then cycle power.  Repeat 100 times.  The typical failure point was within 10 power cycles but there were three outliers that required 34, 44 and 68 power cycles.  All 18 lot codes indicate August 2015 manufacturing date.

    Replacing the processor on four boards that were failing 'fixed' the problem with those four boards.

  • Kevin,

    As replacing the processor on the failing board fixed the problem, do we confirm this is HW issue instead of SW? 

    Regards, Eric

  • No, I don't think one can conclude anything at this time. Even if this is a 3% yield problem (as an example), one could replace failing parts with new ones on four boards and have an 88% chance of 'fixing' all four.

    If the problem is in the processor, TI would have to confirm whether this is a hardware issue. If this a transient issue with the parts (i.e. lot code specific), then again TI would have to be able to identify the lots. I've tried to provide all the info that I've observed so far. If the problem is with the board, I would need some assistance in identifying next places to look since crystal and power are the only inputs that I'm aware of that might produce the symptoms I'm reporting.

    If the problem is software, again I would need some assistance to try to identify an area since we're using TI sample code.
  • Kevin,

    Have you tested the board signal integrity via the USB Electrical test suite? I'm wondering if perhaps the interface is experiencing cross-talk.

    I've forwarded the issue to our production team to see if they can offer some insight into the lot codes you listed.
  • Kevin,

    "If the problem is software, again I would need some assistance to try to identify an area since we're using TI sample code."====> As it is inclusive whether HW or SW issue, can you explain what exact version of TI SW for USB driver was used? Then we can try to see any SW issue on TI EVM setup.

    Regards, Eric

  • Re: Signal integrity
    When the board first was designed, we did pass the USB Electrical test. However, at present, we're not able to retest. Neither the PCB laminate design, nor the supplier has changed during that time.

    Re: Software
    Our code is built on an example of USB from Starterware version 2.0.0.5. We fixed a number of bugs in the code from that version, some of which may still in the latest version of Starterware. I could send our code to a TI email address if needed for diagnosis however the last change to that code was almost three years ago.
  • Kevin,

    SW: I found 2.0.0.5 here http://processors.wiki.ti.com/index.php/StarterWare_OldReleases. As you made the changes for bug fix, was the change inside the library usblib.lib? Or the changes is inside the examples? There are several device examples, which is the one you based on? Is the code or library proprietary? I am not sure the scope of the code change, is it proper to post into the forum? 

    I wanted to test the code on my setup here with an AM335x EVM as a USB device, to see if I have any errors to copy files with a PC via power cycle test. I don't have exact lot number of the chip on my EVM, so may or may not see the same problem. I hope to rule out the SW issue with the test. 

    Regards, Eric

  • The changes were made to the usblib, not the examples.  Our software guy said one of the changes was in an interrupt routine that was hanging around waiting for an event to complete, meanwhile missing other things that were going on in the system.  He had to restructure the code somewhat to fix so it might not be compatible at a higher level with what you're running.  I've put our code on our Sharefile:  https://burroughs.sharefile.com/d-sea05552d8e449beb

  • @DK

    "I've forwarded the issue to our production team to see if they can offer some insight into the lot codes you listed."

    Did anything result from your inquiry above?

    Is there anything that can be done to escalate this problem within TI?

  • Correction from an earlier post: "Replacing the processor on four boards that were failing 'fixed' the problem with those four boards". One of those four boards actually did fail in the same manner, on the 15th powerup ('pass' is 100 powerups without issue). So three of four were fixed. The four parts were from the same August 2015 manufacturing time, lot code is 58AG9EW.
  • Kevin,

    There are many difference bewteen customer's usblib folder and TI 2.0.0.5 GA folder. I was not able to build the library with their code. Do they have a pre-build library and with compatible API to TI test code?

    Regards, Eric

  • Eric,

    Unfortunately, our software does not work with the unmodified usblib code and the modifications that we made to allow usblib to work break compatibility with software that you have that does work with the unmodified usblib code.

    Another data point we came across on Monday is that unplug/replug the USB cable can be made to cause the failure.  So far though we haven't been able to show that unplug/replug of the USB cable can cause the failure to be 'fixed' from a broken state but there has only been fairly limited testing of that.  However, since reseating the USB cable can cause the failure, and not just power cycling, it does seem to remove several potential suspects such as boot up code, power supply sequencing etc.  What would seem to be left is hardware/software specific to starting up USB.

    I still strongly suspect that this is a hardware issue due to the nature of the failure (i.e. data being shifted by two bits, then four, six and eight) but so far nobody at TI has been able to confirm or suggest additional testing that could resolve.  Maybe there is something PLL related that is occurring at USB startup and the PLL is taking longer than it should to lock to the proper frequency?  Or from a software angle, maybe there is some delay that is required that is not being honored?  Is there some specified delay that must be met after a USB connect prior to sending packet data that perhaps we're missing?  If so, could you reference?  Since we're able to cause a failure via human reaction timeframes, I wouldn't expect small number of milliseconds or less to be an issue, but larger timeframes could.

  • Is there some bit in a register that might indicate that the PLL that generates the high speed USB clock is maybe not locked on yet? If so, does the TI version of the USBLIB code check that bit? Since the failure either occurs 'early' or it does not occur at all, I'm wondering if the clock is perhaps not totally stable and, if running a bit slow, would cause some apparent bit shifting.

    If there is such a status bit, then at least being able to verify the state would give some more information to explore.
  • Kevin,

    Can you provide the register dumps for working case and failure case:

    0x44e1_0620

    0x44e0_0004

    0x44e0_001c

    0x44e0_047c

    In your test of case of unplug/plug USB cable to create the failure, can you explain: is the USB host a PC? failure is USB enumeration failure? Or the failure is data transmission failure but enumeration always happening? Do you have to use a scope to monitor data bit shift to declare a failure or you can use PC to copy files to find the failure?

    Regards, Eric

  • Eric,

    Will take some time to get the info on the register dumps, but I'll put it on the list of things to do.

    The host in all cases is a PC (not just one PC).  When I refer to a failure, I'm referring to the 'Xact Error' that gets reported when the device is running a diagnostic that is simply transmitting known, canned data.  No enumeration problems.  In fact, even after the 'Xact Error', I'm able to communicate without issue as long as it is via messages that happen to result in 'small' USB packets (i.e. not the 512 byte packets that are occurring when running the diagnostic).

    To get detailed data on the cause of the 'Xact Error', I have to use a hardware USB analyzer.  With that I can see all of the data packets and find the packet with the error.  Although 'Xact Error' could have multiple causes, what I'm seeing is data corruption in the packet which results in an invalid CRC.  I've captured 14 of those errors.  The typical running though simply needs to look on the PC for the 'Xact Error' to be reported, or for the diagnostic to complete.

  • Eric,

    Register values you requested.  Values are the same both during a good power up and a bad one.

    Register                       Address     Value

    ========                       ==========  ========

    USB_CTRL0 REGISTER             0x44e10620  3C186004

    CM_PER_L3S_CLKSTCTRL Register  0x44e00004  0000000A

    CM_PER_USB0_CLKCTRL Register   0x44e0001C  00000002

    CM_CLKDCOLDO_DPLL_PER Register 0x44e0047C  00000300

  • Some additional failure information.  One particular run of the test showed a number of different things:

    - Apparent bit shifting by both an even and an odd number of bits (previously the bit-shifting phenomenon had always been 2,4 or 6 bits)

    - Apparent dropping of three bytes of data from the data stream.  See packet 683768 below.  Both the analyzer and the PC saw this as a CRC error.  The PC did not ACK which causes the AM3352 to resend the packet.  On both the original transmission and the resend, the USB analyzer detected the same CRC being transmitted by the AM3352.  The resend however was not missing the three bytes from the first transmission so now the CRC that was transmitted was correct.  See packets 683768 and 683770 below.

    - Six of the eight data packet errors below show the USB host sending an ACK to a data packet that the hardware USB analyzer had reported a CRC error.  On the other two CRC errors, the host did not ACK (which is the correct behavior) and the data was resent in the next transaction.

    Transfer #

    Packet #

    Description

    24

    683701

    CRC16 error, 514 byte data packet.  PC sends an ACK packet back.  Last 7 bytes are wrong.  4 consecutive of the 7 if two bit shifted match expected data.

    25

    683704

    CRC16 error, 514 byte data packet.  PC sends an ACK packet back.  Bytes 1-448 correct, except for bytes 506-507, bytes 451-514 if one bit shifted match expected data.

    26

    683707

    CRC16 error, 514 byte data packet.  PC sends an ACK packet back.  Bytes 1-366 are correct, except for bytes 369, 375-376, bytes 368-434 if one bit shifted match expected; except for bytes 439-440, bytes 438-494 if two bit shifted match expected; except for bytes 503-504, bytes 497-512 if four bit shifted match expected data.

    26

    683710

    CRC16 error, 514 byte data packet.  PC does not send an ACK packet back.  Bytes 1-398 are correct; except for bytes 437-438, bytes 400-461 if two bit shifted match expected; except for bytes 469-470, 485-486, 501-502, bytes 464-512 if four bit shifted match expected.  Analyzer reported the CRC16 that was received is 87F8.

    27

    683712

    CRC16 error, 514 byte data packet.  PC sends an ACK packet back.  Note:  Since previous data packet 683710 was not ACK’ed by the host, this data packet should be (and is) a resend of the same data from data packet 683710.  Bytes 1-424 are correct; except for bytes 437-438, bytes 427-494 if two bit shifted match expected; except for bytes 502-503, 508-509, bytes 500-512 if five bit shifted match expected.  Analyzer reported the CRC16 that was received is C3F8.

    28

    683715

    CRC16 error, 514 byte data packet.  PC sends an ACK packet back.  Bytes 1-438 are correct; except for bytes 500-501, bytes 441-512 if two bit shifted match expected.

    29

    683718

    CRC16 error, 512 byte data packet.  PC sends an ACK packet back.  Bytes 1-477 are correct; except for bytes 497-498, bytes 479-512 if one bit shifted match expected.

    30

    683768

    CRC16 error, 509 byte data packet.  PC does not send an ACK packet back.  Bytes 1-456 are correct; bytes 457-509 are wrong.  Bytes 459-509 are the data that should have been bytes 463-512; byte 457 is off by one bit (E8 instead of F8); not clear about byte 458 (5E instead of F9).  Analyzer reported the CRC16 that was received is E9BD.

    Note:  This packet was preceded by 15x 512 byte packets that transferred without issue.

    30

    683770

    Since the PC did not send an ACK to packet 683768, the device should (and it did) resend the data packet which is packet 683770.  This packet transferred without error.  Analyzer reported the same CRC16 of E9BD as it had on the previous packet.  This would seem to indicate that the CRC computation circuitry in the processor received all of the data, but for some reason three bytes were not actually transmitted.

     

    Firmware analysis:

    Tracing was added in the HandleEndpoints() function (modified a bit from the published TI StarterWare) in order to log when the function was called and the current state of the Dma Pending Status.  Specifically, ‘pendreg’ was logged where ‘pendreg’ is:

                    // Get the DMA Interrupt status

                    pendReg = CppiDmaGetPendStatus(USB_INSTANCE);

    The trace showed that the function was called 56 times.  All but one time, pendreg was set to 0.  One time it was set to 0x40000000 (CPDMA_TX_PENDING).  The first 55 calls to the function occurred within 1.484 seconds.  There was then a gap of 2.381 seconds to the next call.  The test that was running has a 5 second timeout after which the USB Transaction Error was reported.  It is not clear if there is a way to correlate the firmware trace timings with the hardware USB analyzer timings.  Given the amount of data that was transferred, only 56 calls seems light.

  • An example of a much smaller data packet of 39 bytes that was transmitted three consecutive times and failed every time.  All three times the PC did not respond with an ACK indicating that from it's view, the data packet was corrupt.

    The correct data stream is the following:

    09 02 27 00 01 01 00 C0 FA 09 04 00 00 03 FF FF FF 00 07 05 82 02 00 02 00 07 05 04 02 00 02 00 07 05 81 03 80 00 01 

    This data stream was sent with a CRC16 of 72CC according to the USB analyzer (which did not flag a CRC error).  Since the PC did not ACK, the AM3352 resent the same data packet.  It was mostly correct.  The last six bytes in the packet (highlighted above), came out as 15 02 07 00 01 02 with a CRC16 of 3966 which the USB analyzer flagged as being incorrect.  Once again the PC did not ACK this packet, so the AM3352 sent the packet a third time.  The data packet and CRC16 were exactly the same as the first time it was sent and again the PC did not ACK the packet.  There was no fourth attempt to send the packet, not sure why.

    Sure seems like the chip itself is flaking out and bit timing is slightly off somehow.  But if it powers up and works the first time, all is good until the next power up which rolls the dice again.

  • Eric,

    On the hope that there would be a clue in the register settings, I dumped all of the USB registers and some of the possibly relevant clock module registers.  The table is shown below.  Here is a description of what is contained in each column

    RegAddr(Hex):  Regiater address

    RegData(Hex): Data read from RegAddr

    Addr Match:  Two dumps of the register values were taken, one before the first DMA transfer and one after the DMA transfer had failed.  Comparisons of the address and data were made to see where something had changed between these to register dumps.  A value of 'True' for Addr Match indicates that the address is the same for both dumps (mostly this is a sanity check to make sure that the data is compare is comparing the correct things).

    Data Match:  Similar to Addr Match but flags when the data has changed between the two dumps.

    Good Match:  I also made a run that did not have any problems and dumped the register values as described above.  This column indicates whether the data from this 'good' run matches the data from the failed run.

    Good Data:  This is the data from the 'good' run.

    Register Name:  Over after the // is a reference to the register name and the section in the Technical Reference manual.

    Difference:  Some of the register contents happen to change from run to run whether this was a 'good' run or not.  I went through all of the places where the data differed, and noted the bits that were different and whether it appeared to me to be relevant or not.  I didn't find anything that jumped out as a notable difference, but maybe somebody with more knowledge in this area of the part can review.

    Can anybody suggest other fruitful areas of the memory that might be useful to dig into for differences?

    RegAddr(Hex) RegData(Hex) Addr Match Data Match Good Match Match2 Good Data Register Name Difference
    47400000 4EA2080D TRUE TRUE TRUE TRUE 4EA2080D Trace3(100, 100, 1195376640, HWREG(0x47400000)); // REVREG Section 16.4.1.1
    47400010 00000028 TRUE TRUE TRUE TRUE 00000028 Trace3(100, 100, 1195376656, HWREG(0x47400010)); // SYSCONFIG Section 16.4.1.2
    47400024 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376676, HWREG(0x47400024)); // IRQSTATRAW Section 16.4.1.3
    47400028 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376680, HWREG(0x47400028)); // IRQSTAT Section 16.4.1.4
    4740002C 00000F07 TRUE TRUE TRUE TRUE 00000F07 Trace3(100, 100, 1195376684, HWREG(0x4740002C)); // IRQENABLER Section 16.4.1.5
    47400030 00000F07 TRUE TRUE TRUE TRUE 00000F07 Trace3(100, 100, 1195376688, HWREG(0x47400030)); // IRQCLEARR Section 16.4.1.6
    47400100 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376896, HWREG(0x47400100)); // IRQDMATHOLDTX00 Section 16.4.1.7
    47400104 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376900, HWREG(0x47400104)); // IRQDMATHOLDTX01 Section 16.4.1.8
    47400108 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376904, HWREG(0x47400108)); // IRQDMATHOLDTX02 Section 16.4.1.9
    4740010C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376908, HWREG(0x4740010C)); // IRQDMATHOLDTX03 Section 16.4.1.10
    47400110 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376912, HWREG(0x47400110)); // IRQDMATHOLDRX00 Section 16.4.1.11
    47400114 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376916, HWREG(0x47400114)); // IRQDMATHOLDRX01 Section 16.4.1.12
    47400118 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376920, HWREG(0x47400118)); // IRQDMATHOLDRX02 Section 16.4.1.13
    4740011C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376924, HWREG(0x4740011C)); // IRQDMATHOLDRX03 Section 16.4.1.14
    47400120 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376928, HWREG(0x47400120)); // IRQDMATHOLDTX10 Section 16.4.1.15
    47400124 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376932, HWREG(0x47400124)); // IRQDMATHOLDTX11 Section 16.4.1.16
    47400128 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376936, HWREG(0x47400128)); // IRQDMATHOLDTX12 Section 16.4.1.17
    4740012C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376940, HWREG(0x4740012C)); // IRQDMATHOLDTX13 Section 16.4.1.18
    47400130 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376944, HWREG(0x47400130)); // IRQDMATHOLDRX10 Section 16.4.1.19
    47400134 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376948, HWREG(0x47400134)); // IRQDMATHOLDRX11 Section 16.4.1.20
    47400138 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376952, HWREG(0x47400138)); // IRQDMATHOLDRX12 Section 16.4.1.21
    4740013C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376956, HWREG(0x4740013C)); // IRQDMATHOLDRX13 Section 16.4.1.22
    47400140 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376960, HWREG(0x47400140)); // IRQDMAENABLE0 Section 16.4.1.23
    47400144 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195376964, HWREG(0x47400144)); // IRQDMAENABLE1 Section 16.4.1.24
    47400200 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377152, HWREG(0x47400200)); // IRQFRAMETHOLDTX00 Section 16.4.1.25
    47400204 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377156, HWREG(0x47400204)); // IRQFRAMETHOLDTX01 Section 16.4.1.26
    47400208 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377160, HWREG(0x47400208)); // IRQFRAMETHOLDTX02 Section 16.4.1.27
    4740020C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377164, HWREG(0x4740020C)); // IRQFRAMETHOLDTX03 Section 16.4.1.28
    47400210 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377168, HWREG(0x47400210)); // IRQFRAMETHOLDRX00 Section 16.4.1.29
    47400214 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377172, HWREG(0x47400214)); // IRQFRAMETHOLDRX01 Section 16.4.1.30
    47400218 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377176, HWREG(0x47400218)); // IRQFRAMETHOLDRX02 Section 16.4.1.31
    4740021C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377180, HWREG(0x4740021C)); // IRQFRAMETHOLDRX03 Section 16.4.1.32
    47400220 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377184, HWREG(0x47400220)); // IRQFRAMETHOLDTX10 Section 16.4.1.33
    47400224 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377188, HWREG(0x47400224)); // IRQFRAMETHOLDTX11 Section 16.4.1.34
    47400228 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377192, HWREG(0x47400228)); // IRQFRAMETHOLDTX12 Section 16.4.1.35
    4740022C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377196, HWREG(0x4740022C)); // IRQFRAMETHOLDTX13 Section 16.4.1.36
    47400230 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377200, HWREG(0x47400230)); // IRQFRAMETHOLDRX10 Section 16.4.1.37
    47400234 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377204, HWREG(0x47400234)); // IRQFRAMETHOLDRX11 Section 16.4.1.38
    47400238 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377208, HWREG(0x47400238)); // IRQFRAMETHOLDRX12 Section 16.4.1.39
    4740023C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377212, HWREG(0x4740023C)); // IRQFRAMETHOLDRX13 Section 16.4.1.40
    47400240 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377216, HWREG(0x47400240)); // IRQFRAMEENABLE0 Section 16.4.1.41
    47400244 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195377220, HWREG(0x47400244)); // IRQFRAMEENABLE1 Section 16.4.1.42
    47401000 4EA20800 TRUE TRUE TRUE TRUE 4EA20800 Trace3(100, 100, 1195380736, HWREG(0x47401000)); // USB0REV Section 16.4.2.1
    47401014 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380756, HWREG(0x47401014)); // USB0CTRL Section 16.4.2.2
    47401018 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 100, 1195380760, HWREG(0x47401018)); // USB0STAT Section 16.4.2.3
    47401020 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380768, HWREG(0x47401020)); // USB0IRQMSTAT Section 16.4.2.4
    47401028 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380776, HWREG(0x47401028)); // USB0IRQSTATRAW0 Section 16.4.2.5
    4740102C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380780, HWREG(0x4740102C)); // USB0IRQSTATRAW1 Section 16.4.2.6
    47401030 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380784, HWREG(0x47401030)); // USB0IRQSTAT0 Section 16.4.2.7
    47401034 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380788, HWREG(0x47401034)); // USB0IRQSTAT1 Section 16.4.2.8
    47401038 FFFEFFFF TRUE TRUE TRUE TRUE FFFEFFFF Trace3(100, 100, 1195380792, HWREG(0x47401038)); // USB0IRQENABLESET0 Section 16.4.2.9
    4740103C FFFF03FF TRUE TRUE TRUE TRUE FFFF03FF Trace3(100, 100, 1195380796, HWREG(0x4740103C)); // USB0IRQENABLESET1 Section 16.4.2.10
    47401040 FFFEFFFF TRUE TRUE TRUE TRUE FFFEFFFF Trace3(100, 100, 1195380800, HWREG(0x47401040)); // USB0IRQENABLECLR0 Section 16.4.2.11
    47401044 FFFF03FF TRUE TRUE TRUE TRUE FFFF03FF Trace3(100, 100, 1195380804, HWREG(0x47401044)); // USB0IRQENABLECLR1 Section 16.4.2.12
    47401070 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380848, HWREG(0x47401070)); // USB0TXMODE Section 16.4.2.13
    47401074 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380852, HWREG(0x47401074)); // USB0RXMODE Section 16.4.2.14
    47401080 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380864, HWREG(0x47401080)); // USB0GENRNDISEP1 Section 16.4.2.15
    47401084 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380868, HWREG(0x47401084)); // USB0GENRNDISEP2 Section 16.4.2.16
    47401088 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380872, HWREG(0x47401088)); // USB0GENRNDISEP3 Section 16.4.2.17
    4740108C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380876, HWREG(0x4740108C)); // USB0GENRNDISEP4 Section 16.4.2.18
    47401090 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380880, HWREG(0x47401090)); // USB0GENRNDISEP5 Section 16.4.2.19
    47401094 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380884, HWREG(0x47401094)); // USB0GENRNDISEP6 Section 16.4.2.20
    47401098 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380888, HWREG(0x47401098)); // USB0GENRNDISEP7 Section 16.4.2.21
    4740109C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380892, HWREG(0x4740109C)); // USB0GENRNDISEP8 Section 16.4.2.22
    474010A0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380896, HWREG(0x474010A0)); // USB0GENRNDISEP9 Section 16.4.2.23
    474010A4 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380900, HWREG(0x474010A4)); // USB0GENRNDISEP10 Section 16.4.2.24
    474010A8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380904, HWREG(0x474010A8)); // USB0GENRNDISEP11 Section 16.4.2.25
    474010AC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380908, HWREG(0x474010AC)); // USB0GENRNDISEP12 Section 16.4.2.26
    474010B0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380912, HWREG(0x474010B0)); // USB0GENRNDISEP13 Section 16.4.2.27
    474010B4 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380916, HWREG(0x474010B4)); // USB0GENRNDISEP14 Section 16.4.2.28
    474010B8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380920, HWREG(0x474010B8)); // USB0GENRNDISEP15 Section 16.4.2.29
    474010D0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380944, HWREG(0x474010D0)); // USB0AUTOREQ Section 16.4.2.30
    474010D4 0280DE80 TRUE TRUE TRUE TRUE 0280DE80 Trace3(100, 100, 1195380948, HWREG(0x474010D4)); // USB0SRPFIXTIME Section 16.4.2.31
    474010D8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195380952, HWREG(0x474010D8)); // USB0_TDOWN Section 16.4.2.32
    474010E0 00200002 TRUE TRUE TRUE TRUE 00200002 Trace3(100, 100, 1195380960, HWREG(0x474010E0)); // USB0UTMI Section 16.4.2.33
    474010E4 12020104 TRUE FALSE TRUE FALSE 12020104 Trace3(100, 100, 1195380964, HWREG(0x474010E4)); // USB0MGCUTMILB Section 16.4.2.34
    474010E8 00000180 TRUE TRUE TRUE TRUE 00000180 Trace3(100, 100, 1195380968, HWREG(0x474010E8)); // USB0MODE Section 16.4.2.35
    47401800 4EA20800 TRUE TRUE TRUE TRUE 4EA20800 Trace3(100, 100, 1195382784, HWREG(0x47401800)); // USB1REV Section 16.4.3.1
    47401814 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382804, HWREG(0x47401814)); // USB1CTRL Section 16.4.3.2
    47401818 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382808, HWREG(0x47401818)); // USB1STAT Section 16.4.3.3
    47401820 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382816, HWREG(0x47401820)); // USB1IRQMSTAT Section 16.4.3.4
    47401828 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382824, HWREG(0x47401828)); // USB1IRQSTATRAW0 Section 16.4.3.5
    4740182C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382828, HWREG(0x4740182C)); // USB1IRQSTATRAW1 Section 16.4.3.6
    47401830 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382832, HWREG(0x47401830)); // USB1IRQSTAT0 Section 16.4.3.7
    47401834 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382836, HWREG(0x47401834)); // USB1IRQSTAT1 Section 16.4.3.8
    47401838 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382840, HWREG(0x47401838)); // USB1IRQENABLESET0 Section 16.4.3.9
    4740183C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 100, 1195382844, HWREG(0x4740183C)); // USB1IRQENABLESET1 Section 16.4.3.10
    47401300 110F483D TRUE FALSE FALSE FALSE 110F483E Trace3(100, 101, 1195381504, HWREG(0x47401300)); // Termination_control Section 16.4.4.1 Bit 1 cleared, Bit 0 set.  Bits 6-0=RTERM_CAL.  Seems to be OK
    47401304 00519A6E TRUE TRUE FALSE FALSE 00519A6A Trace3(100, 101, 1195381508, HWREG(0x47401304)); // RX_CALIB Section 16.4.4.2 Bit 2 set:  Bit 2=SQ_COMP_OUT.  Seems to be OK
    47401308 0000001F TRUE TRUE TRUE TRUE 0000001F Trace3(100, 101, 1195381512, HWREG(0x47401308)); // DLLHS_2 Section 16.4.4.3
    4740130C 00000014 TRUE TRUE FALSE FALSE 00000094 Trace3(100, 101, 1195381516, HWREG(0x4740130C)); // RX_TEST_2 Section 16.4.4.4 Bit 7 cleared.  Bits 7-0=CDR_TESTOUT.  Seems to be OK
    47401314 10000000 TRUE TRUE TRUE TRUE 10000000 Trace3(100, 101, 1195381524, HWREG(0x47401314)); // CHRG_DET Section 16.4.4.5
    47401318 F0400040 TRUE TRUE TRUE TRUE F0400040 Trace3(100, 101, 1195381528, HWREG(0x47401318)); // PWR_CNTL Section 16.4.4.6
    4740131C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 101, 1195381532, HWREG(0x4740131C)); // UTMI_INTERFACE_CNTL_1 Section 16.4.4.7
    47401320 00100000 TRUE TRUE FALSE FALSE 04300000 Trace3(100, 101, 1195381536, HWREG(0x47401320)); // UTMI_INTERFACE_CNTL_2 Section 16.4.4.8 Bit 26, 21 clear:  26=Linestate(0), 21=TXREADY.  Seems to be OK
    47401324 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 101, 1195381540, HWREG(0x47401324)); // BIST Section 16.4.4.9
    47401328 FFFFFFFF TRUE TRUE TRUE TRUE FFFFFFFF Trace3(100, 101, 1195381544, HWREG(0x47401328)); // BIST_CRC Section 16.4.4.10
    4740132C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 101, 1195381548, HWREG(0x4740132C)); // CDR_BIST2 Section 16.4.4.11
    47401330 20040000 TRUE TRUE TRUE TRUE 20040000 Trace3(100, 101, 1195381552, HWREG(0x47401330)); // GPIO Section 16.4.4.12
    47401334 16C08000 TRUE TRUE FALSE TRUE 17008000 Trace3(100, 101, 1195381556, HWREG(0x47401334)); // DLLHS Section 16.4.4.13 Bit 24 cleared, bit 23,22 set.  Suspect, matches the value that is in the register once all transfers have been completed
    4740133C 00000003 TRUE TRUE TRUE TRUE 00000003 Trace3(100, 101, 1195381564, HWREG(0x4740133C)); // USB2PHYCM_CONFIG Section 16.4.4.14
    47401344 6A1A4041 TRUE TRUE TRUE TRUE 6A1A4041 Trace3(100, 101, 1195381572, HWREG(0x47401344)); // AD_INTERFACE_REG1 Section 16.4.4.15 Bit 20, 19 cleared; bit 26, 23 set. 30=HS_TX_DATA, 26=HS_TX_PRE_EN, 23=HS_TX_EN, 20=SQ_EN, 19=HS_RX_EN
    47401348 00080081 TRUE TRUE TRUE TRUE 00080081 Trace3(100, 101, 1195381576, HWREG(0x47401348)); // AD_INTERFACE_REG2 Section 16.4.4.16
    4740134C 00040000 TRUE TRUE FALSE FALSE 1F840000 Trace3(100, 101, 1195381580, HWREG(0x4740134C)); // AD_INTERFACE_REG3 Section 16.4.4.17 Bit 28-23 cleared.  Bits 30-23=HSOS_DATA.  Seems to be OK
    47401354 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 101, 1195381588, HWREG(0x47401354)); // ANA_CONFIG2 Section 16.4.4.18
    47402000 00530901 TRUE TRUE TRUE TRUE 00530901 Trace3(100, 102, 1195384832, HWREG(0x47402000)); // DMAREVID Section 16.4.5.1
    47402004 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195384836, HWREG(0x47402004)); // TDFDQ Section 16.4.5.2
    47402008 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195384840, HWREG(0x47402008)); // DMAEMU Section 16.4.5.3
    47402800 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386880, HWREG(0x47402800)); // TXGCR0 Section 16.4.5.4
    47402808 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386888, HWREG(0x47402808)); // RXGCR0 Section 16.4.5.5
    4740280C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386892, HWREG(0x4740280C)); // RXHPCRA0 Section 16.4.5.6
    47402810 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386896, HWREG(0x47402810)); // RXHPCRB0 Section 16.4.5.7
    47402820 80000000 TRUE TRUE TRUE TRUE 80000000 Trace3(100, 102, 1195386912, HWREG(0x47402820)); // TXGCR1 Section 16.4.5.8
    47402828 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386920, HWREG(0x47402828)); // RXGCR1 Section 16.4.5.9
    4740282C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386924, HWREG(0x4740282C)); // RXHPCRA1 Section 16.4.5.10
    47402830 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386928, HWREG(0x47402830)); // RXHPCRB1 Section 16.4.5.11
    47402840 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386944, HWREG(0x47402840)); // TXGCR2 Section 16.4.5.12
    47402848 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386952, HWREG(0x47402848)); // RXGCR2 Section 16.4.5.13
    4740284C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386956, HWREG(0x4740284C)); // RXHPCRA2 Section 16.4.5.14
    47402850 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386960, HWREG(0x47402850)); // RXHPCRB2 Section 16.4.5.15
    47402860 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386976, HWREG(0x47402860)); // TXGCR3 Section 16.4.5.16
    47402868 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386984, HWREG(0x47402868)); // RXGCR3 Section 16.4.5.17
    4740286C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386988, HWREG(0x4740286C)); // RXHPCRA3 Section 16.4.5.18
    47402870 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195386992, HWREG(0x47402870)); // RXHPCRB3 Section 16.4.5.19
    47402880 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387008, HWREG(0x47402880)); // TXGCR4 Section 16.4.5.20
    47402888 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387016, HWREG(0x47402888)); // RXGCR4 Section 16.4.5.21
    4740288C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387020, HWREG(0x4740288C)); // RXHPCRA4 Section 16.4.5.22
    47402890 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387024, HWREG(0x47402890)); // RXHPCRB4 Section 16.4.5.23
    474028A0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387040, HWREG(0x474028A0)); // TXGCR5 Section 16.4.5.24
    474028A8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387048, HWREG(0x474028A8)); // RXGCR5 Section 16.4.5.25
    474028AC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387052, HWREG(0x474028AC)); // RXHPCRA5 Section 16.4.5.26
    474028B0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387056, HWREG(0x474028B0)); // RXHPCRB5 Section 16.4.5.27
    474028C0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387072, HWREG(0x474028C0)); // TXGCR6 Section 16.4.5.28
    474028C8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387080, HWREG(0x474028C8)); // RXGCR6 Section 16.4.5.29
    474028CC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387084, HWREG(0x474028CC)); // RXHPCRA6 Section 16.4.5.30
    474028D0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387088, HWREG(0x474028D0)); // RXHPCRB6 Section 16.4.5.31
    474028E0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387104, HWREG(0x474028E0)); // TXGCR7 Section 16.4.5.32
    474028E8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387112, HWREG(0x474028E8)); // RXGCR7 Section 16.4.5.33
    474028EC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387116, HWREG(0x474028EC)); // RXHPCRA7 Section 16.4.5.34
    474028F0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387120, HWREG(0x474028F0)); // RXHPCRB7 Section 16.4.5.35
    47402900 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387136, HWREG(0x47402900)); // TXGCR8 Section 16.4.5.36
    47402908 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387144, HWREG(0x47402908)); // RXGCR8 Section 16.4.5.37
    4740290C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387148, HWREG(0x4740290C)); // RXHPCRA8 Section 16.4.5.38
    47402910 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387152, HWREG(0x47402910)); // RXHPCRB8 Section 16.4.5.39
    47402920 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387168, HWREG(0x47402920)); // TXGCR9 Section 16.4.5.40
    47402928 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387176, HWREG(0x47402928)); // RXGCR9 Section 16.4.5.41
    4740292C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387180, HWREG(0x4740292C)); // RXHPCRA9 Section 16.4.5.42
    47402930 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387184, HWREG(0x47402930)); // RXHPCRB9 Section 16.4.5.43
    47402940 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387200, HWREG(0x47402940)); // TXGCR10 Section 16.4.5.44
    47402948 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387208, HWREG(0x47402948)); // RXGCR10 Section 16.4.5.45
    4740294C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387212, HWREG(0x4740294C)); // RXHPCRA10 Section 16.4.5.46
    47402950 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387216, HWREG(0x47402950)); // RXHPCRB10 Section 16.4.5.47
    47402960 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387232, HWREG(0x47402960)); // TXGCR11 Section 16.4.5.48
    47402968 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387240, HWREG(0x47402968)); // RXGCR11 Section 16.4.5.49
    4740296C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387244, HWREG(0x4740296C)); // RXHPCRA11 Section 16.4.5.50
    47402970 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387248, HWREG(0x47402970)); // RXHPCRB11 Section 16.4.5.51
    47402980 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387264, HWREG(0x47402980)); // TXGCR12 Section 16.4.5.52
    47402988 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387272, HWREG(0x47402988)); // RXGCR12 Section 16.4.5.53
    4740298C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387276, HWREG(0x4740298C)); // RXHPCRA12 Section 16.4.5.54
    47402990 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387280, HWREG(0x47402990)); // RXHPCRB12 Section 16.4.5.55
    474029A0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387296, HWREG(0x474029A0)); // TXGCR13 Section 16.4.5.56
    474029A8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387304, HWREG(0x474029A8)); // RXGCR13 Section 16.4.5.57
    474029AC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387308, HWREG(0x474029AC)); // RXHPCRA13 Section 16.4.5.58
    474029B0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387312, HWREG(0x474029B0)); // RXHPCRB13 Section 16.4.5.59
    474029C0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387328, HWREG(0x474029C0)); // TXGCR14 Section 16.4.5.60
    474029C8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387336, HWREG(0x474029C8)); // RXGCR14 Section 16.4.5.61
    474029CC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387340, HWREG(0x474029CC)); // RXHPCRA14 Section 16.4.5.62
    474029D0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387344, HWREG(0x474029D0)); // RXHPCRB14 Section 16.4.5.63
    474029E0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387360, HWREG(0x474029E0)); // TXGCR15 Section 16.4.5.64
    474029E8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387368, HWREG(0x474029E8)); // RXGCR15 Section 16.4.5.65
    474029EC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387372, HWREG(0x474029EC)); // RXHPCRA15 Section 16.4.5.66
    474029F0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387376, HWREG(0x474029F0)); // RXHPCRB15 Section 16.4.5.67
    47402A00 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387392, HWREG(0x47402A00)); // TXGCR16 Section 16.4.5.68
    47402A08 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387400, HWREG(0x47402A08)); // RXGCR16 Section 16.4.5.69
    47402A0C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387404, HWREG(0x47402A0C)); // RXHPCRA16 Section 16.4.5.70
    47402A10 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387408, HWREG(0x47402A10)); // RXHPCRB16 Section 16.4.5.71
    47402A20 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387424, HWREG(0x47402A20)); // TXGCR17 Section 16.4.5.72
    47402A28 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387432, HWREG(0x47402A28)); // RXGCR17 Section 16.4.5.73
    47402A2C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387436, HWREG(0x47402A2C)); // RXHPCRA17 Section 16.4.5.74
    47402A30 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387440, HWREG(0x47402A30)); // RXHPCRB17 Section 16.4.5.75
    47402A40 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387456, HWREG(0x47402A40)); // TXGCR18 Section 16.4.5.76
    47402A48 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387464, HWREG(0x47402A48)); // RXGCR18 Section 16.4.5.77
    47402A4C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387468, HWREG(0x47402A4C)); // RXHPCRA18 Section 16.4.5.78
    47402A50 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387472, HWREG(0x47402A50)); // RXHPCRB18 Section 16.4.5.79
    47402A60 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387488, HWREG(0x47402A60)); // TXGCR19 Section 16.4.5.80
    47402A68 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387496, HWREG(0x47402A68)); // RXGCR19 Section 16.4.5.81
    47402A6C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387500, HWREG(0x47402A6C)); // RXHPCRA19 Section 16.4.5.82
    47402A70 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387504, HWREG(0x47402A70)); // RXHPCRB19 Section 16.4.5.83
    47402A80 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387520, HWREG(0x47402A80)); // TXGCR20 Section 16.4.5.84
    47402A88 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387528, HWREG(0x47402A88)); // RXGCR20 Section 16.4.5.85
    47402A8C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387532, HWREG(0x47402A8C)); // RXHPCRA20 Section 16.4.5.86
    47402A90 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387536, HWREG(0x47402A90)); // RXHPCRB20 Section 16.4.5.87
    47402AA0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387552, HWREG(0x47402AA0)); // TXGCR21 Section 16.4.5.88
    47402AA8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387560, HWREG(0x47402AA8)); // RXGCR21 Section 16.4.5.89
    47402AAC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387564, HWREG(0x47402AAC)); // RXHPCRA21 Section 16.4.5.90
    47402AB0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387568, HWREG(0x47402AB0)); // RXHPCRB21 Section 16.4.5.91
    47402AC0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387584, HWREG(0x47402AC0)); // TXGCR22 Section 16.4.5.92
    47402AC8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387592, HWREG(0x47402AC8)); // RXGCR22 Section 16.4.5.93
    47402ACC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387596, HWREG(0x47402ACC)); // RXHPCRA22 Section 16.4.5.94
    47402AD0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387600, HWREG(0x47402AD0)); // RXHPCRB22 Section 16.4.5.95
    47402AE0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387616, HWREG(0x47402AE0)); // TXGCR23 Section 16.4.5.96
    47402AE8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387624, HWREG(0x47402AE8)); // RXGCR23 Section 16.4.5.97
    47402AEC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387628, HWREG(0x47402AEC)); // RXHPCRA23 Section 16.4.5.98
    47402AF0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387632, HWREG(0x47402AF0)); // RXHPCRB23 Section 16.4.5.99
    47402B00 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387648, HWREG(0x47402B00)); // TXGCR24 Section 16.4.5.100
    47402B08 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387656, HWREG(0x47402B08)); // RXGCR24 Section 16.4.5.101
    47402B0C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387660, HWREG(0x47402B0C)); // RXHPCRA24 Section 16.4.5.102
    47402B10 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387664, HWREG(0x47402B10)); // RXHPCRB24 Section 16.4.5.103
    47402B20 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387680, HWREG(0x47402B20)); // TXGCR25 Section 16.4.5.104
    47402B28 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387688, HWREG(0x47402B28)); // RXGCR25 Section 16.4.5.105
    47402B2C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387692, HWREG(0x47402B2C)); // RXHPCRA25 Section 16.4.5.106
    47402B30 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387696, HWREG(0x47402B30)); // RXHPCRB25 Section 16.4.5.107
    47402B40 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387712, HWREG(0x47402B40)); // TXGCR26 Section 16.4.5.108
    47402B48 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387720, HWREG(0x47402B48)); // RXGCR26 Section 16.4.5.109
    47402B4C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387724, HWREG(0x47402B4C)); // RXHPCRA26 Section 16.4.5.110
    47402B50 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387728, HWREG(0x47402B50)); // RXHPCRB26 Section 16.4.5.111
    47402B60 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387744, HWREG(0x47402B60)); // TXGCR27 Section 16.4.5.112
    47402B68 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387752, HWREG(0x47402B68)); // RXGCR27 Section 16.4.5.113
    47402B6C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387756, HWREG(0x47402B6C)); // RXHPCRA27 Section 16.4.5.114
    47402B70 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387760, HWREG(0x47402B70)); // RXHPCRB27 Section 16.4.5.115
    47402B80 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387776, HWREG(0x47402B80)); // TXGCR28 Section 16.4.5.116
    47402B88 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387784, HWREG(0x47402B88)); // RXGCR28 Section 16.4.5.117
    47402B8C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387788, HWREG(0x47402B8C)); // RXHPCRA28 Section 16.4.5.118
    47402B90 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387792, HWREG(0x47402B90)); // RXHPCRB28 Section 16.4.5.119
    47402BA0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387808, HWREG(0x47402BA0)); // TXGCR29 Section 16.4.5.120
    47402BA8 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387816, HWREG(0x47402BA8)); // RXGCR29 Section 16.4.5.121
    47402BAC 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387820, HWREG(0x47402BAC)); // RXHPCRA29 Section 16.4.5.122
    47402BB0 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 102, 1195387824, HWREG(0x47402BB0)); // RXHPCRB29 Section 16.4.5.123
    47403000 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195388928, HWREG(0x47403000)); // DMA_SCHED_CTRL Section 16.4.6.1
    47403800 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390976, HWREG(0x47403800)); // WORD_0 Section 16.4.6.2
    47403804 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390980, HWREG(0x47403804)); // WORD_1 Section 16.4.6.2
    47403808 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390984, HWREG(0x47403808)); // WORD_2 Section 16.4.6.2
    4740380C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390988, HWREG(0x4740380C)); // WORD_3 Section 16.4.6.2
    47403810 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390992, HWREG(0x47403810)); // WORD_4 Section 16.4.6.2
    47403814 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195390996, HWREG(0x47403814)); // WORD_5 Section 16.4.6.2
    47403818 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391000, HWREG(0x47403818)); // WORD_6 Section 16.4.6.2
    4740381C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391004, HWREG(0x4740381C)); // WORD_7 Section 16.4.6.2
    47403820 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391008, HWREG(0x47403820)); // WORD_8 Section 16.4.6.2
    47403824 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391012, HWREG(0x47403824)); // WORD_9 Section 16.4.6.2
    47403828 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391016, HWREG(0x47403828)); // WORD_10 Section 16.4.6.2
    4740382C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391020, HWREG(0x4740382C)); // WORD_11 Section 16.4.6.2
    47403830 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391024, HWREG(0x47403830)); // WORD_12 Section 16.4.6.2
    47403834 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391028, HWREG(0x47403834)); // WORD_13 Section 16.4.6.2
    47403838 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391032, HWREG(0x47403838)); // WORD_14 Section 16.4.6.2
    4740383C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391036, HWREG(0x4740383C)); // WORD_15 Section 16.4.6.2
    47403840 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391040, HWREG(0x47403840)); // WORD_16 Section 16.4.6.2
    47403844 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391044, HWREG(0x47403844)); // WORD_17 Section 16.4.6.2
    47403848 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391048, HWREG(0x47403848)); // WORD_18 Section 16.4.6.2
    4740384C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391052, HWREG(0x4740384C)); // WORD_19 Section 16.4.6.2
    47403850 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391056, HWREG(0x47403850)); // WORD_20 Section 16.4.6.2
    47403854 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391060, HWREG(0x47403854)); // WORD_21 Section 16.4.6.2
    47403858 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391064, HWREG(0x47403858)); // WORD_22 Section 16.4.6.2
    4740385C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391068, HWREG(0x4740385C)); // WORD_23 Section 16.4.6.2
    47403860 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391072, HWREG(0x47403860)); // WORD_24 Section 16.4.6.2
    47403864 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391076, HWREG(0x47403864)); // WORD_25 Section 16.4.6.2
    47403868 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391080, HWREG(0x47403868)); // WORD_26 Section 16.4.6.2
    4740386C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391084, HWREG(0x4740386C)); // WORD_27 Section 16.4.6.2
    47403870 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391088, HWREG(0x47403870)); // WORD_28 Section 16.4.6.2
    47403874 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391092, HWREG(0x47403874)); // WORD_29 Section 16.4.6.2
    47403878 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391096, HWREG(0x47403878)); // WORD_30 Section 16.4.6.2
    4740387C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391100, HWREG(0x4740387C)); // WORD_31 Section 16.4.6.2
    47403880 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391104, HWREG(0x47403880)); // WORD_32 Section 16.4.6.2
    47403884 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391108, HWREG(0x47403884)); // WORD_33 Section 16.4.6.2
    47403888 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391112, HWREG(0x47403888)); // WORD_34 Section 16.4.6.2
    4740388C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391116, HWREG(0x4740388C)); // WORD_35 Section 16.4.6.2
    47403890 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391120, HWREG(0x47403890)); // WORD_36 Section 16.4.6.2
    47403894 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391124, HWREG(0x47403894)); // WORD_37 Section 16.4.6.2
    47403898 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391128, HWREG(0x47403898)); // WORD_38 Section 16.4.6.2
    4740389C 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391132, HWREG(0x4740389C)); // WORD_39 Section 16.4.6.2
    474038A0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391136, HWREG(0x474038A0)); // WORD_40 Section 16.4.6.2
    474038A4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391140, HWREG(0x474038A4)); // WORD_41 Section 16.4.6.2
    474038A8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391144, HWREG(0x474038A8)); // WORD_42 Section 16.4.6.2
    474038AC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391148, HWREG(0x474038AC)); // WORD_43 Section 16.4.6.2
    474038B0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391152, HWREG(0x474038B0)); // WORD_44 Section 16.4.6.2
    474038B4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391156, HWREG(0x474038B4)); // WORD_45 Section 16.4.6.2
    474038B8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391160, HWREG(0x474038B8)); // WORD_46 Section 16.4.6.2
    474038BC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391164, HWREG(0x474038BC)); // WORD_47 Section 16.4.6.2
    474038C0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391168, HWREG(0x474038C0)); // WORD_48 Section 16.4.6.2
    474038C4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391172, HWREG(0x474038C4)); // WORD_49 Section 16.4.6.2
    474038C8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391176, HWREG(0x474038C8)); // WORD_50 Section 16.4.6.2
    474038CC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391180, HWREG(0x474038CC)); // WORD_51 Section 16.4.6.2
    474038D0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391184, HWREG(0x474038D0)); // WORD_52 Section 16.4.6.2
    474038D4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391188, HWREG(0x474038D4)); // WORD_53 Section 16.4.6.2
    474038D8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391192, HWREG(0x474038D8)); // WORD_54 Section 16.4.6.2
    474038DC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391196, HWREG(0x474038DC)); // WORD_55 Section 16.4.6.2
    474038E0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391200, HWREG(0x474038E0)); // WORD_56 Section 16.4.6.2
    474038E4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391204, HWREG(0x474038E4)); // WORD_57 Section 16.4.6.2
    474038E8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391208, HWREG(0x474038E8)); // WORD_58 Section 16.4.6.2
    474038EC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391212, HWREG(0x474038EC)); // WORD_59 Section 16.4.6.2
    474038F0 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391216, HWREG(0x474038F0)); // WORD_60 Section 16.4.6.2
    474038F4 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391220, HWREG(0x474038F4)); // WORD_61 Section 16.4.6.2
    474038F8 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391224, HWREG(0x474038F8)); // WORD_62 Section 16.4.6.2
    474038FC 80000007 TRUE TRUE TRUE TRUE 80000007 Trace3(100, 103, 1195391228, HWREG(0x474038FC)); // WORD_63 Section 16.4.6.2
    44E00000 02384102 TRUE TRUE TRUE TRUE 02384102 Trace3(100, 104, 1155530752, HWREG(0x44E00000)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00004 0000000A TRUE TRUE TRUE TRUE 0000000A Trace3(100, 104, 1155530756, HWREG(0x44E00004)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0000C 00000016 TRUE TRUE TRUE TRUE 00000016 Trace3(100, 104, 1155530764, HWREG(0x44E0000C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00014 00070000 TRUE TRUE TRUE TRUE 00070000 Trace3(100, 104, 1155530772, HWREG(0x44E00014)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00018 00070000 TRUE TRUE TRUE TRUE 00070000 Trace3(100, 104, 1155530776, HWREG(0x44E00018)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0001C 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530780, HWREG(0x44E0001C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00024 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530788, HWREG(0x44E00024)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00028 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530792, HWREG(0x44E00028)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0002C 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530796, HWREG(0x44E0002C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00030 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530800, HWREG(0x44E00030)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00034 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530804, HWREG(0x44E00034)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00038 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530808, HWREG(0x44E00038)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0003C 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530812, HWREG(0x44E0003C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00040 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530816, HWREG(0x44E00040)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00044 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530820, HWREG(0x44E00044)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00048 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530824, HWREG(0x44E00048)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0004C 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530828, HWREG(0x44E0004C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00050 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530832, HWREG(0x44E00050)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00060 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530848, HWREG(0x44E00060)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00068 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530856, HWREG(0x44E00068)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0006C 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530860, HWREG(0x44E0006C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00070 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530864, HWREG(0x44E00070)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00074 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530868, HWREG(0x44E00074)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00078 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530872, HWREG(0x44E00078)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0007C 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530876, HWREG(0x44E0007C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00080 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530880, HWREG(0x44E00080)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00084 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530884, HWREG(0x44E00084)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00088 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530888, HWREG(0x44E00088)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000AC 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 104, 1155530924, HWREG(0x44E000AC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000B0 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 104, 1155530928, HWREG(0x44E000B0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000B4 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 104, 1155530932, HWREG(0x44E000B4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000BC 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530940, HWREG(0x44E000BC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000C0 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530944, HWREG(0x44E000C0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000C4 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530948, HWREG(0x44E000C4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000CC 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530956, HWREG(0x44E000CC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000D4 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530964, HWREG(0x44E000D4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000D8 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530968, HWREG(0x44E000D8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000DC 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530972, HWREG(0x44E000DC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E0 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155530976, HWREG(0x44E000E0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E4 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 104, 1155530980, HWREG(0x44E000E4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E8 00070000 TRUE TRUE TRUE TRUE 00070000 Trace3(100, 104, 1155530984, HWREG(0x44E000E8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000EC 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530988, HWREG(0x44E000EC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F0 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530992, HWREG(0x44E000F0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F4 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155530996, HWREG(0x44E000F4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F8 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155531000, HWREG(0x44E000F8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000FC 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531004, HWREG(0x44E000FC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00100 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531008, HWREG(0x44E00100)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0010C 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155531020, HWREG(0x44E0010C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00110 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 104, 1155531024, HWREG(0x44E00110)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0011C 0000000A TRUE TRUE TRUE TRUE 0000000A Trace3(100, 104, 1155531036, HWREG(0x44E0011C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00120 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531040, HWREG(0x44E00120)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0012C 00000012 TRUE TRUE TRUE TRUE 00000012 Trace3(100, 104, 1155531052, HWREG(0x44E0012C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00130 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 104, 1155531056, HWREG(0x44E00130)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00140 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531072, HWREG(0x44E00140)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00144 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531076, HWREG(0x44E00144)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00148 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531080, HWREG(0x44E00148)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0014C 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 104, 1155531084, HWREG(0x44E0014C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00150 00000012 TRUE TRUE TRUE TRUE 00000012 Trace3(100, 104, 1155531088, HWREG(0x44E00150)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00400 00005716 TRUE TRUE TRUE TRUE 00005716 Trace3(100, 105, 1155531776, HWREG(0x44E00400)); // CM_WKUP_CLKSTCTRL Section 8.1.12.2.1
    44E00404 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531780, HWREG(0x44E00404)); // CM_WKUP_CONTROL_CLKCTRL Section 8.1.12.2.2
    44E00408 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 105, 1155531784, HWREG(0x44E00408)); // CM_WKUP_GPIO0_CLKCTRL Section 8.1.12.2.3
    44E0040C 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531788, HWREG(0x44E0040C)); // CM_WKUP_L4WKUP_CLKCTRL Section 8.1.12.2.4
    44E00410 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531792, HWREG(0x44E00410)); // CM_WKUP_TIMER0_CLKCTRL Section 8.1.12.2.5
    44E00414 52580002 TRUE TRUE TRUE TRUE 52580002 Trace3(100, 105, 1155531796, HWREG(0x44E00414)); // CM_WKUP_DEBUGSS_CLKCTRL Section 8.1.12.2.6
    44E00418 0000001E TRUE TRUE TRUE TRUE 0000001E Trace3(100, 105, 1155531800, HWREG(0x44E00418)); // CM_L3_AON_CLKSTCTRL Section 8.1.12.2.7
    44E0041C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531804, HWREG(0x44E0041C)); // CM_AUTOIDLE_DPLL_MPU Section 8.1.12.2.8
    44E00420 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 105, 1155531808, HWREG(0x44E00420)); // CM_IDLEST_DPLL_MPU Section 8.1.12.2.9
    44E00424 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531812, HWREG(0x44E00424)); // CM_SSC_DELTAMSTEP_DPLL_MPU Section 8.1.12.2.10
    44E00428 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531816, HWREG(0x44E00428)); // CM-SSC_MODFREQDIV_DPLL_MPU Section 8.1.12.2.11
    44E0042C 00025818 TRUE TRUE TRUE TRUE 00025818 Trace3(100, 105, 1155531820, HWREG(0x44E0042C)); // CM_CLKSEL_DPLL_MPU Section 8.1.12.2.12
    44E00430 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531824, HWREG(0x44E00430)); // CM_AUTOIDLE_DPLL_DDR Section 8.1.12.2.13
    44E00434 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 105, 1155531828, HWREG(0x44E00434)); // CM_IDLEST_DPLL_DDR Section 8.1.12.2.14
    44E00438 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531832, HWREG(0x44E00438)); // CM_SSC_DELTAMSTEP_DPLL_DDR Section 8.1.12.2.15
    44E0043C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531836, HWREG(0x44E0043C)); // CM_SSC_MODFREQDIV_DPLL_DDR Section 8.1.12.2.16
    44E00440 00010918 TRUE TRUE TRUE TRUE 00010918 Trace3(100, 105, 1155531840, HWREG(0x44E00440)); // CM_CLKSEL_DPLL_DDR Section 8.1.12.2.17
    44E00444 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531844, HWREG(0x44E00444)); // CM_AUTOIDLE_DPLL_DISP Section 8.1.12.2.18
    44E00448 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 105, 1155531848, HWREG(0x44E00448)); // CM_IDLEST_DPLL_DISP Section 8.1.12.2.19
    44E0044C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531852, HWREG(0x44E0044C)); // CM_SSC_DELTAMSTEP_DPLL_DISP Section 8.1.12.2.20
    44E00450 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531856, HWREG(0x44E00450)); // CM_SSC_MODFREQDIV_DPLL_DISP Section 8.1.12.2.21
    44E00454 00003018 TRUE TRUE TRUE TRUE 00003018 Trace3(100, 105, 1155531860, HWREG(0x44E00454)); // CM_CLKSEL_DPLL_DISP Section 8.1.12.2.22
    44E00458 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531864, HWREG(0x44E00458)); // CM_AUTOIDLE_DPLL_CORE Section 8.1.12.2.23
    44E0045C 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 105, 1155531868, HWREG(0x44E0045C)); // CM_IDLEST_DPLL_CORE Section 8.1.12.2.24
    44E00460 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531872, HWREG(0x44E00460)); // CM_SSC_DELTAMSTEP_DPLL_CORE Section 8.1.12.2.25
    44E00464 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531876, HWREG(0x44E00464)); // CM_SSC_MODFREQDIV_DPLL_CORE Section 8.1.12.2.26
    44E00468 0003E818 TRUE TRUE TRUE TRUE 0003E818 Trace3(100, 105, 1155531880, HWREG(0x44E00468)); // CM_CLKSEL_DPLL_CORE Section 8.1.12.2.27
    44E0046C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531884, HWREG(0x44E0046C)); // CM_AUTOIDLE_DPLL_PER Section 8.1.12.2.28
    44E00470 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 105, 1155531888, HWREG(0x44E00470)); // CM_IDLEST_DPLL_PER Section 8.1.12.2.29
    44E00474 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531892, HWREG(0x44E00474)); // CM_SSC_DELTAMSTEP_DPLL_PER Section 8.1.12.2.30
    44E00478 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 105, 1155531896, HWREG(0x44E00478)); // CM_SSC_MODFREQDIV_DPLL_PER Section 8.1.12.2.31
    44E0047C 00000300 TRUE TRUE TRUE TRUE 00000300 Trace3(100, 105, 1155531900, HWREG(0x44E0047C)); // CM_CLKDCOLDO_DPLL_PER Section 8.1.12.2.32
    44E00480 0000022A TRUE TRUE TRUE TRUE 0000022A Trace3(100, 105, 1155531904, HWREG(0x44E00480)); // CM_DIV_M4_DPLL_CORE Section 8.1.12.2.33
    44E00484 00000028 TRUE TRUE TRUE TRUE 00000028 Trace3(100, 105, 1155531908, HWREG(0x44E00484)); // CM_DIV_M5_DPLL_CORE Section 8.1.12.2.34
    44E00488 00000007 TRUE TRUE TRUE TRUE 00000007 Trace3(100, 105, 1155531912, HWREG(0x44E00488)); // CM_CLKMODE_DPLL_MPU Section 8.1.12.2.35
    44E0048C 00000007 TRUE TRUE TRUE TRUE 00000007 Trace3(100, 105, 1155531916, HWREG(0x44E0048C)); // CM_CLKMODE_DPLL_PER Section 8.1.12.2.36
    44E00490 00000007 TRUE TRUE TRUE TRUE 00000007 Trace3(100, 105, 1155531920, HWREG(0x44E00490)); // CM_CLKMODE_DPLL_CORE Section 8.1.12.2.37
    44E00494 00000007 TRUE TRUE TRUE TRUE 00000007 Trace3(100, 105, 1155531924, HWREG(0x44E00494)); // CM_CLKMODE_DPLL_DDR Section 8.1.12.2.38
    44E00498 00000007 TRUE TRUE TRUE TRUE 00000007 Trace3(100, 105, 1155531928, HWREG(0x44E00498)); // CM_CLKMODE_DPLL_DISP Section 8.1.12.2.39
    44E0049C 0403C018 TRUE TRUE TRUE TRUE 0403C018 Trace3(100, 105, 1155531932, HWREG(0x44E0049C)); // CM_CLKSEL_DPLL_PERIP Section 8.1.12.2.40
    44E004A0 00000201 TRUE TRUE TRUE TRUE 00000201 Trace3(100, 105, 1155531936, HWREG(0x44E004A0)); // CM_DIV_M2_DPLL_DDR Section 8.1.12.2.41
    44E004A4 00000301 TRUE TRUE TRUE TRUE 00000301 Trace3(100, 105, 1155531940, HWREG(0x44E004A4)); // CM_DIV_M2_DPLL_DISP Section 8.1.12.2.42
    44E004A8 00000201 TRUE TRUE TRUE TRUE 00000201 Trace3(100, 105, 1155531944, HWREG(0x44E004A8)); // CM_DIV_M2_DPLL_MPU Section 8.1.12.2.43
    44E004AC 00000385 TRUE TRUE TRUE TRUE 00000385 Trace3(100, 105, 1155531948, HWREG(0x44E004AC)); // CM_DIV_M2_DPLL_PER Section 8.1.12.2.44
    44E004B0 00040002 TRUE TRUE TRUE TRUE 00040002 Trace3(100, 105, 1155531952, HWREG(0x44E004B0)); // CM_WKUP_WKUP_M3_CLKCTRL Section 8.1.12.2.45
    44E004B4 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531956, HWREG(0x44E004B4)); // CM_WKUP_UART0_CLKCTRL Section 8.1.12.2.46
    44E004B8 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 105, 1155531960, HWREG(0x44E004B8)); // CM_WKUP_I2C0_CLKCTRL Section 8.1.12.2.47
    44E004BC 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531964, HWREG(0x44E004BC)); // CM_WKUP_ADC_TSC_CLKCTRL Section 8.1.12.2.48
    44E004C0 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 105, 1155531968, HWREG(0x44E004C0)); // CM_WKUP_SMARTREFLEX0_CLKCT Section RL 8.1.12.2.49
    44E004C4 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 105, 1155531972, HWREG(0x44E004C4)); // CM_WKUP_TIMER1_CLKCTRL Section 8.1.12.2.50
    44E004C8 00030000 TRUE TRUE TRUE TRUE 00030000 Trace3(100, 105, 1155531976, HWREG(0x44E004C8)); // CM_WKUP_SMARTREFLEX1_CLKCT Section RL 8.1.12.2.51
    44E004CC 00000006 TRUE TRUE TRUE TRUE 00000006 Trace3(100, 105, 1155531980, HWREG(0x44E004CC)); // CM_L4_WKUP_AON_CLKSTCTRL Section 8.1.12.2.52
    44E004D4 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 105, 1155531988, HWREG(0x44E004D4)); // CM_WKUP_WDT1_CLKCTRL Section 8.1.12.2.53
    44E004D8 00000004 TRUE TRUE TRUE TRUE 00000004 Trace3(100, 105, 1155531992, HWREG(0x44E004D8)); // CM_DIV_M6_DPLL_CORE Section 8.1.12.2.54
    44E00504 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 106, 1155532036, HWREG(0x44E00504)); // CLKSEL_TIMER7_CLK Selects the Mux select line for TIMER7 clock Section 8.1.12.3.1 [warm reset insensitive]
    44E00508 00000002 TRUE TRUE TRUE TRUE 00000002 Trace3(100, 106, 1155532040, HWREG(0x44E00508)); // CLKSEL_TIMER2_CLK Selects the Mux select line for TIMER2 clock Section 8.1.12.3.2 [warm reset insensitive]
    44E0050C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532044, HWREG(0x44E0050C)); // CLKSEL_TIMER3_CLK Selects the Mux select line for TIMER3 clock Section 8.1.12.3.3 [warm reset insensitive]
    44E00510 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 106, 1155532048, HWREG(0x44E00510)); // CLKSEL_TIMER4_CLK Selects the Mux select line for TIMER4 clock Section 8.1.12.3.4 [warm reset insensitive]
    44E00514 00000004 TRUE TRUE TRUE TRUE 00000004 Trace3(100, 106, 1155532052, HWREG(0x44E00514)); // CM_MAC_CLKSEL Selects the clock divide ration for MII clock reset Section 8.1.12.3.5 [warm reset insensitive]
    44E00518 00000001 TRUE TRUE TRUE TRUE 00000001 Trace3(100, 106, 1155532056, HWREG(0x44E00518)); // CLKSEL_TIMER5_CLK Selects the Mux select line for TIMER5 clock Section 8.1.12.3.6 [warm reset insensitive]
    44E0051C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532060, HWREG(0x44E0051C)); // CLKSEL_TIMER6_CLK Selects the Mux select line for TIMER6 clock Section 8.1.12.3.7 [warm reset insensitive]
    44E00520 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532064, HWREG(0x44E00520)); // CM_CPTS_RFT_CLKSEL Selects the Mux select line for CPTS RFT clock Section 8.1.12.3.8 [warm reset insensitive]
    44E00528 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532072, HWREG(0x44E00528)); // CLKSEL_TIMER1MS_CLK Selects the Mux select line for TIMER1 clock Section 8.1.12.3.9 [warm reset insensitive]
    44E0052C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532076, HWREG(0x44E0052C)); // CLKSEL_GFX_FCLK Selects the divider value for GFX clock reset Section 8.1.12.3.10 [warm reset insensitive]
    44E00530 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532080, HWREG(0x44E00530)); // CLKSEL_PRU_ICSS_OCP_CLK Controls the Mux select line for PRU-ICSS OCP clock Section 8.1.12.3.11 [warm reset insensitive]
    44E00534 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532084, HWREG(0x44E00534)); // CLKSEL_LCDC_PIXEL_CLK Controls the Mux select line for LCDC PIXEL clock Section 8.1.12.3.12 [warm reset insensitive]
    44E00538 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532088, HWREG(0x44E00538)); // CLKSEL_WDT1_CLK Selects the Mux select line for Watchdog1 clock Section 8.1.12.3.13 [warm reset insensitive]
    44E0053C 00000000 TRUE TRUE TRUE TRUE 00000000 Trace3(100, 106, 1155532092, HWREG(0x44E0053C)); // CLKSEL_GPIO0_DBCLK Selects the Mux select line for GPIO0 debounce clock Section 8.1.12.3.14 [warm reset insensitive]
    47400000 4EA2080D     TRUE TRUE 4EA2080D Trace3(100, 100, 1195376640, HWREG(0x47400000)); // REVREG Section 16.4.1.1
    47400010 00000028 TRUE TRUE 00000028 Trace3(100, 100, 1195376656, HWREG(0x47400010)); // SYSCONFIG Section 16.4.1.2
    47400024 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376676, HWREG(0x47400024)); // IRQSTATRAW Section 16.4.1.3
    47400028 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376680, HWREG(0x47400028)); // IRQSTAT Section 16.4.1.4
    4740002C 00000F07 TRUE TRUE 00000F07 Trace3(100, 100, 1195376684, HWREG(0x4740002C)); // IRQENABLER Section 16.4.1.5
    47400030 00000F07 TRUE TRUE 00000F07 Trace3(100, 100, 1195376688, HWREG(0x47400030)); // IRQCLEARR Section 16.4.1.6
    47400100 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376896, HWREG(0x47400100)); // IRQDMATHOLDTX00 Section 16.4.1.7
    47400104 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376900, HWREG(0x47400104)); // IRQDMATHOLDTX01 Section 16.4.1.8
    47400108 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376904, HWREG(0x47400108)); // IRQDMATHOLDTX02 Section 16.4.1.9
    4740010C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376908, HWREG(0x4740010C)); // IRQDMATHOLDTX03 Section 16.4.1.10
    47400110 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376912, HWREG(0x47400110)); // IRQDMATHOLDRX00 Section 16.4.1.11
    47400114 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376916, HWREG(0x47400114)); // IRQDMATHOLDRX01 Section 16.4.1.12
    47400118 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376920, HWREG(0x47400118)); // IRQDMATHOLDRX02 Section 16.4.1.13
    4740011C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376924, HWREG(0x4740011C)); // IRQDMATHOLDRX03 Section 16.4.1.14
    47400120 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376928, HWREG(0x47400120)); // IRQDMATHOLDTX10 Section 16.4.1.15
    47400124 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376932, HWREG(0x47400124)); // IRQDMATHOLDTX11 Section 16.4.1.16
    47400128 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376936, HWREG(0x47400128)); // IRQDMATHOLDTX12 Section 16.4.1.17
    4740012C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376940, HWREG(0x4740012C)); // IRQDMATHOLDTX13 Section 16.4.1.18
    47400130 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376944, HWREG(0x47400130)); // IRQDMATHOLDRX10 Section 16.4.1.19
    47400134 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376948, HWREG(0x47400134)); // IRQDMATHOLDRX11 Section 16.4.1.20
    47400138 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376952, HWREG(0x47400138)); // IRQDMATHOLDRX12 Section 16.4.1.21
    4740013C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376956, HWREG(0x4740013C)); // IRQDMATHOLDRX13 Section 16.4.1.22
    47400140 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376960, HWREG(0x47400140)); // IRQDMAENABLE0 Section 16.4.1.23
    47400144 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195376964, HWREG(0x47400144)); // IRQDMAENABLE1 Section 16.4.1.24
    47400200 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377152, HWREG(0x47400200)); // IRQFRAMETHOLDTX00 Section 16.4.1.25
    47400204 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377156, HWREG(0x47400204)); // IRQFRAMETHOLDTX01 Section 16.4.1.26
    47400208 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377160, HWREG(0x47400208)); // IRQFRAMETHOLDTX02 Section 16.4.1.27
    4740020C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377164, HWREG(0x4740020C)); // IRQFRAMETHOLDTX03 Section 16.4.1.28
    47400210 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377168, HWREG(0x47400210)); // IRQFRAMETHOLDRX00 Section 16.4.1.29
    47400214 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377172, HWREG(0x47400214)); // IRQFRAMETHOLDRX01 Section 16.4.1.30
    47400218 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377176, HWREG(0x47400218)); // IRQFRAMETHOLDRX02 Section 16.4.1.31
    4740021C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377180, HWREG(0x4740021C)); // IRQFRAMETHOLDRX03 Section 16.4.1.32
    47400220 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377184, HWREG(0x47400220)); // IRQFRAMETHOLDTX10 Section 16.4.1.33
    47400224 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377188, HWREG(0x47400224)); // IRQFRAMETHOLDTX11 Section 16.4.1.34
    47400228 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377192, HWREG(0x47400228)); // IRQFRAMETHOLDTX12 Section 16.4.1.35
    4740022C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377196, HWREG(0x4740022C)); // IRQFRAMETHOLDTX13 Section 16.4.1.36
    47400230 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377200, HWREG(0x47400230)); // IRQFRAMETHOLDRX10 Section 16.4.1.37
    47400234 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377204, HWREG(0x47400234)); // IRQFRAMETHOLDRX11 Section 16.4.1.38
    47400238 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377208, HWREG(0x47400238)); // IRQFRAMETHOLDRX12 Section 16.4.1.39
    4740023C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377212, HWREG(0x4740023C)); // IRQFRAMETHOLDRX13 Section 16.4.1.40
    47400240 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377216, HWREG(0x47400240)); // IRQFRAMEENABLE0 Section 16.4.1.41
    47400244 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195377220, HWREG(0x47400244)); // IRQFRAMEENABLE1 Section 16.4.1.42
    47401000 4EA20800 TRUE TRUE 4EA20800 Trace3(100, 100, 1195380736, HWREG(0x47401000)); // USB0REV Section 16.4.2.1
    47401014 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380756, HWREG(0x47401014)); // USB0CTRL Section 16.4.2.2
    47401018 00000002 TRUE TRUE 00000002 Trace3(100, 100, 1195380760, HWREG(0x47401018)); // USB0STAT Section 16.4.2.3
    47401020 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380768, HWREG(0x47401020)); // USB0IRQMSTAT Section 16.4.2.4
    47401028 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380776, HWREG(0x47401028)); // USB0IRQSTATRAW0 Section 16.4.2.5
    4740102C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380780, HWREG(0x4740102C)); // USB0IRQSTATRAW1 Section 16.4.2.6
    47401030 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380784, HWREG(0x47401030)); // USB0IRQSTAT0 Section 16.4.2.7
    47401034 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380788, HWREG(0x47401034)); // USB0IRQSTAT1 Section 16.4.2.8
    47401038 FFFEFFFF TRUE TRUE FFFEFFFF Trace3(100, 100, 1195380792, HWREG(0x47401038)); // USB0IRQENABLESET0 Section 16.4.2.9
    4740103C FFFF03FF TRUE TRUE FFFF03FF Trace3(100, 100, 1195380796, HWREG(0x4740103C)); // USB0IRQENABLESET1 Section 16.4.2.10
    47401040 FFFEFFFF TRUE TRUE FFFEFFFF Trace3(100, 100, 1195380800, HWREG(0x47401040)); // USB0IRQENABLECLR0 Section 16.4.2.11
    47401044 FFFF03FF TRUE TRUE FFFF03FF Trace3(100, 100, 1195380804, HWREG(0x47401044)); // USB0IRQENABLECLR1 Section 16.4.2.12
    47401070 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380848, HWREG(0x47401070)); // USB0TXMODE Section 16.4.2.13
    47401074 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380852, HWREG(0x47401074)); // USB0RXMODE Section 16.4.2.14
    47401080 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380864, HWREG(0x47401080)); // USB0GENRNDISEP1 Section 16.4.2.15
    47401084 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380868, HWREG(0x47401084)); // USB0GENRNDISEP2 Section 16.4.2.16
    47401088 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380872, HWREG(0x47401088)); // USB0GENRNDISEP3 Section 16.4.2.17
    4740108C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380876, HWREG(0x4740108C)); // USB0GENRNDISEP4 Section 16.4.2.18
    47401090 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380880, HWREG(0x47401090)); // USB0GENRNDISEP5 Section 16.4.2.19
    47401094 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380884, HWREG(0x47401094)); // USB0GENRNDISEP6 Section 16.4.2.20
    47401098 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380888, HWREG(0x47401098)); // USB0GENRNDISEP7 Section 16.4.2.21
    4740109C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380892, HWREG(0x4740109C)); // USB0GENRNDISEP8 Section 16.4.2.22
    474010A0 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380896, HWREG(0x474010A0)); // USB0GENRNDISEP9 Section 16.4.2.23
    474010A4 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380900, HWREG(0x474010A4)); // USB0GENRNDISEP10 Section 16.4.2.24
    474010A8 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380904, HWREG(0x474010A8)); // USB0GENRNDISEP11 Section 16.4.2.25
    474010AC 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380908, HWREG(0x474010AC)); // USB0GENRNDISEP12 Section 16.4.2.26
    474010B0 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380912, HWREG(0x474010B0)); // USB0GENRNDISEP13 Section 16.4.2.27
    474010B4 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380916, HWREG(0x474010B4)); // USB0GENRNDISEP14 Section 16.4.2.28
    474010B8 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380920, HWREG(0x474010B8)); // USB0GENRNDISEP15 Section 16.4.2.29
    474010D0 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380944, HWREG(0x474010D0)); // USB0AUTOREQ Section 16.4.2.30
    474010D4 0280DE80 TRUE TRUE 0280DE80 Trace3(100, 100, 1195380948, HWREG(0x474010D4)); // USB0SRPFIXTIME Section 16.4.2.31
    474010D8 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195380952, HWREG(0x474010D8)); // USB0_TDOWN Section 16.4.2.32
    474010E0 00200002 TRUE TRUE 00200002 Trace3(100, 100, 1195380960, HWREG(0x474010E0)); // USB0UTMI Section 16.4.2.33
    474010E4 10020104 TRUE TRUE 10020104 Trace3(100, 100, 1195380964, HWREG(0x474010E4)); // USB0MGCUTMILB Section 16.4.2.34
    474010E8 00000180 TRUE TRUE 00000180 Trace3(100, 100, 1195380968, HWREG(0x474010E8)); // USB0MODE Section 16.4.2.35
    47401800 4EA20800 TRUE TRUE 4EA20800 Trace3(100, 100, 1195382784, HWREG(0x47401800)); // USB1REV Section 16.4.3.1
    47401814 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382804, HWREG(0x47401814)); // USB1CTRL Section 16.4.3.2
    47401818 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382808, HWREG(0x47401818)); // USB1STAT Section 16.4.3.3
    47401820 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382816, HWREG(0x47401820)); // USB1IRQMSTAT Section 16.4.3.4
    47401828 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382824, HWREG(0x47401828)); // USB1IRQSTATRAW0 Section 16.4.3.5
    4740182C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382828, HWREG(0x4740182C)); // USB1IRQSTATRAW1 Section 16.4.3.6
    47401830 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382832, HWREG(0x47401830)); // USB1IRQSTAT0 Section 16.4.3.7
    47401834 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382836, HWREG(0x47401834)); // USB1IRQSTAT1 Section 16.4.3.8
    47401838 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382840, HWREG(0x47401838)); // USB1IRQENABLESET0 Section 16.4.3.9
    4740183C 00000000 TRUE TRUE 00000000 Trace3(100, 100, 1195382844, HWREG(0x4740183C)); // USB1IRQENABLESET1 Section 16.4.3.10
    47401300 110F483E     FALSE FALSE 110F4C38 Trace3(100, 101, 1195381504, HWREG(0x47401300)); // Termination_control Section 16.4.4.1 Bit 10 cleared, Bit 2-1 set.  Bit 10=RTERM_COMP_OUT, Bits 6-0=RTERM_CAL.  Seem to be OK
    47401304 00519A6E TRUE TRUE 00519A6E Trace3(100, 101, 1195381508, HWREG(0x47401304)); // RX_CALIB Section 16.4.4.2 Bit 3 cleared.  3=SQ_OFF_CODE_DAC3
    47401308 0000001F TRUE TRUE 0000001F Trace3(100, 101, 1195381512, HWREG(0x47401308)); // DLLHS_2 Section 16.4.4.3
    4740130C 00000014 TRUE FALSE 00000014 Trace3(100, 101, 1195381516, HWREG(0x4740130C)); // RX_TEST_2 Section 16.4.4.4
    47401314 10000000 TRUE TRUE 10000000 Trace3(100, 101, 1195381524, HWREG(0x47401314)); // CHRG_DET Section 16.4.4.5
    47401318 F0400040 TRUE TRUE F0400040 Trace3(100, 101, 1195381528, HWREG(0x47401318)); // PWR_CNTL Section 16.4.4.6
    4740131C 00000000 TRUE TRUE 00000000 Trace3(100, 101, 1195381532, HWREG(0x4740131C)); // UTMI_INTERFACE_CNTL_1 Section 16.4.4.7
    47401320 00100000 TRUE TRUE 00100000 Trace3(100, 101, 1195381536, HWREG(0x47401320)); // UTMI_INTERFACE_CNTL_2 Section 16.4.4.8
    47401324 00000000 TRUE TRUE 00000000 Trace3(100, 101, 1195381540, HWREG(0x47401324)); // BIST Section 16.4.4.9
    47401328 FFFFFFFF TRUE TRUE FFFFFFFF Trace3(100, 101, 1195381544, HWREG(0x47401328)); // BIST_CRC Section 16.4.4.10
    4740132C 00000000 TRUE TRUE 00000000 Trace3(100, 101, 1195381548, HWREG(0x4740132C)); // CDR_BIST2 Section 16.4.4.11
    47401330 20040000 TRUE TRUE 20040000 Trace3(100, 101, 1195381552, HWREG(0x47401330)); // GPIO Section 16.4.4.12
    47401334 16C08000     FALSE TRUE 17008000 Trace3(100, 101, 1195381556, HWREG(0x47401334)); // DLLHS Section 16.4.4.13 Bit 24 cleared.  Bits 27-22=DLLHS_GENERATED_CODE.  Suspect, matches the value that is in the register once all transfers have been completed
    4740133C 00000003 TRUE TRUE 00000003 Trace3(100, 101, 1195381564, HWREG(0x4740133C)); // USB2PHYCM_CONFIG Section 16.4.4.14
    47401344 6A1A4041 TRUE TRUE 6A1A4041 Trace3(100, 101, 1195381572, HWREG(0x47401344)); // AD_INTERFACE_REG1 Section 16.4.4.15
    47401348 00080081 TRUE TRUE 00080081 Trace3(100, 101, 1195381576, HWREG(0x47401348)); // AD_INTERFACE_REG2 Section 16.4.4.16
    4740134C 00040000 TRUE FALSE 00040000 Trace3(100, 101, 1195381580, HWREG(0x4740134C)); // AD_INTERFACE_REG3 Section 16.4.4.17
    47401354 00000000 TRUE TRUE 00000000 Trace3(100, 101, 1195381588, HWREG(0x47401354)); // ANA_CONFIG2 Section 16.4.4.18
    47402000 00530901 TRUE TRUE 00530901 Trace3(100, 102, 1195384832, HWREG(0x47402000)); // DMAREVID Section 16.4.5.1
    47402004 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195384836, HWREG(0x47402004)); // TDFDQ Section 16.4.5.2
    47402008 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195384840, HWREG(0x47402008)); // DMAEMU Section 16.4.5.3
    47402800 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386880, HWREG(0x47402800)); // TXGCR0 Section 16.4.5.4
    47402808 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386888, HWREG(0x47402808)); // RXGCR0 Section 16.4.5.5
    4740280C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386892, HWREG(0x4740280C)); // RXHPCRA0 Section 16.4.5.6
    47402810 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386896, HWREG(0x47402810)); // RXHPCRB0 Section 16.4.5.7
    47402820 80000000 TRUE TRUE 80000000 Trace3(100, 102, 1195386912, HWREG(0x47402820)); // TXGCR1 Section 16.4.5.8
    47402828 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386920, HWREG(0x47402828)); // RXGCR1 Section 16.4.5.9
    4740282C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386924, HWREG(0x4740282C)); // RXHPCRA1 Section 16.4.5.10
    47402830 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386928, HWREG(0x47402830)); // RXHPCRB1 Section 16.4.5.11
    47402840 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386944, HWREG(0x47402840)); // TXGCR2 Section 16.4.5.12
    47402848 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386952, HWREG(0x47402848)); // RXGCR2 Section 16.4.5.13
    4740284C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386956, HWREG(0x4740284C)); // RXHPCRA2 Section 16.4.5.14
    47402850 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386960, HWREG(0x47402850)); // RXHPCRB2 Section 16.4.5.15
    47402860 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386976, HWREG(0x47402860)); // TXGCR3 Section 16.4.5.16
    47402868 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386984, HWREG(0x47402868)); // RXGCR3 Section 16.4.5.17
    4740286C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386988, HWREG(0x4740286C)); // RXHPCRA3 Section 16.4.5.18
    47402870 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195386992, HWREG(0x47402870)); // RXHPCRB3 Section 16.4.5.19
    47402880 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387008, HWREG(0x47402880)); // TXGCR4 Section 16.4.5.20
    47402888 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387016, HWREG(0x47402888)); // RXGCR4 Section 16.4.5.21
    4740288C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387020, HWREG(0x4740288C)); // RXHPCRA4 Section 16.4.5.22
    47402890 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387024, HWREG(0x47402890)); // RXHPCRB4 Section 16.4.5.23
    474028A0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387040, HWREG(0x474028A0)); // TXGCR5 Section 16.4.5.24
    474028A8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387048, HWREG(0x474028A8)); // RXGCR5 Section 16.4.5.25
    474028AC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387052, HWREG(0x474028AC)); // RXHPCRA5 Section 16.4.5.26
    474028B0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387056, HWREG(0x474028B0)); // RXHPCRB5 Section 16.4.5.27
    474028C0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387072, HWREG(0x474028C0)); // TXGCR6 Section 16.4.5.28
    474028C8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387080, HWREG(0x474028C8)); // RXGCR6 Section 16.4.5.29
    474028CC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387084, HWREG(0x474028CC)); // RXHPCRA6 Section 16.4.5.30
    474028D0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387088, HWREG(0x474028D0)); // RXHPCRB6 Section 16.4.5.31
    474028E0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387104, HWREG(0x474028E0)); // TXGCR7 Section 16.4.5.32
    474028E8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387112, HWREG(0x474028E8)); // RXGCR7 Section 16.4.5.33
    474028EC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387116, HWREG(0x474028EC)); // RXHPCRA7 Section 16.4.5.34
    474028F0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387120, HWREG(0x474028F0)); // RXHPCRB7 Section 16.4.5.35
    47402900 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387136, HWREG(0x47402900)); // TXGCR8 Section 16.4.5.36
    47402908 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387144, HWREG(0x47402908)); // RXGCR8 Section 16.4.5.37
    4740290C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387148, HWREG(0x4740290C)); // RXHPCRA8 Section 16.4.5.38
    47402910 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387152, HWREG(0x47402910)); // RXHPCRB8 Section 16.4.5.39
    47402920 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387168, HWREG(0x47402920)); // TXGCR9 Section 16.4.5.40
    47402928 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387176, HWREG(0x47402928)); // RXGCR9 Section 16.4.5.41
    4740292C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387180, HWREG(0x4740292C)); // RXHPCRA9 Section 16.4.5.42
    47402930 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387184, HWREG(0x47402930)); // RXHPCRB9 Section 16.4.5.43
    47402940 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387200, HWREG(0x47402940)); // TXGCR10 Section 16.4.5.44
    47402948 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387208, HWREG(0x47402948)); // RXGCR10 Section 16.4.5.45
    4740294C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387212, HWREG(0x4740294C)); // RXHPCRA10 Section 16.4.5.46
    47402950 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387216, HWREG(0x47402950)); // RXHPCRB10 Section 16.4.5.47
    47402960 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387232, HWREG(0x47402960)); // TXGCR11 Section 16.4.5.48
    47402968 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387240, HWREG(0x47402968)); // RXGCR11 Section 16.4.5.49
    4740296C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387244, HWREG(0x4740296C)); // RXHPCRA11 Section 16.4.5.50
    47402970 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387248, HWREG(0x47402970)); // RXHPCRB11 Section 16.4.5.51
    47402980 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387264, HWREG(0x47402980)); // TXGCR12 Section 16.4.5.52
    47402988 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387272, HWREG(0x47402988)); // RXGCR12 Section 16.4.5.53
    4740298C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387276, HWREG(0x4740298C)); // RXHPCRA12 Section 16.4.5.54
    47402990 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387280, HWREG(0x47402990)); // RXHPCRB12 Section 16.4.5.55
    474029A0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387296, HWREG(0x474029A0)); // TXGCR13 Section 16.4.5.56
    474029A8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387304, HWREG(0x474029A8)); // RXGCR13 Section 16.4.5.57
    474029AC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387308, HWREG(0x474029AC)); // RXHPCRA13 Section 16.4.5.58
    474029B0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387312, HWREG(0x474029B0)); // RXHPCRB13 Section 16.4.5.59
    474029C0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387328, HWREG(0x474029C0)); // TXGCR14 Section 16.4.5.60
    474029C8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387336, HWREG(0x474029C8)); // RXGCR14 Section 16.4.5.61
    474029CC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387340, HWREG(0x474029CC)); // RXHPCRA14 Section 16.4.5.62
    474029D0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387344, HWREG(0x474029D0)); // RXHPCRB14 Section 16.4.5.63
    474029E0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387360, HWREG(0x474029E0)); // TXGCR15 Section 16.4.5.64
    474029E8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387368, HWREG(0x474029E8)); // RXGCR15 Section 16.4.5.65
    474029EC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387372, HWREG(0x474029EC)); // RXHPCRA15 Section 16.4.5.66
    474029F0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387376, HWREG(0x474029F0)); // RXHPCRB15 Section 16.4.5.67
    47402A00 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387392, HWREG(0x47402A00)); // TXGCR16 Section 16.4.5.68
    47402A08 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387400, HWREG(0x47402A08)); // RXGCR16 Section 16.4.5.69
    47402A0C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387404, HWREG(0x47402A0C)); // RXHPCRA16 Section 16.4.5.70
    47402A10 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387408, HWREG(0x47402A10)); // RXHPCRB16 Section 16.4.5.71
    47402A20 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387424, HWREG(0x47402A20)); // TXGCR17 Section 16.4.5.72
    47402A28 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387432, HWREG(0x47402A28)); // RXGCR17 Section 16.4.5.73
    47402A2C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387436, HWREG(0x47402A2C)); // RXHPCRA17 Section 16.4.5.74
    47402A30 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387440, HWREG(0x47402A30)); // RXHPCRB17 Section 16.4.5.75
    47402A40 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387456, HWREG(0x47402A40)); // TXGCR18 Section 16.4.5.76
    47402A48 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387464, HWREG(0x47402A48)); // RXGCR18 Section 16.4.5.77
    47402A4C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387468, HWREG(0x47402A4C)); // RXHPCRA18 Section 16.4.5.78
    47402A50 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387472, HWREG(0x47402A50)); // RXHPCRB18 Section 16.4.5.79
    47402A60 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387488, HWREG(0x47402A60)); // TXGCR19 Section 16.4.5.80
    47402A68 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387496, HWREG(0x47402A68)); // RXGCR19 Section 16.4.5.81
    47402A6C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387500, HWREG(0x47402A6C)); // RXHPCRA19 Section 16.4.5.82
    47402A70 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387504, HWREG(0x47402A70)); // RXHPCRB19 Section 16.4.5.83
    47402A80 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387520, HWREG(0x47402A80)); // TXGCR20 Section 16.4.5.84
    47402A88 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387528, HWREG(0x47402A88)); // RXGCR20 Section 16.4.5.85
    47402A8C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387532, HWREG(0x47402A8C)); // RXHPCRA20 Section 16.4.5.86
    47402A90 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387536, HWREG(0x47402A90)); // RXHPCRB20 Section 16.4.5.87
    47402AA0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387552, HWREG(0x47402AA0)); // TXGCR21 Section 16.4.5.88
    47402AA8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387560, HWREG(0x47402AA8)); // RXGCR21 Section 16.4.5.89
    47402AAC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387564, HWREG(0x47402AAC)); // RXHPCRA21 Section 16.4.5.90
    47402AB0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387568, HWREG(0x47402AB0)); // RXHPCRB21 Section 16.4.5.91
    47402AC0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387584, HWREG(0x47402AC0)); // TXGCR22 Section 16.4.5.92
    47402AC8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387592, HWREG(0x47402AC8)); // RXGCR22 Section 16.4.5.93
    47402ACC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387596, HWREG(0x47402ACC)); // RXHPCRA22 Section 16.4.5.94
    47402AD0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387600, HWREG(0x47402AD0)); // RXHPCRB22 Section 16.4.5.95
    47402AE0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387616, HWREG(0x47402AE0)); // TXGCR23 Section 16.4.5.96
    47402AE8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387624, HWREG(0x47402AE8)); // RXGCR23 Section 16.4.5.97
    47402AEC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387628, HWREG(0x47402AEC)); // RXHPCRA23 Section 16.4.5.98
    47402AF0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387632, HWREG(0x47402AF0)); // RXHPCRB23 Section 16.4.5.99
    47402B00 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387648, HWREG(0x47402B00)); // TXGCR24 Section 16.4.5.100
    47402B08 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387656, HWREG(0x47402B08)); // RXGCR24 Section 16.4.5.101
    47402B0C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387660, HWREG(0x47402B0C)); // RXHPCRA24 Section 16.4.5.102
    47402B10 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387664, HWREG(0x47402B10)); // RXHPCRB24 Section 16.4.5.103
    47402B20 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387680, HWREG(0x47402B20)); // TXGCR25 Section 16.4.5.104
    47402B28 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387688, HWREG(0x47402B28)); // RXGCR25 Section 16.4.5.105
    47402B2C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387692, HWREG(0x47402B2C)); // RXHPCRA25 Section 16.4.5.106
    47402B30 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387696, HWREG(0x47402B30)); // RXHPCRB25 Section 16.4.5.107
    47402B40 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387712, HWREG(0x47402B40)); // TXGCR26 Section 16.4.5.108
    47402B48 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387720, HWREG(0x47402B48)); // RXGCR26 Section 16.4.5.109
    47402B4C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387724, HWREG(0x47402B4C)); // RXHPCRA26 Section 16.4.5.110
    47402B50 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387728, HWREG(0x47402B50)); // RXHPCRB26 Section 16.4.5.111
    47402B60 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387744, HWREG(0x47402B60)); // TXGCR27 Section 16.4.5.112
    47402B68 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387752, HWREG(0x47402B68)); // RXGCR27 Section 16.4.5.113
    47402B6C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387756, HWREG(0x47402B6C)); // RXHPCRA27 Section 16.4.5.114
    47402B70 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387760, HWREG(0x47402B70)); // RXHPCRB27 Section 16.4.5.115
    47402B80 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387776, HWREG(0x47402B80)); // TXGCR28 Section 16.4.5.116
    47402B88 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387784, HWREG(0x47402B88)); // RXGCR28 Section 16.4.5.117
    47402B8C 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387788, HWREG(0x47402B8C)); // RXHPCRA28 Section 16.4.5.118
    47402B90 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387792, HWREG(0x47402B90)); // RXHPCRB28 Section 16.4.5.119
    47402BA0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387808, HWREG(0x47402BA0)); // TXGCR29 Section 16.4.5.120
    47402BA8 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387816, HWREG(0x47402BA8)); // RXGCR29 Section 16.4.5.121
    47402BAC 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387820, HWREG(0x47402BAC)); // RXHPCRA29 Section 16.4.5.122
    47402BB0 00000000 TRUE TRUE 00000000 Trace3(100, 102, 1195387824, HWREG(0x47402BB0)); // RXHPCRB29 Section 16.4.5.123
    47403000 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195388928, HWREG(0x47403000)); // DMA_SCHED_CTRL Section 16.4.6.1
    47403800 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390976, HWREG(0x47403800)); // WORD_0 Section 16.4.6.2
    47403804 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390980, HWREG(0x47403804)); // WORD_1 Section 16.4.6.2
    47403808 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390984, HWREG(0x47403808)); // WORD_2 Section 16.4.6.2
    4740380C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390988, HWREG(0x4740380C)); // WORD_3 Section 16.4.6.2
    47403810 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390992, HWREG(0x47403810)); // WORD_4 Section 16.4.6.2
    47403814 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195390996, HWREG(0x47403814)); // WORD_5 Section 16.4.6.2
    47403818 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391000, HWREG(0x47403818)); // WORD_6 Section 16.4.6.2
    4740381C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391004, HWREG(0x4740381C)); // WORD_7 Section 16.4.6.2
    47403820 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391008, HWREG(0x47403820)); // WORD_8 Section 16.4.6.2
    47403824 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391012, HWREG(0x47403824)); // WORD_9 Section 16.4.6.2
    47403828 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391016, HWREG(0x47403828)); // WORD_10 Section 16.4.6.2
    4740382C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391020, HWREG(0x4740382C)); // WORD_11 Section 16.4.6.2
    47403830 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391024, HWREG(0x47403830)); // WORD_12 Section 16.4.6.2
    47403834 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391028, HWREG(0x47403834)); // WORD_13 Section 16.4.6.2
    47403838 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391032, HWREG(0x47403838)); // WORD_14 Section 16.4.6.2
    4740383C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391036, HWREG(0x4740383C)); // WORD_15 Section 16.4.6.2
    47403840 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391040, HWREG(0x47403840)); // WORD_16 Section 16.4.6.2
    47403844 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391044, HWREG(0x47403844)); // WORD_17 Section 16.4.6.2
    47403848 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391048, HWREG(0x47403848)); // WORD_18 Section 16.4.6.2
    4740384C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391052, HWREG(0x4740384C)); // WORD_19 Section 16.4.6.2
    47403850 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391056, HWREG(0x47403850)); // WORD_20 Section 16.4.6.2
    47403854 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391060, HWREG(0x47403854)); // WORD_21 Section 16.4.6.2
    47403858 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391064, HWREG(0x47403858)); // WORD_22 Section 16.4.6.2
    4740385C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391068, HWREG(0x4740385C)); // WORD_23 Section 16.4.6.2
    47403860 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391072, HWREG(0x47403860)); // WORD_24 Section 16.4.6.2
    47403864 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391076, HWREG(0x47403864)); // WORD_25 Section 16.4.6.2
    47403868 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391080, HWREG(0x47403868)); // WORD_26 Section 16.4.6.2
    4740386C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391084, HWREG(0x4740386C)); // WORD_27 Section 16.4.6.2
    47403870 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391088, HWREG(0x47403870)); // WORD_28 Section 16.4.6.2
    47403874 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391092, HWREG(0x47403874)); // WORD_29 Section 16.4.6.2
    47403878 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391096, HWREG(0x47403878)); // WORD_30 Section 16.4.6.2
    4740387C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391100, HWREG(0x4740387C)); // WORD_31 Section 16.4.6.2
    47403880 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391104, HWREG(0x47403880)); // WORD_32 Section 16.4.6.2
    47403884 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391108, HWREG(0x47403884)); // WORD_33 Section 16.4.6.2
    47403888 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391112, HWREG(0x47403888)); // WORD_34 Section 16.4.6.2
    4740388C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391116, HWREG(0x4740388C)); // WORD_35 Section 16.4.6.2
    47403890 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391120, HWREG(0x47403890)); // WORD_36 Section 16.4.6.2
    47403894 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391124, HWREG(0x47403894)); // WORD_37 Section 16.4.6.2
    47403898 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391128, HWREG(0x47403898)); // WORD_38 Section 16.4.6.2
    4740389C 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391132, HWREG(0x4740389C)); // WORD_39 Section 16.4.6.2
    474038A0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391136, HWREG(0x474038A0)); // WORD_40 Section 16.4.6.2
    474038A4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391140, HWREG(0x474038A4)); // WORD_41 Section 16.4.6.2
    474038A8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391144, HWREG(0x474038A8)); // WORD_42 Section 16.4.6.2
    474038AC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391148, HWREG(0x474038AC)); // WORD_43 Section 16.4.6.2
    474038B0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391152, HWREG(0x474038B0)); // WORD_44 Section 16.4.6.2
    474038B4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391156, HWREG(0x474038B4)); // WORD_45 Section 16.4.6.2
    474038B8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391160, HWREG(0x474038B8)); // WORD_46 Section 16.4.6.2
    474038BC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391164, HWREG(0x474038BC)); // WORD_47 Section 16.4.6.2
    474038C0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391168, HWREG(0x474038C0)); // WORD_48 Section 16.4.6.2
    474038C4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391172, HWREG(0x474038C4)); // WORD_49 Section 16.4.6.2
    474038C8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391176, HWREG(0x474038C8)); // WORD_50 Section 16.4.6.2
    474038CC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391180, HWREG(0x474038CC)); // WORD_51 Section 16.4.6.2
    474038D0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391184, HWREG(0x474038D0)); // WORD_52 Section 16.4.6.2
    474038D4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391188, HWREG(0x474038D4)); // WORD_53 Section 16.4.6.2
    474038D8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391192, HWREG(0x474038D8)); // WORD_54 Section 16.4.6.2
    474038DC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391196, HWREG(0x474038DC)); // WORD_55 Section 16.4.6.2
    474038E0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391200, HWREG(0x474038E0)); // WORD_56 Section 16.4.6.2
    474038E4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391204, HWREG(0x474038E4)); // WORD_57 Section 16.4.6.2
    474038E8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391208, HWREG(0x474038E8)); // WORD_58 Section 16.4.6.2
    474038EC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391212, HWREG(0x474038EC)); // WORD_59 Section 16.4.6.2
    474038F0 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391216, HWREG(0x474038F0)); // WORD_60 Section 16.4.6.2
    474038F4 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391220, HWREG(0x474038F4)); // WORD_61 Section 16.4.6.2
    474038F8 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391224, HWREG(0x474038F8)); // WORD_62 Section 16.4.6.2
    474038FC 80000007 TRUE TRUE 80000007 Trace3(100, 103, 1195391228, HWREG(0x474038FC)); // WORD_63 Section 16.4.6.2
    44E00000 02384102 TRUE TRUE 02384102 Trace3(100, 104, 1155530752, HWREG(0x44E00000)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00004 0000000A TRUE TRUE 0000000A Trace3(100, 104, 1155530756, HWREG(0x44E00004)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0000C 00000016 TRUE TRUE 00000016 Trace3(100, 104, 1155530764, HWREG(0x44E0000C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00014 00070000 TRUE TRUE 00070000 Trace3(100, 104, 1155530772, HWREG(0x44E00014)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00018 00070000 TRUE TRUE 00070000 Trace3(100, 104, 1155530776, HWREG(0x44E00018)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0001C 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530780, HWREG(0x44E0001C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00024 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530788, HWREG(0x44E00024)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00028 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530792, HWREG(0x44E00028)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0002C 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530796, HWREG(0x44E0002C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00030 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530800, HWREG(0x44E00030)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00034 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530804, HWREG(0x44E00034)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00038 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530808, HWREG(0x44E00038)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0003C 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530812, HWREG(0x44E0003C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00040 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530816, HWREG(0x44E00040)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00044 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530820, HWREG(0x44E00044)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00048 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530824, HWREG(0x44E00048)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0004C 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530828, HWREG(0x44E0004C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00050 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530832, HWREG(0x44E00050)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00060 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530848, HWREG(0x44E00060)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00068 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530856, HWREG(0x44E00068)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0006C 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530860, HWREG(0x44E0006C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00070 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530864, HWREG(0x44E00070)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00074 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530868, HWREG(0x44E00074)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00078 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530872, HWREG(0x44E00078)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0007C 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530876, HWREG(0x44E0007C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00080 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530880, HWREG(0x44E00080)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00084 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530884, HWREG(0x44E00084)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00088 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530888, HWREG(0x44E00088)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000AC 00040002 TRUE TRUE 00040002 Trace3(100, 104, 1155530924, HWREG(0x44E000AC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000B0 00040002 TRUE TRUE 00040002 Trace3(100, 104, 1155530928, HWREG(0x44E000B0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000B4 00040002 TRUE TRUE 00040002 Trace3(100, 104, 1155530932, HWREG(0x44E000B4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000BC 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530940, HWREG(0x44E000BC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000C0 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530944, HWREG(0x44E000C0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000C4 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530948, HWREG(0x44E000C4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000CC 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530956, HWREG(0x44E000CC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000D4 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530964, HWREG(0x44E000D4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000D8 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530968, HWREG(0x44E000D8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000DC 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530972, HWREG(0x44E000DC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E0 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155530976, HWREG(0x44E000E0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E4 00040002 TRUE TRUE 00040002 Trace3(100, 104, 1155530980, HWREG(0x44E000E4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000E8 00070000 TRUE TRUE 00070000 Trace3(100, 104, 1155530984, HWREG(0x44E000E8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000EC 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530988, HWREG(0x44E000EC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F0 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530992, HWREG(0x44E000F0)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F4 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155530996, HWREG(0x44E000F4)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000F8 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155531000, HWREG(0x44E000F8)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E000FC 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531004, HWREG(0x44E000FC)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00100 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531008, HWREG(0x44E00100)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0010C 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155531020, HWREG(0x44E0010C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00110 00030000 TRUE TRUE 00030000 Trace3(100, 104, 1155531024, HWREG(0x44E00110)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0011C 0000000A TRUE TRUE 0000000A Trace3(100, 104, 1155531036, HWREG(0x44E0011C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00120 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531040, HWREG(0x44E00120)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0012C 00000012 TRUE TRUE 00000012 Trace3(100, 104, 1155531052, HWREG(0x44E0012C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00130 00040002 TRUE TRUE 00040002 Trace3(100, 104, 1155531056, HWREG(0x44E00130)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00140 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531072, HWREG(0x44E00140)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00144 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531076, HWREG(0x44E00144)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00148 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531080, HWREG(0x44E00148)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E0014C 00000002 TRUE TRUE 00000002 Trace3(100, 104, 1155531084, HWREG(0x44E0014C)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00150 00000012 TRUE TRUE 00000012 Trace3(100, 104, 1155531088, HWREG(0x44E00150)); // CM_PER_L4LS_CLKSTCTRL Section 8.1.12.1.1
    44E00400 00005716 TRUE TRUE 00005716 Trace3(100, 105, 1155531776, HWREG(0x44E00400)); // CM_WKUP_CLKSTCTRL Section 8.1.12.2.1
    44E00404 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531780, HWREG(0x44E00404)); // CM_WKUP_CONTROL_CLKCTRL Section 8.1.12.2.2
    44E00408 00040002 TRUE TRUE 00040002 Trace3(100, 105, 1155531784, HWREG(0x44E00408)); // CM_WKUP_GPIO0_CLKCTRL Section 8.1.12.2.3
    44E0040C 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531788, HWREG(0x44E0040C)); // CM_WKUP_L4WKUP_CLKCTRL Section 8.1.12.2.4
    44E00410 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531792, HWREG(0x44E00410)); // CM_WKUP_TIMER0_CLKCTRL Section 8.1.12.2.5
    44E00414 52580002 TRUE TRUE 52580002 Trace3(100, 105, 1155531796, HWREG(0x44E00414)); // CM_WKUP_DEBUGSS_CLKCTRL Section 8.1.12.2.6
    44E00418 0000001E TRUE TRUE 0000001E Trace3(100, 105, 1155531800, HWREG(0x44E00418)); // CM_L3_AON_CLKSTCTRL Section 8.1.12.2.7
    44E0041C 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531804, HWREG(0x44E0041C)); // CM_AUTOIDLE_DPLL_MPU Section 8.1.12.2.8
    44E00420 00000001 TRUE TRUE 00000001 Trace3(100, 105, 1155531808, HWREG(0x44E00420)); // CM_IDLEST_DPLL_MPU Section 8.1.12.2.9
    44E00424 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531812, HWREG(0x44E00424)); // CM_SSC_DELTAMSTEP_DPLL_MPU Section 8.1.12.2.10
    44E00428 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531816, HWREG(0x44E00428)); // CM-SSC_MODFREQDIV_DPLL_MPU Section 8.1.12.2.11
    44E0042C 00025818 TRUE TRUE 00025818 Trace3(100, 105, 1155531820, HWREG(0x44E0042C)); // CM_CLKSEL_DPLL_MPU Section 8.1.12.2.12
    44E00430 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531824, HWREG(0x44E00430)); // CM_AUTOIDLE_DPLL_DDR Section 8.1.12.2.13
    44E00434 00000001 TRUE TRUE 00000001 Trace3(100, 105, 1155531828, HWREG(0x44E00434)); // CM_IDLEST_DPLL_DDR Section 8.1.12.2.14
    44E00438 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531832, HWREG(0x44E00438)); // CM_SSC_DELTAMSTEP_DPLL_DDR Section 8.1.12.2.15
    44E0043C 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531836, HWREG(0x44E0043C)); // CM_SSC_MODFREQDIV_DPLL_DDR Section 8.1.12.2.16
    44E00440 00010918 TRUE TRUE 00010918 Trace3(100, 105, 1155531840, HWREG(0x44E00440)); // CM_CLKSEL_DPLL_DDR Section 8.1.12.2.17
    44E00444 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531844, HWREG(0x44E00444)); // CM_AUTOIDLE_DPLL_DISP Section 8.1.12.2.18
    44E00448 00000001 TRUE TRUE 00000001 Trace3(100, 105, 1155531848, HWREG(0x44E00448)); // CM_IDLEST_DPLL_DISP Section 8.1.12.2.19
    44E0044C 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531852, HWREG(0x44E0044C)); // CM_SSC_DELTAMSTEP_DPLL_DISP Section 8.1.12.2.20
    44E00450 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531856, HWREG(0x44E00450)); // CM_SSC_MODFREQDIV_DPLL_DISP Section 8.1.12.2.21
    44E00454 00003018 TRUE TRUE 00003018 Trace3(100, 105, 1155531860, HWREG(0x44E00454)); // CM_CLKSEL_DPLL_DISP Section 8.1.12.2.22
    44E00458 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531864, HWREG(0x44E00458)); // CM_AUTOIDLE_DPLL_CORE Section 8.1.12.2.23
    44E0045C 00000001 TRUE TRUE 00000001 Trace3(100, 105, 1155531868, HWREG(0x44E0045C)); // CM_IDLEST_DPLL_CORE Section 8.1.12.2.24
    44E00460 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531872, HWREG(0x44E00460)); // CM_SSC_DELTAMSTEP_DPLL_CORE Section 8.1.12.2.25
    44E00464 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531876, HWREG(0x44E00464)); // CM_SSC_MODFREQDIV_DPLL_CORE Section 8.1.12.2.26
    44E00468 0003E818 TRUE TRUE 0003E818 Trace3(100, 105, 1155531880, HWREG(0x44E00468)); // CM_CLKSEL_DPLL_CORE Section 8.1.12.2.27
    44E0046C 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531884, HWREG(0x44E0046C)); // CM_AUTOIDLE_DPLL_PER Section 8.1.12.2.28
    44E00470 00000001 TRUE TRUE 00000001 Trace3(100, 105, 1155531888, HWREG(0x44E00470)); // CM_IDLEST_DPLL_PER Section 8.1.12.2.29
    44E00474 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531892, HWREG(0x44E00474)); // CM_SSC_DELTAMSTEP_DPLL_PER Section 8.1.12.2.30
    44E00478 00000000 TRUE TRUE 00000000 Trace3(100, 105, 1155531896, HWREG(0x44E00478)); // CM_SSC_MODFREQDIV_DPLL_PER Section 8.1.12.2.31
    44E0047C 00000300 TRUE TRUE 00000300 Trace3(100, 105, 1155531900, HWREG(0x44E0047C)); // CM_CLKDCOLDO_DPLL_PER Section 8.1.12.2.32
    44E00480 0000022A TRUE TRUE 0000022A Trace3(100, 105, 1155531904, HWREG(0x44E00480)); // CM_DIV_M4_DPLL_CORE Section 8.1.12.2.33
    44E00484 00000028 TRUE TRUE 00000028 Trace3(100, 105, 1155531908, HWREG(0x44E00484)); // CM_DIV_M5_DPLL_CORE Section 8.1.12.2.34
    44E00488 00000007 TRUE TRUE 00000007 Trace3(100, 105, 1155531912, HWREG(0x44E00488)); // CM_CLKMODE_DPLL_MPU Section 8.1.12.2.35
    44E0048C 00000007 TRUE TRUE 00000007 Trace3(100, 105, 1155531916, HWREG(0x44E0048C)); // CM_CLKMODE_DPLL_PER Section 8.1.12.2.36
    44E00490 00000007 TRUE TRUE 00000007 Trace3(100, 105, 1155531920, HWREG(0x44E00490)); // CM_CLKMODE_DPLL_CORE Section 8.1.12.2.37
    44E00494 00000007 TRUE TRUE 00000007 Trace3(100, 105, 1155531924, HWREG(0x44E00494)); // CM_CLKMODE_DPLL_DDR Section 8.1.12.2.38
    44E00498 00000007 TRUE TRUE 00000007 Trace3(100, 105, 1155531928, HWREG(0x44E00498)); // CM_CLKMODE_DPLL_DISP Section 8.1.12.2.39
    44E0049C 0403C018 TRUE TRUE 0403C018 Trace3(100, 105, 1155531932, HWREG(0x44E0049C)); // CM_CLKSEL_DPLL_PERIP Section 8.1.12.2.40
    44E004A0 00000201 TRUE TRUE 00000201 Trace3(100, 105, 1155531936, HWREG(0x44E004A0)); // CM_DIV_M2_DPLL_DDR Section 8.1.12.2.41
    44E004A4 00000301 TRUE TRUE 00000301 Trace3(100, 105, 1155531940, HWREG(0x44E004A4)); // CM_DIV_M2_DPLL_DISP Section 8.1.12.2.42
    44E004A8 00000201 TRUE TRUE 00000201 Trace3(100, 105, 1155531944, HWREG(0x44E004A8)); // CM_DIV_M2_DPLL_MPU Section 8.1.12.2.43
    44E004AC 00000385 TRUE TRUE 00000385 Trace3(100, 105, 1155531948, HWREG(0x44E004AC)); // CM_DIV_M2_DPLL_PER Section 8.1.12.2.44
    44E004B0 00040002 TRUE TRUE 00040002 Trace3(100, 105, 1155531952, HWREG(0x44E004B0)); // CM_WKUP_WKUP_M3_CLKCTRL Section 8.1.12.2.45
    44E004B4 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531956, HWREG(0x44E004B4)); // CM_WKUP_UART0_CLKCTRL Section 8.1.12.2.46
    44E004B8 00030000 TRUE TRUE 00030000 Trace3(100, 105, 1155531960, HWREG(0x44E004B8)); // CM_WKUP_I2C0_CLKCTRL Section 8.1.12.2.47
    44E004BC 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531964, HWREG(0x44E004BC)); // CM_WKUP_ADC_TSC_CLKCTRL Section 8.1.12.2.48
    44E004C0 00030000 TRUE TRUE 00030000 Trace3(100, 105, 1155531968, HWREG(0x44E004C0)); // CM_WKUP_SMARTREFLEX0_CLKCT Section RL 8.1.12.2.49
    44E004C4 00030000 TRUE TRUE 00030000 Trace3(100, 105, 1155531972, HWREG(0x44E004C4)); // CM_WKUP_TIMER1_CLKCTRL Section 8.1.12.2.50
    44E004C8 00030000 TRUE TRUE 00030000 Trace3(100, 105, 1155531976, HWREG(0x44E004C8)); // CM_WKUP_SMARTREFLEX1_CLKCT Section RL 8.1.12.2.51
    44E004CC 00000006 TRUE TRUE 00000006 Trace3(100, 105, 1155531980, HWREG(0x44E004CC)); // CM_L4_WKUP_AON_CLKSTCTRL Section 8.1.12.2.52
    44E004D4 00000002 TRUE TRUE 00000002 Trace3(100, 105, 1155531988, HWREG(0x44E004D4)); // CM_WKUP_WDT1_CLKCTRL Section 8.1.12.2.53
    44E004D8 00000004 TRUE TRUE 00000004 Trace3(100, 105, 1155531992, HWREG(0x44E004D8)); // CM_DIV_M6_DPLL_CORE Section 8.1.12.2.54
    44E00504 00000001 TRUE TRUE 00000001 Trace3(100, 106, 1155532036, HWREG(0x44E00504)); // CLKSEL_TIMER7_CLK Selects the Mux select line for TIMER7 clock Section 8.1.12.3.1 [warm reset insensitive]
    44E00508 00000002 TRUE TRUE 00000002 Trace3(100, 106, 1155532040, HWREG(0x44E00508)); // CLKSEL_TIMER2_CLK Selects the Mux select line for TIMER2 clock Section 8.1.12.3.2 [warm reset insensitive]
    44E0050C 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532044, HWREG(0x44E0050C)); // CLKSEL_TIMER3_CLK Selects the Mux select line for TIMER3 clock Section 8.1.12.3.3 [warm reset insensitive]
    44E00510 00000001 TRUE TRUE 00000001 Trace3(100, 106, 1155532048, HWREG(0x44E00510)); // CLKSEL_TIMER4_CLK Selects the Mux select line for TIMER4 clock Section 8.1.12.3.4 [warm reset insensitive]
    44E00514 00000004 TRUE TRUE 00000004 Trace3(100, 106, 1155532052, HWREG(0x44E00514)); // CM_MAC_CLKSEL Selects the clock divide ration for MII clock reset Section 8.1.12.3.5 [warm reset insensitive]
    44E00518 00000001 TRUE TRUE 00000001 Trace3(100, 106, 1155532056, HWREG(0x44E00518)); // CLKSEL_TIMER5_CLK Selects the Mux select line for TIMER5 clock Section 8.1.12.3.6 [warm reset insensitive]
    44E0051C 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532060, HWREG(0x44E0051C)); // CLKSEL_TIMER6_CLK Selects the Mux select line for TIMER6 clock Section 8.1.12.3.7 [warm reset insensitive]
    44E00520 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532064, HWREG(0x44E00520)); // CM_CPTS_RFT_CLKSEL Selects the Mux select line for CPTS RFT clock Section 8.1.12.3.8 [warm reset insensitive]
    44E00528 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532072, HWREG(0x44E00528)); // CLKSEL_TIMER1MS_CLK Selects the Mux select line for TIMER1 clock Section 8.1.12.3.9 [warm reset insensitive]
    44E0052C 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532076, HWREG(0x44E0052C)); // CLKSEL_GFX_FCLK Selects the divider value for GFX clock reset Section 8.1.12.3.10 [warm reset insensitive]
    44E00530 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532080, HWREG(0x44E00530)); // CLKSEL_PRU_ICSS_OCP_CLK Controls the Mux select line for PRU-ICSS OCP clock Section 8.1.12.3.11 [warm reset insensitive]
    44E00534 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532084, HWREG(0x44E00534)); // CLKSEL_LCDC_PIXEL_CLK Controls the Mux select line for LCDC PIXEL clock Section 8.1.12.3.12 [warm reset insensitive]
    44E00538 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532088, HWREG(0x44E00538)); // CLKSEL_WDT1_CLK Selects the Mux select line for Watchdog1 clock Section 8.1.12.3.13 [warm reset insensitive]
    44E0053C 00000000 TRUE TRUE 00000000 Trace3(100, 106, 1155532092, HWREG(0x44E0053C)); // CLKSEL_GPIO0_DBCLK Selects the Mux select line for GPIO0 debounce clock Section 8.1.12.3.14 [warm reset insensitive]
  • Eric,

    We also received 1260 new pieces with December 2015 date code.  Parts on 14 failed boards were replaced which 'fixed' 12 of the boards, 2 still failed.  Below are the testing results.

    Kevin

    Code

    Test Result

    Which power up time did it fail?

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, OK

     

    5CACDVW

    100 times, 4 times USB error

    9,33,34,45

    5CACDVW

    100 times, 10 times USB error

    3,5,8,9,33,36,68,85,88,90

    5CACDVW

    300 times, OK

     

    5CACDVW

    300 times, OK

     

    5CACDVW

    300 times, OK

     

    5CACDVW

    300 times, OK

     

    5CACDVW

    300 times, OK

     

  • Eric,

    Today's experimentation has to do with hard-coding changes to the USB2PHY Termination_Control register.  The motivation here was due to the observation that when a corrupted data packet occurs that triggers the host to report a Transaction Error, it is frequently followed by a bad PID as the next transaction showing up on the USB analyzer.  Since the host is driving the bus during a PID packet, the data corruption that causes the bad PID is likely caused by the device having done something electrically 'bad' to the bus.  In the extreme case if both the device and host were actively driving that would cause corruption, but I was guessing something more subtle like perhaps something that is supposed to control the resistor terminations might have gone awry which led me to the Termination_Control register.

    I tried to override some of the fields, replacing fields with values that show up when the test is 'working'.  As noted in my post from yesterday, some of these values are not always the same from run to run even when the board is operating correctly.  The hope here is by overriding the values and holding them constant with supposedly 'good' values, that maybe things would improve, but they did not.  The register changes are shown below.  The last change to the HS_CODE_SEL field to set it to 010 was not something that showed up in either a 'good' or 'bad' run; that field was always '001'.  But since there was a control there to change and the earlier changes to Rterm_Cal, RTerm_Rmx and disabling of temperature tracking function of the termination calibration had no positive effect, it was just one more knob to turn.

    // HWREG(0x47401300) = 0x112F48BE; // Override the Rterm_Cal and RTerm_Rmx values. This experiment made no noticeable change
    // HWREG(0x47401300) = 0x112F49BE; // Override the Rterm_Cal and RTerm_Rmx values and disable temperature tracking function of the termination calibration. This experiment made no noticeable change
    // HWREG(0x47401300) = 0x110F503E; // Change the HS_CODE_SEL. This experiment made no improvement, it might have made things worse. Frequency of failed USB transfers increased

  • Another failure mode has been observed:  After running our data transfer test successfully from one to several times, occasionally transfers will stop.  If the test is re-run without cycling power, then a Babble error is generated.  The analyzer reports seeing ~1024 - 1028 bytes in the packet (the packets should be only 512 in length, and USB limits packet sizes to be 1024 max).  The babble error will persist for this endpoint until power is cycled.  As with the transaction error, other USB operations work without issue, it is only when re-running the test that transfers data over a specific endpoint to the host that the babble occurs.

    The data that gets transferred is generally correct other than the packet being way too long.  The first 512 bytes (which should have been the entire packet) are correct.  The next 512 bytes appear to be a repeat of the first, up until the last ~4-20 bytes which are garbage.  I haven't checked yet to see if the garbage data is any sort of bit shift of the correct data

    So, under what conditions can the processor be made to babble?  Obviously there is a way to make it babble so what registers would control the outgoing packet size and why would it allow something larger than the 1024 maximum USB packet to ever occur?

  • Can you check:

    • 16.4.2.13 USB0TXMODE Register (offset = 1070h)
    • 16.4.2.14 USB0RXMODE Register (offset = 1074h)

    Regards, Eric

  • Eric,

    16.4.2.13 USB0TXMODE Register (offset = 1070h) is always 0, both when we're in the 'good' state and the 'bad' state.

    16.4.2.14 USB0RXMODE Register (offset = 1074h) is always 0, both when we're in the 'good' state and the 'bad' state.

    Any thoughts on what register could allow packet sizes larger than 1024 as I'm seeing for the babble?

  • I tried dumping the contents of some of the Max Transmit/Receive data.  Since I couldn't find anything in the Tech Reference manual documenting these registers, I don't know what they are supposed to be doing exactly.  However, the upper 16 bits of the Transmit Data Max size for endpoint 1 looks a bit odd.  But these register values are all the same when the system is working and when it is not.  The only 'semi-documentation' I could find on the mapping registers are the following #defines.

    #define USB_TXMAXP1_MAXLOAD_M 0x000007FF // Maximum Payload
    #define USB_TXMAXP1_MAXLOAD_S 0

    47401510 00000080 #define USB_O_TXMAXP1 -- USB Maximum Transmit Data Endpoint 1
    47401514 00000000 #define USB_O_RXMAXP1 -- USB Maximum Receive Data Endpoint 1
    47401520 14030200 #define USB_O_TXMAXP2 -- USB Maximum Transmit Data Endpoint 2
    47401524 00000000 #define USB_O_RXMAXP2 -- USB Maximum Receive Data Endpoint 2
    47401530 00000000 #define USB_O_TXMAXP3 -- USB Maximum Transmit Data Endpoint 3
    47401534 00000000 #define USB_O_RXMAXP3 -- USB Maximum Receive Data Endpoint 3
    47401540 00000000 #define USB_O_TXMAXP4 -- USB Maximum Transmit Data Endpoint 4
    47401544 00000200 #define USB_O_RXMAXP4 -- USB Maximum Receive Data Endpoint 4
    47401550 00000000 #define USB_O_TXMAXP5 -- USB Maximum Transmit Data Endpoint 5
    47401554 00000000 #define USB_O_RXMAXP5 -- USB Maximum Receive Data Endpoint 5

    - Can anyone explain the upper 16 bits of 47401520?

    - When I try to read address 47401536 (USB Receive Control and Status Endpoint 3 Low), it ends up killing the entire system.  At least that problem is not at all subtle. 

  • Kevin,

    Those registers are not explained in AM335x TRM. I am checking with my colleague for the info.

    The starterware you used is about 3 years old. Is it an option you try to run our latest Processor SDK on your HW to intialize the USB? http://software-dl.ti.com/processor-sw/esd/PROCESSOR-SDK-RTOS-AM335X/latest/index_FDS.html Then try to see if the problem can be reproduced use your test suite?

    Regards, Eric

  • Eric,

    I'm not sure if migrating to the latest SDK is an option or not.  I was able to:

    - Download and run ti-processor-sdk-rtos-am335x-evm-02.00.01.07-Windows-x86-Install.07-Windows-x86-Install.exe 

    - In CCS, under Windows->Preferences, I added the folder 'C:/ti/processor_sdk_rtos_am335x_2_00_01_07' to the 'Tool Discovery path', not sure if I see anything new under the 'Discovered Tools' pane

    - Not sure of what I need to change to actually use the new SDK so I did a build.  The build completed saying 'gmake: Nothing to be done for `all''.

    I've been going through the user guides but am not really any further along.  If this seems like very basic issues, it's because I only started trying to use the tools when the firmware guy who understood and did all of the firmware design recently moved on and I'm trying to pick things up as I go along while trying to figure out what is ailing the USB interface on these boards.

    Kevin

  • Kevin,

    - Run CCS, it should detect several new installed folders like: C:\ti\pdk_am335x_1_0_1 and XDC, SYSBIOS tools.
    - Pre-build USB library is under C:\ti\pdk_am335x_1_0_1\packages\ti\drv\usb\lib\am335x\armv7, try to see if this can link with you application.
    - Under C:\ti\pdk_am335x_1_0_1\packages, there are two batch files to create CCS test projects, see processors.wiki.ti.com/.../Rebuilding_The_PDK
    - USB projects for device mode and host mode can be imported into CCS for test

    Regards, Eric
  • "Can anyone explain the upper 16 bits of 47401520?", those registers are from the USB IP vendor so we can't publish them in the TRM.

    Basically, 1403 shows the DMA is used and there are packets pending in the FIFO for Tx. Since the working case and failure case have the same, this is not a lead.

    Regards, Eric
  • Eric,

    I see the folder C:\ti\pdk_am335x_1_0_1\packages\ti\drv\usb\lib\am335x\armv7, but don't really know how to 'link with your application'.  However, back on 2/22, after reviewing our code that I supplied you stated "There are many difference bewteen customer's usblib folder and TI 2.0.0.5 GA folder. I was not able to build the library with their code. Do they have a pre-build library and with compatible API to TI test code?"  Given that, wouldn't I have the same difficulty that you saw in trying to integrate this newer TI library into our existing code as well?

    If I were to get it integrated, what if the problem 'disappears'?  This is a ~3% fallout problem where even the 3% that fallout usually powerup without incident (~1 fail every 5- 25 power cycles) and the code in question has been stable over most of the past 2 years.  If the problem does not 'disappear', then why would it be any easier to debug given the newer library?

    Kevin

  • Eric,

    I captured a chunk of the 'USB Core' register settings.  Many of the registers could not even be read without hanging up the system, but of the ones I could read, there were only two that are different between a 'good' run and a 'bad' run.  One register was the previously mentioned 47401520 where the upper 16 bits vary a bit but based on your explanation of those bits on your earlier post, I do not think the differences are relevant.  The other register that changed was 4740140C (USB Frame Value), which should increment, and therefore it will be changing frequently, and it does.  Bottom line is that of the registers that I could survey in 'USB Core', there are no differences of note.

    The full list of registers that I could read are:  47401400, 47401404, 4740140C, 47401460, 47401510, 47401514, 47401520, 47401524, 47401530, 47401534, 47401540, 47401544, 47401550, 47401554, 47401560, 47401564, 47401570, 47401574, 47401580, 47401584, 47401590, 47401594, 474015A0, 474015A4, 474015B0, 474015B4, 474015C0, 474015C4, 474015D0, 474015D4, 474015E0, 474015E4, 474015F0, 474015F4.

    Today I was able to get the part to babble again.  Today when it babbled, it produced packets of size 1024 even though the firmware is setup to have a maximum packet size of 512 (and verified by reading back the 14xx0200 from 47401520, Max Transmit Data Endpoint 2 register) .  Given the value that is verified to be in 47401520, there shouldn't be anything in the firmware that should be able to cause the part do that, is there?

    Kevin

  • Kevin,

    There is TI 2.0.0.5 standard distribution usblib.lib, you made some customization and created your own usblib.lib, then I assume your application or test porgram calling into your own usblib.lib to reproduce the USB transaction error problem. The 2.0.0.5 is about 3 years old, we keep on have new releases coming out and we merged the starterware into Processor SDK.

    We didn't hear such transaction error probelm in the past, so we are not sure if the latest Processor SDK will fix the problem or not. If the problem disappears through enough power cycle test, it is good. If still there, we need to debug based on the latest SW.

    Regards, Eric

  • As the EP used here is #2, are you able to use a different EP and to see the similar failure?

    Regards, Eric
  • Some additional  testing:

    Test using constant AA as the data:  

    • On the failed packet, 513 bytes were recorded by the analyzer, all are AA except byte 15A which had BA (bit 4 is incorrect).  The transmitted CRC is 0339.
    • The previous transmission of the same data packet has all of the data AA as it should, the transmitted CRC is 0339.  This time the analyzer says the CRC is correct because the data packet was 512 bytes as it should be rather than 513.
    • A re-transmission of the failed data packet also failed.  513 bytes were sent, all are AA except for byte 11A which is BA, byte 146 is AE, byte 172 is BA, byte 19A is EA, byte 1C4 is BA, byte 1EB is AE.  The transmitted CRC is 5033.

  • OK, thanks. Looks like there is always an added bit, but never a missing bit. Please re-run the test using all '00' and all 'FF' as the test patterns.

  • Also, please update your USB Protocol Suite SW. It works fine on the older CATC's.
  • When it failed with an all 00 pattern, there was a 512 byte data packet of all 0 with a CRC of 7F22.  The correct CRC for this packet should be 7D22 so there was a one bit error on the CRC itself.  Then there was a retry of the failed packet.  All bytes came over as 00 except for byte 6A set to C0, 6B set to 03, F6 set to 03, FE set to 30, 107 set to 03, 118 set to 30, 121 set to 03, 135 set to 30, 150 set to 30, 1FE set to E0, 1FF set to 4B.  The transmitted CRC is 27FB which was flagged as an error by the analyzer.

    When it failed with an all 00 pattern, there was a 512 byte data packet of all 0 except for byte 1FA which was set to D7 and 1FB which was set to FE.  The transmitted CRC was FFE1 and flagged as an error by the analyzer.  Then there was a retry of the failed packet.  The retry was only 472 bytes, all FF with a transmitted CRC of FFFF which was flagged as an error by the analyzer.  Before and after the failure, the 'USB Maximum Transmit Data Endpoint 2' register (0x47041520) read back as 14030200, implying the max packet size register was setup for 512 byte packets.

  • Correction to second paragraph of last post:

    When it failed with an all FF pattern, there was a 512 byte data packet of all FF except for byte 1FA which was set to D7 and 1FB which was set to FE.  The transmitted CRC was FFE1 and flagged as an error by the analyzer.  Then there was a retry of the failed packet.  The retry was only 472 bytes, all FF with a transmitted CRC of FFFF which was flagged as an error by the analyzer.  Before and after the failure, the 'USB Maximum Transmit Data Endpoint 2' register (0x47041520) read back as 14030200, implying the max packet size register was setup for 512 byte packets.

  • 1) Please provide your schematics to Steven. [EDIT]
    2) You can restrict connectivity to Full-Speed mode via a register write. This needs to be done after the Device driver has configured the port, but before you attach to a Host.

    For USB0 (0x47401400):
    For USB1 (0x47401C00):

    WAS: 0x0000E00n (n=don't care, write back existing value)
    NOW: 0x0000C00n

    Bit 13 should be set for HS mode enabled. Clear it and then attach to your Host. Verify with analyzer you are attached as FS and re-run any test.

  • -DK- said:
    1) Please provide your schematics to Steven. [EDIT]

    Done
    -DK- said:
    2) You can restrict connectivity to Full-Speed mode via a register write. This needs to be done after the Device driver has configured the port, but before you attach to a Host.
    OK, the place where I think it belongs is inside the 'USBDCDInit' function.  Near the end of that function is the following if statement:

        if(g_eUSBMode == USB_MODE_DEVICE)
        {
            //
            // Make sure we disconnect from the host for a while.  This ensures
            // that the host will enumerate us even if we were previously
            // connected to the bus.
            //
            USBDevDisconnect(USB0_BASE);
    
            //
            // Wait about 100mS.
            //
    		//delay(100);
    
    
            //
            // Attach the device using the soft connect.
            //
            Trace3(100, 120, 0x47401400, HWREG(0x47401400));
            USBDevConnect(USB0_BASE);
    
            //
            // Enable the USB interrupt.
            //
    #ifdef _TMS320C6X
            /* No DSP API to enable USB0 event */
    #else
            IntSystemEnable(SYS_INT_USB0);
    #endif
    
    
        }

    I added the highlighted 'Trace3' function call to log the current state of address 0x47401400 in order to verify the values that you listed.  If they agreed, I was going to modify the register at that spot in the code which is immediately before the call to USBDevConnect.  Is that the spot in the code that you're asking me to modify?


    -DK- said:
    For USB0 (0x47401400):
    For USB1 (0x47401C00):

    WAS: 0x0000E00n (n=don't care, write back existing value)
    NOW: 0x0000C00n

    Bit 13 should be set for HS mode enabled. Clear it and then attach to your Host. Verify with analyzer you are attached as FS and re-run any test.

    Unfortunately, what I logged in the trace at the point above was 0x2000, not 0x0E0n as you indicated.  When I continue on and run the test, the value that comes back for that register is 0x7002 or 0x7003.  Since the values aren't matching what you think they should be should I still go ahead with the change?  If I completely torque the USB interface, the board will be a brick until I hook up the debugger and download to overwrite the Flash.

  • A default value of 0x2000 is fine. This aligns with bit 13 being set and is the default value of the register.

    This bit should be cleared just prior to USBDevConnect getting called. Also, you should make sure USBDevConnect doesn't check/set bit 13. If you have an application to R/W this register from user space, it might be safer for you to try it from there. In Linux, I'm manually loading the g_zero module, clearing bit 13, and plugging into a Host.