aboutsummaryrefslogtreecommitdiff
path: root/npcm8xx/README.md
diff options
context:
space:
mode:
authorHavard Skinnemoen <hskinnemoen@google.com>2022-03-31 11:32:37 -0700
committerGitHub <noreply@github.com>2022-03-31 11:32:37 -0700
commit1287b6e42e839ba2ab0f06268c5b53ae60df3537 (patch)
tree524eb07d03ed40f0cf3a3d5737048e75e5088826 /npcm8xx/README.md
parent0c37a43527f0ee2b9584e7fb2fdc805e902635ac (diff)
parent1e1e1186b8a5c69527e65c1555f70943f9e4942b (diff)
downloadvbootrom-1287b6e42e839ba2ab0f06268c5b53ae60df3537.zip
vbootrom-1287b6e42e839ba2ab0f06268c5b53ae60df3537.tar.gz
vbootrom-1287b6e42e839ba2ab0f06268c5b53ae60df3537.tar.bz2
Merge pull request #2 from haowu4682/masterHEADmaster
Add basic NPCM8XX support
Diffstat (limited to 'npcm8xx/README.md')
-rw-r--r--npcm8xx/README.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/npcm8xx/README.md b/npcm8xx/README.md
new file mode 100644
index 0000000..6341583
--- /dev/null
+++ b/npcm8xx/README.md
@@ -0,0 +1,44 @@
+# Virtual Boot ROM for NPCM7xx SoCs
+
+This is not an officially supported Google product.
+
+This is a super simple Boot ROM that is intended to be used as a `-bios` image
+for [QEMU](http://www.qemu.org/) when emulating an NPCM8xx-based machine.
+
+## Building
+
+If you have a 64-bit ARM compiler installed as `aarch64-linux-gnu-gcc`, simply run
+`make`.
+
+If your ARM compiler has a different name, you'll need to override the
+`CROSS_COMPILE` prefix, e.g. like this:
+
+```
+make CROSS_COMPILE=aarch64-linux-gnueabi-
+```
+
+If either case is successful, a `npcm8xx_bootrom.bin` file will be produced.
+
+## Using
+
+The Boot ROM image may be passed to a QEMU system emulator using the `-bios` option. For example like this:
+
+```
+qemu-system-aarch64 -machine npcm845-evb -nographic \
+ -bios "${IMAGES}/npcm8xx_bootrom.bin"
+ -drive file="${IMAGES}/image-bmc,if=mtd,bus=0,unit=0,format=raw,snapshot=on"
+```
+
+## Limitations
+
+* Secure boot is not supported.
+* Only booting from offset 0 of the flash at SPI0 CS0 is implemented.
+* Fallback images (if the first image doesn't boot) are not implemented.
+* Exception vectors are copied to SRAM, but not remapped.
+* Most OTP bits and straps are not honored.
+* The reset type bits are not updated.
+* OTP protection is not implemented.
+* No clock initialization is performed.
+* UART programming protocol is not implemented.
+* Host notification through the PCI mailbox is not implemented.
+* Most fields in the ROM status structure are not set.