I'm running our P5020 board with 8GB of memory, and having a number of problems with Linux. Our kernel is based off the sdk-v1.5 tag in the Freescale GIT tree. With 4GB of memory every driver worked, but with 8GB the following drivers have failed: MMC, USB, and SATA. In each case the on-chip device only supports 32-bit addressing.
I've fixed MMC by disabling DMA when the board has more than 4GB. Has anybody got USB and SATA working in large memory scenarios?
usb 1-1: device descriptor read/64, error -32
usb 1-1: device descriptor read/64, error -32
usb 1-1: new high-speed USB device number 3 using fsl-ehci
usb 1-1: device descriptor read/64, error -32
usb 1-1: device descriptor read/64, error -32
usb 1-1: new high-speed USB device number 4 using fsl-ehci
usb 1-1: device not accepting address 4, error -32
usb 1-1: new high-speed USB device number 5 using fsl-ehci
usb 1-1: device not accepting address 5, error -32
hub 1-0:1.0: unable to enumerate USB device on port 1
ata2: Signature Update detected @ 504 msecs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80)
ata2: limiting SATA link speed to 1.5 Gbps
ata2: Signature Update detected @ 504 msecs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80)
ata2: Signature Update detected @ 504 msecs
ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Fixed it - in moving to our own board file a typo had disabled SWIOTLB initialisation for platform devices.