Add a new field to the value_data table, which is the function to
use to format the data value.
Signed-off-by: Penny Chiu <pchiu@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Implement command-line option "-s tegra20" and "--soc tegra20". These
mirror the existing -t/--tegra option, but require the full chip name
(tegra20) rather than an abbreviated name (-t20). This is more consistent
with just about everything else upstream.
Suggested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Add the Tegra124 chip support to cbootimage. User can use "-t124" as
option to parse .cfg and generate BCT/image for Tegra124.
Signed-off-by: Penny Chiu <pchiu@nvidia.com>
[swarren, modified change to usage() to avoid re-indenting it all]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
In real-world use-cases, hashing zero-length data likely never happens.
However, it is relevant when testing cbootimage with a dummy zero-length
bootloader binary, e.g.:
touch u-boot.bin
cbootimage -t30 ../tamonten-ng/tegra30.img.cfg tegra30-tec-ng.img
In this scenario, it's useful to create a consistent hash, so that one
can compare the resultant images before and after applying patches, to
check for regressions.
Hence, zero out the hash data so it has consistent content if it isn't
written to.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Using "$@" (rather than #@) quotes any arguments if required. This is
useful if you want to run ./autogen.sh CFLAGS="-ggdb -O0".
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
The SoC specific code is in subdirectories which leads to warnings in
newer
automake versions. The option subdir-objects prevents those warnings.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
This moves an assert down if only "-h" and not SOC is given on the
command line.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Remove previous hardcoded GNUmakefile and replace with autoconf/automake
generated configure script and Makefile.
Signed-off-by: Allen Martin <amartin@nvidia.com>
Change-Id: I48d3f6f20423109dc662418b92900876a8f8d1da
Reviewed-on: http://git-master/r/217547
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
This is in preparation of switching to autotools, add explicit #includes
for header files where there was an implicit dependency.
Signed-off-by: Allen Martin <amartin@nvidia.com>
Change-Id: I8ca5832638ac7043f2b4e687c52bbe6e0a755eef
Reviewed-on: http://git-master/r/217546
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
This is in preparation for adding autotools support to help separate the source
code from the build support files.
Signed-off-by: Allen Martin <amartin@nvidia.com>
Change-Id: I128c258db7bbf2c1adf34fbaad188ea7678b79ff
Reviewed-on: http://git-master/r/217545
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
This adds an install target to the Makefile. cbootimage and bct_dump
are installed to /usr/bin.
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Change-Id: Ib4aba674a7ca206d5de998c649b65772312d510c
Reviewed-on: http://git-master/r/200182
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
fgetc() returns an int. Fix process_config_file() to store the result in
an int, so that comparisons against EOF succeed.
Previously, If "char" defaulted to unsigned (which may be true for armhf),
then when fgetc() returned -1, it would be truncated to 255 when stored
in the char, and then zero-filled rather than sign-extended when comparing
against EOF, which would then fail.
See http://code.google.com/p/chromium-os/issues/detail?id=25632.
Reported-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Change-Id: I018e32df9a87b7c6f9fe24d108e091a7b31a50c8
Reviewed-on: http://git-master/r/192151
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Allen Martin <amartin@nvidia.com>
Add the Tegra114 chip support to cbootimage. User can use "-t114" as
option to parse .cfg and generate BCT/image for Tegra114.
Change-Id: I02bd3f633afccd2c9c0b01d43ed4660fa4b82ae0
Signed-off-by: Penny Chiu <pchiu@nvidia.com>
Reviewed-on: http://git-master/r/169619
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Create a structure called cbootimage_soc_config that defines a chip, and
data tables and functions for that chip.
The main function just sets appropriate instance based on
boot_data_version, then uses the same interface to access different chip
bct data.
Change-Id: I58fbc07012dce8947467c0bea62e2a50126d54fe
Signed-off-by: Penny Chiu <pchiu@nvidia.com>
Reviewed-on: http://git-master/r/173670
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
warning: variable ‘...’ set but not used
warning: comparison between pointer and integer
Change-Id: Ia0b6b4ffca61bfc94a118591578e1b0af55a703f
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-on: http://git-master/r/167565
Reviewed-by: Eric Brower <ebrower@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
And leave a blank line after it, to emulate the layout of configurations
in cbootimage-configs.git.
Change-Id: Ic0ad7622503786df0c38e5ef60e6df5dc722bc4e
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-on: http://git-master/r/167475
Reviewed-by: Allen Martin <amartin@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Eric Brower <ebrower@nvidia.com>
... and paste in the standard NVIDIA license header formatting, and
add a copy of the GPLv2 in COPYING.
Change-Id: I7ef29d4652e09776b03aa9873db5926c80f06f60
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-on: http://git-master/r/167474
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Eric Brower <ebrower@nvidia.com>
Tested-by: Eric Brower <ebrower@nvidia.com>
Reviewed-by: Allen Martin <amartin@nvidia.com>
This allows the BCT to be offset within the memory device. This is a port
of commit 883a7d0 "Add suport for MMC boot image preparation" from
git://gitorious.org/cbootimage/cbootimage.git's trimslice branch. The
description there is:
Add suport for MMC boot image preparation
In order to allow the MBR to be placed at offset 0,
BCT is copied to 128K offset.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Change-Id: Icde53082f5a4645fefb70deb408a42f9920aed1f
Reviewed-on: https://gerrit.chromium.org/gerrit/22935
Reviewed-by: Simon Glass <sjg@chromium.org>
Add the t30 chip support to cbootimage file, use can append
-t20/-t30 chipname option to support the different chip
explicitly, the default is t20 if without this chipname option.
BUG=None
TEST=Test done locally with .cfg file
Change-Id: I0e77f0e0ce2a324bee3287787dcab1c15f3512e4
Reviewed-on: https://gerrit.chromium.org/gerrit/17911
Commit-Ready: Peer Chen <pchen@nvidia.com>
Tested-by: Peer Chen <pchen@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Add the Bctcopy parameter for the bct number in final boot image
file to save the NAND space.
In .cfg file, add "Bctcopy = n(n >= 1)" to specify the bct count.
BUG=chromium-os:17464
TEST=cfg-file
Change-Id: I873a000f9165017db9dec25fb7b18cf082e535ba
Reviewed-on: http://gerrit.chromium.org/gerrit/5207
Reviewed-by: Anton Staaf <robotboy@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
This includes code to look up the human readable string names for enum
values. The next step will be to convert all of our existing BCT files
from binary to config file format. Then the cros_write_firmware and
cros_sign_bootstub tools will need to be changed to read the config file
instead of a binary BCT. The tegra-bct ebuilds will also need to change
to install config files instead of binary BCT files.
BUG=chromium-os:11981
TEST=manually dump a working BCT and run cbootimage to reconstruct the BCT.
flash and boot with the new BCT.
Change-Id: I056735d0638b349580c6993b2976ca55bf4d0ea2
Review URL: http://codereview.chromium.org/6683050
This adds the nvbctlib id value to the field_item struct and makes
the parser tables available outside of parse.c. This lets bct_dump
use these to pretty print a BCT in a format that the parser can
later read back in.
BUG=chromium-os:11981
TEST=Sign and boot a U-Boot image on Seaboard using:
sudo emerge -av cbootimage
USE="recovery flasher" emerge-tegra2_seaboard -av chromeos-u-boot-next
cros_write_firmware --board tegra2_seaboard --firmware /build/tegra2_seaboard/u-boot/u-boot-recovery.bin --sign
Change-Id: Ibcc8ce5c2c62cbfea8ca2850ddd8122b84c0f78f
Review URL: http://codereview.chromium.org/6677007
bct file can't work if miss the bad block table field.
Change-Id: Icf4e64d761e6160f022d4934c4670f435a299933
BUG=
TEST= Test with config file on Seaboard.
Review URL: http://codereview.chromium.org/6676023
This adds human readable output for RAM controller registers default
values stored in a BCT file.
BUG=None
TEST=bct_dump burn-u-boot/bct/default.bct and check EMC_CFG value.
This CL depends on http://codereview.chromium.org/6625006/
Change-Id: I4451d17c144d0273d375e490511e2534accd6de1
Review URL: http://codereview.chromium.org/6626016
This adds human readable output for SPI and SDMMC device
parameters stored in a BCT file. This includes clock
divisors, boot flash type and various flash type specific
parameters.
BUG=None
TEST=bct_dump /build/tegra2_seaboard/u-boot/image.bin
Change-Id: I9f233abf53627ddb00159e105cfa3ff01d38ce5c
This CL depends on: http://codereview.chromium.org/6579041/
Review URL: http://codereview.chromium.org/6576041
This tool dumps a human readable version of the BCT file provided on
the command line to stdout.
Change-Id: Ic9609b16aee307fd78c2d5d472d8d08072573df6
BUG=chromium-os:11981
TEST=run bct_dump on SPI and NAND BCT files and verify that the expected values are displayed.
This CL depends on: http://codereview.chromium.org/6469010/
Review URL: http://codereview.chromium.org/6524004
Add the bct generated function for cbootimage tool.
Change-Id: I2ad282d7dbce1d06d54fa3ee2ef5f550598089b0
BUG=None.
TEST=Test using the cfg file.
Review URL: http://codereview.chromium.org/6579034
Patch from Peer Chen <pchen@nvidia.com>.
These will be reused by my BCT display tool.
Change-Id: I88d595412ec439a96231b81253eb04ed4bfd377d
BUG=chromium-os:10502
TEST=run cbootimage on test config.
Review URL: http://codereview.chromium.org/6469010
cbootimage is a tool used to combine binary .bct, bootloader
and google's component to a spi rom image file.
Change-Id: I25b6fee13d7449fc83ec3802b79cbbbcaae54494