u-boot-brain/arch/x86/cpu/quark
Bin Meng 5750e5e29a x86: quark: Optimize MRC execution time
Intel Quark SoC has a low end x86 processor with only 400MHz
frequency. Currently it takes about 15 seconds for U-Boot to
boot to shell and the most time consuming part is with MRC,
which is about 12 seconds. MRC programs lots of registers on
the SoC internal message bus indirectly accessed via pci bus.

To speed up the boot, create an optimized version of pci config
read/write dword routines which directly operate on PCI I/O ports.
These two routines are inlined to provide better performance too.
Now it only takes about 3 seconds to finish MRC, which is really
fast (4 times faster than before).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-09-09 07:48:03 -06:00
..
car.S x86: quark: Add Cache-As-RAM initialization 2015-02-06 12:07:41 -07:00
dram.c x86: quark: Call MRC in dram_init() 2015-02-06 12:07:44 -07:00
hte.c x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
hte.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
Kconfig x86: quark: Bypass TSC calibration 2015-02-06 12:07:42 -07:00
Makefile x86: quark: Enable the Memory Reference Code build 2015-02-06 12:07:43 -07:00
mrc_util.c x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
mrc_util.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
mrc.c arch/x86/cpu/quark/mrc.c: Switch to U_BOOT_DATE / U_BOOT_TIME 2015-03-24 21:22:37 -06:00
msg_port.c x86: quark: Optimize MRC execution time 2015-09-09 07:48:03 -06:00
pci.c x86: Add basic Intel Quark processor support 2015-02-06 12:07:41 -07:00
quark.c x86: Allow pirq_init() to return an error 2015-08-14 03:24:21 -06:00
smc.c x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
smc.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00