Our design uses an ADAU1467. In our software, MP19 is an output that drives the reset line of various peripherals in our circuitry. During a debug session, we discovered that during the programming process, the bootloader code is deliberately driving MP19 low, which is detrimental to the behavior of our circuit.
Every uC, uP, and DSP I've ever used sets its GPIOs as inputs during programming, so I'm surprised at this behavior. Can anyone explain to me what the bootloader code is trying to do by driving the GPIOs? And is this behavior documented someplace?
This behavior manifests itself even if the boot memory has been erased and the system has been powered down (i.e. it's a blank slate). HOWEVER... It only manifests itself on the first programming attempt after the programming header is plugged in.