
1242
11028E–ATARM–22-Apr-13
SAM9G46
52.2.10.2
UHPHS/UDPHS: Bad Lock of the USB High speed transceiver DLL
The DLL used to oversample the incoming bitstream may not lock in the correct phase, leading
to a bad reception of the incoming packets.
This issue may occur after the USB device resumes from the Suspend mode.
The DLL is used only in the High Speed mode, meaning the Full Speed mode is not impacted by
this issue.
This issue may occur on the USB device after a reset leading to a SAM-BA connection issue.
Problem Fix/Workaround:
To prevent a SAM-BA execution issue, the USB device must be connected via a USB Full
Speed hub to the PC.
At application level, the DLL can be re-initialized in the correct state by toggling the BIASEN bit
(high -> low -> high) when resuming from the Suspend mode.
The BIASEN bit is located in the CKGR_UCKR register in PMC user interface.
The function below can be used to generate the pulse on the bias signal.
void generate_pulse_bias(void)
{
unsigned int * pckgr_uckr = (unsigned int *) 0xFFFFFC1C;
* pckgr_uckr &= ~AT91_PMC_BIASEN;
* pckgr_uckr |= AT91_PMC_BIASEN;
}
In the USB device driver, the generate_pulse_bias function must be implemented in the “USB
end of reset” and “USB end of resume” interrupts.
52.3
SAM9G46 Errata - Rev. B Parts
52.3.1
Boot ROM
52.3.1.1
Boot ROM: NAND Flash boot does not support ECC Correction
The boot ROM allows booting from block 0 of a NAND Flash connected on CS3. However, the
boot ROM does not feature ECC correction on a NAND Flash.
Most of the NAND Flash vendors do not guarantee anymore that block 0 is error free. Therefore
we advise to locate the bootstrap program into another device supported by the boot ROM
(DataFlash, Serial Flash, SDCARD or EEPROM), and to implement a NAND Flash access with
ECC.
Problem Fix/Workaround
None.
52.3.2
RSTC
52.3.2.1
RSTC: Software reset during DDRAM accesses
When a software reset (CPU and peripherals) occurs during DDRAM read access, the CPU will
stop the DDRAM clock.