All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [RFC PATCH 0/9] x86: Add Intel Quark Memory Reference Code (MRC) support
@ 2015-02-03 11:45 Bin Meng
  2015-02-03 11:45 ` [U-Boot] [RFC PATCH 1/9] x86: Allow overriding TSC_FREQ_IN_MHZ Bin Meng
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: Bin Meng @ 2015-02-03 11:45 UTC (permalink / raw)
  To: u-boot

This series adds the 2nd step of bare support for the Intel Quark
SoC support which can be validated on Intel Galileo board. It adds
Intel Quark Memory Reference Code (MRC) which is ported from Intel
released UEFI BIOS for Quark, which per its name does the memory
initialization for Quark based board. Now with this patch series,
U-Boot boots to the command shell on Intel Galileo gen2 board.

The MRC port work was mainly replacing all UEFI BIOS APIs with
corresponding U-Boot ones, like register access, timer, debug output
etc, however the majority of the time was spent to converting Intel
coding convention to U-Boot's, like comment block //, space to indent,
camel cases, struct typedefs, etc. It took me almost 4 days to finish
the work, but I have not managed to fix all checkpatch warnings given
the code complexity and black magics in the codes. See commit notes
inside patch#3, #4, #5 about the checkpatch warning details.

Currently only the cold boot path is taken by MRC and it takes about
10 seconds from power-up to U-Boot shell. Future work will be done
to support a fast boot path (MRC cache) which is supposed to boot
much faster. With previous Quark patch series, we have a basic support
for Intel Quark SoC in good shape which more additional feature work
can be based upon in the following weeks.


Bin Meng (9):
  x86: Allow overriding TSC_FREQ_IN_MHZ
  x86: quark: Bypass TSC calibration
  x86: quark: Add Memory Reference Code (MRC) main routines
  x86: quark: Add utility codes needed for MRC
  x86: quark: Add System Memory Controller support
  x86: quark: Enable the Memory Reference Code build
  fdtdec: Add compatible id and string for Intel Quark MRC
  dt-bindings: Add Intel Quark MRC bindings
  x86: quark: Call MRC in dram_init()

 arch/x86/Kconfig                      |   40 +-
 arch/x86/cpu/quark/Kconfig            |    5 +
 arch/x86/cpu/quark/Makefile           |    1 +
 arch/x86/cpu/quark/dram.c             |   97 +-
 arch/x86/cpu/quark/hte.c              |  398 +++++
 arch/x86/cpu/quark/hte.h              |   44 +
 arch/x86/cpu/quark/mrc.c              |  206 +++
 arch/x86/cpu/quark/mrc_util.c         | 1499 ++++++++++++++++++
 arch/x86/cpu/quark/mrc_util.h         |  153 ++
 arch/x86/cpu/quark/smc.c              | 2764 +++++++++++++++++++++++++++++++++
 arch/x86/cpu/quark/smc.h              |  446 ++++++
 arch/x86/dts/galileo.dts              |   25 +
 arch/x86/include/asm/arch-quark/mrc.h |  189 +++
 include/dt-bindings/mrc/quark.h       |   83 +
 include/fdtdec.h                      |    1 +
 lib/fdtdec.c                          |    1 +
 16 files changed, 5930 insertions(+), 22 deletions(-)
 create mode 100644 arch/x86/cpu/quark/hte.c
 create mode 100644 arch/x86/cpu/quark/hte.h
 create mode 100644 arch/x86/cpu/quark/mrc.c
 create mode 100644 arch/x86/cpu/quark/mrc_util.c
 create mode 100644 arch/x86/cpu/quark/mrc_util.h
 create mode 100644 arch/x86/cpu/quark/smc.c
 create mode 100644 arch/x86/cpu/quark/smc.h
 create mode 100644 arch/x86/include/asm/arch-quark/mrc.h
 create mode 100644 include/dt-bindings/mrc/quark.h

-- 
1.8.2.1

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-02-06 20:27 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-03 11:45 [U-Boot] [RFC PATCH 0/9] x86: Add Intel Quark Memory Reference Code (MRC) support Bin Meng
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 1/9] x86: Allow overriding TSC_FREQ_IN_MHZ Bin Meng
2015-02-04 16:24   ` Simon Glass
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 2/9] x86: quark: Bypass TSC calibration Bin Meng
2015-02-04 16:24   ` Simon Glass
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 3/9] x86: quark: Add Memory Reference Code (MRC) main routines Bin Meng
2015-02-04 16:24   ` Simon Glass
2015-02-05  8:45     ` Bin Meng
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 4/9] x86: quark: Add utility codes needed for MRC Bin Meng
2015-02-04 16:24   ` Simon Glass
2015-02-05 14:25     ` Bin Meng
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 5/9] x86: quark: Add System Memory Controller support Bin Meng
2015-02-04 16:24   ` Simon Glass
2015-02-05 15:17     ` Bin Meng
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 6/9] x86: quark: Enable the Memory Reference Code build Bin Meng
2015-02-04 16:25   ` Simon Glass
2015-02-04 22:35     ` Bin Meng
2015-02-05  6:58       ` Bin Meng
2015-02-06  0:18         ` Albert ARIBAUD
2015-02-06  1:00           ` Bin Meng
2015-02-06  5:23             ` Simon Glass
2015-02-06 20:27               ` Simon Glass
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 7/9] fdtdec: Add compatible id and string for Intel Quark MRC Bin Meng
2015-02-04 16:25   ` Simon Glass
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 8/9] dt-bindings: Add Intel Quark MRC bindings Bin Meng
2015-02-04 16:25   ` Simon Glass
2015-02-03 11:45 ` [U-Boot] [RFC PATCH 9/9] x86: quark: Call MRC in dram_init() Bin Meng
2015-02-04 16:25   ` Simon Glass
2015-02-04 22:54     ` Bin Meng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.