Optee a80 porting

Optee-os add a80 platform support.

This request have three patchs, The patchs summary:
1.gic driver add gic_cpu_init function, mainly for secondary cpu secure stage initialization,
2.Make uart driver more portable, add common console.h and console basic functions,
3.Add plat-sunxi support, the initial version, running on A80 Optimus board.

All patchs only tested on A80 Optimus board, Due to the lack of platform.
Mayeb the uart driver patch should be test on vexpress platform.
How should we deal with this extension? If we're following SMC Calling Convention to the letter there should be a way for normal world to know that this is an extension compared to the TEESMC_OPTEE interface we have today. On the other hand if this is something that is only used once by the boot code (hopefully not the Linux kernel) I guess we could be pragmatic about it.

If this is used by the Linux kernel we more or less have to have a way for the kernel to know that this function is available. Either by putting it in a Static TA which is only available on this platform (what I prefer), or by indicating it with a different UID for the interface.

A third option is of course to see if this can be covered PSCI and squeeze it in there, but I think that would be too much to ask from this patch. It's perhaps a long term goal.