Age | Commit message (Collapse) | Author |
|
Enables common LCD support for Tegra2 and Tegra3
BUG=chromium-os:23496
TEST=Built ok for Cardhu, Waluigi and Seaboard.
Change-Id: I938824045440cc4964c2ac6bf727a90ee5f129b4
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/14692
|
|
Right now our code makes the assumption that there always is one
SCSI drive in the system (the AHCI attached SDD). However, this
might not be the case.
This patch prevents vboot from using an uninitialized disk entry
when instead it should go into recovery mode.
BUG=chrome-os-partner:7716
TEST=none
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Change-Id: I761bbb3c92a60d4205a217c7b025f699deed83b0
Reviewed-on: https://gerrit.chromium.org/gerrit/14753
Tested-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Commit-Ready: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
Generate ANSI 3.64 sequences to handle arrow keys, Fx and other special
keyboard keys.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7666
TEST=on Stumpy in recovery mode, press arrow keys and see the language
of the message change.
Change-Id: I4560ca0c68ea5a9da4cde8247ea5ecc74938f84a
Reviewed-on: https://gerrit.chromium.org/gerrit/14596
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Terry Lambert <tlambert@chromium.org>
Commit-Ready: Terry Lambert <tlambert@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@google.com>
(cherry picked from commit 93954c89f388f3f36149504ebbcd6f6a70fd3a8f)
Reviewed-on: https://gerrit.chromium.org/gerrit/14606
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
On ARM, U-Boot is put at the end of memory, and the code that records the
unused areas of memory to be wiped uses the end of RAM as the upper bound
for the region occupied by U-Boot. On x86, U-Boot may have been relocated to
somewhere lower than the end of RAM because it can normally only address a 32
bit address space. This change makes the wiping code calculate where U-Boot
actually ends on x86 so the areas with large addresses will be wiped properly.
BUG=chrome-os-partner:7579
TEST=Built and booted on Lumpy, Stumpy, and Kaen. On Lumpy, verified that the
area with physical addresses above 4GB was now in the list to be wiped.
Change-Id: Ib7e0818e85daf512b76f85f4e68f88230d301cea
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/14223
|
|
If the USB keyboard is not answering properly the first request on its
interrupt endpoint, just skip it and try the next one.
This workarounds an issue with a wireless mouse dongle which presents
itself both as a keyboard and a mouse but has a non-functional keyboard
interface.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7559
TEST=Boot a stumpy with the wireless mouse and the keyboard plugged in
such a way that the mouse enumerates first. Check we are booting
properly and the key strokes are working in the firmware.
Change-Id: I574f2a4bdb3bc7824b5bd747a237ef0b79dd83ac
Reviewed-on: https://gerrit.chromium.org/gerrit/14362
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
(cherry picked from commit 012bbf0ce0301be2482857e3f03b481dd15c2340)
Reviewed-on: https://gerrit.chromium.org/gerrit/14379
|
|
The implementation of the twostop code blurs the boundary between the
vboot_reference API and the U-Boot implementation. This cleans it up a bit.
BUG=none
TEST=none
Change-Id: I518b4c436bbc52a97820705a9cc2ee949a58e438
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/14182
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
|
|
Allow to reconfigure properly the USB keyboard driver when we enumerate
several times the USB devices and its position in the device tree has
changes.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7188 chrome-os-partner:7430 chrome-os-partner:7432
chrome-os-partner:7559
TEST=On lumpy with usb keyboard configured, run in recovery mode, insert
a bad key, press tab, remove the key, press tab. The recovery info are
displayed properly.
Change-Id: I5a4c0f5a85e6946a51bc5d0f1ad0860979e84113
Reviewed-on: https://gerrit.chromium.org/gerrit/14189
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
The name is already copied when we memcopy the whole structure.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7188 chrome-os-partner:7430 chrome-os-partner:7432
chrome-os-partner:7559
TEST=On lumpy with usb keyboard configured, run in recovery mode, insert
a bad key, press tab, remove the key, press tab. The recovery info are
displayed properly.
Change-Id: Id719858901544403de9f7b8defd5df661510d48e
Reviewed-on: https://gerrit.chromium.org/gerrit/14186
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
When copying the device name, the temporary target variable was twice
smaller than the copy size.
Create a define to ensure this won't break again.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7188 chrome-os-partner:7430 chrome-os-partner:7432
chrome-os-partner:7559
TEST=On lumpy with usb keyboard configured, run in recovery mode, insert
a bad key, press tab, remove the key, press tab. The recovery info are
displayed properly.
Change-Id: Ia9e765555d2f4efba81b8c389be2778cf2b92db0
Reviewed-on: https://gerrit.chromium.org/gerrit/14185
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
When keys are pressed on the numeric keypad, emit key codes for the numbers,
operators, dot and enter.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:7436
TEST=On lumpy with USB keyboard activated, boot in dev mode and press
enter (on the numeric keypad) to boot.
Change-Id: I4a50a26c8dca17c015743c16475833447769765b
Reviewed-on: https://gerrit.chromium.org/gerrit/13890
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
|
|
This allows booting without a display, mostly as a way of calculating
the time that LCD init and maintenance costs us. Perhaps we might
integrate the lcd and video APIs within U-Boot - it would be a much
nicer solution. With that in mind I feel it is not work refactoring
this into three separate (lcd, video, none) files to implement the
display API.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: Iea4656f8939f7f2fd78292827091de4ee379954b
Reviewed-on: https://gerrit.chromium.org/gerrit/13369
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
|
|
This behaviour is not expected, so remove it. For devs the fdt config
option bootstage-force-report is provided to generate this report.
BUG=chromium-os:20020
TEST=build and boot on Kaen, see that message does not appear
Change-Id: I0394aacfbfed79594dbe44157a557562c2947345
Reviewed-on: https://gerrit.chromium.org/gerrit/13378
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This adds a new type of boot timer, which records the time taken by
an operation, rather than marking the instant when it occurred. This
is useful to track the amount of time spent in a repeating activity
during boot.
To use this, call bootstage_start() at the start of the activity, then
bootstage_accum() at the end, to add this segment of time to the total.
You can call them (start first, then accum) as many times as you like.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I3f1b536dc140c91a4a780188f6974dc37780f4f0
Reviewed-on: https://gerrit.chromium.org/gerrit/13370
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
BUG=chrome-os-partner:5752
TEST=Use USB keyboard in u-boot (recovery mode) with later
commit that enables this code
Change-Id: I60ee2ef94ef0aca9009b9fa6a370d7e4e0536753
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: https://gerrit.chromium.org/gerrit/13490
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
This option delays console initialization until after relocation. This
can save time if this init is relatively expensive, since after
relocation the CPU is often running much faster.
This option should be used in conjunction with CONFIG_PRE_CONSOLE_BUFFER
to ensure that all console output is buffered until the console is
ready for it.
This saves about 30ms boot time.
BUG=chromium-os:22938
TEST=build and boot on Kaen
Change-Id: I3a774b418d45e7be9338f9942df445c2c2baa528
Reviewed-on: https://gerrit.chromium.org/gerrit/13207
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
|
|
This is a revised version of this patch which fixes an ARM bug.
This change plumbs the size of the GBB specified in the device tree to the
functions that read it from the flash into memory, and adds checks to those
functions to make sure they don't spill out of the in memory GBB. From a
security standpoint this is a largely theoretical problem since the GBB is
in the read only portion of flash and if that can be modified the machine
is totally compromised, but it's possible somehow an attacker could force
vboot to read the GBB from the wrong place. From a practical perspective
it's not a bad idea to check this to avoid accidental memory corruption.
BUG=chromium-os:24223
TEST=Built and booted on Lumpy. Built for Kaen.
Change-Id: I90d23fd6e055db595af12b1bd63d9932cbffe7ae
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/13279
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Gabe Black <gabeblack@chromium.org>
|
|
This breaks recovery mode on Kaen - the bitmaps are not displayed.
This reverts commit e1153e1f56ebebff188f3693e534f10bd68e6f07
Change-Id: I300ae39382dc1960bb0375ad660a88b65181edc9
Reviewed-on: https://gerrit.chromium.org/gerrit/13274
Reviewed-by: Gabe Black (Do Not Use) <gabeblack@google.com>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Provide a function to detect USB device insertion/removal in order to
avoid having to do USB enumeration in a tight loop when trying to detect
peripheral hotplugging.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752 chrome-os-partner:6344
TEST=on Lumpy, insert and remove a USB key in recovery mode.
Change-Id: I18dc97d54cd909acea754fd9b3a4b7f4fc3219ec
Reviewed-on: https://gerrit.chromium.org/gerrit/13249
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
|
|
This change plumbs the size of the GBB specified in the device tree to the
functions that read it from the flash into memory, and adds checks to those
functions to make sure they don't spill out of the in memory GBB. From a
security standpoint this is a largely theoretical problem since the GBB is
in the read only portion of flash and if that can be modified the machine
is totally compromised, but it's possible somehow an attacker could force
vboot to read the GBB from the wrong place. From a practical perspective
it's not a bad idea to check this to avoid accidental memory corruption.
BUG=chromium-os:24223
TEST=Built and booted on Lumpy. Built for Kaen.
Change-Id: I4f33552f9d27321e73659520b08be52d775a6a9b
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/13228
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
|
|
When doing a "GET_REPORT" request on the keyboard control endpoint,
the report ID should 0 (ie report ID not used) rather than 1
as reports are not used in boot mode.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752
TEST=use various USB keyboard and check their behavior with the USB analyzer.
Change-Id: I8706a91473534e251f5bc97d8d97ab92d2b6e65d
Reviewed-on: https://gerrit.chromium.org/gerrit/13149
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
|
|
https://gerrit.chromium.org/gerrit/11152 introduced a bug where the
gbb pointer used during rewriteable firmware boot is bogus.
The pointer is retrieved from the 'chromeos-config' section of the
device tree, but on x86 platform this memory area is never
initialized. The fix is to make sure that the proper gbb address in
the CPU address space is used before gbb contents are accessed.
What it boils down to is that when CONFIG_HARDWARE_MAPPED_SPI is set,
gbb address should be determined before setup_gbb_and_cdata() is
called.
To accomplish that fdt_decode_twostop_fmap() is being modified to
retrieve the flash base address among other things. Calling this
function before setup_gbb_and_cdata() allows to assign the gbb pointer
before it is used.
`google-binary-block' is not yet being removed from the cromeos-config
section of the device tree as this could break some tests.
BUG=chromium-os:22528
BUG=chrome-os-partner:7155
TEST=manual
. build a new firmware image and program it on a Lumpy
. verify that the device comes up as expected
. modify the firmware to use read/write path as suggested by hungte@
cd ~/trunk/src/platform/vboot_reference/scripts/image_signing
./resign_firmwarefd.sh /build/lumpy/firmware/image.bin \
/build/lumpy/firmware/new_image.bin \
../../tests/devkeys/firmware_data_key.vbprivk \
../../tests/devkeys/firmware.keyblock \
../../tests/devkeys/firmware_data_key.vbprivk \
../../tests/devkeys/firmware.keyblock \
../../tests/devkeys/kernel_subkey.vbpubk \
1 0
. put new_image.bin into a lumpy flashrom
. reboot the device
. observe it come up, printing on the console
'vboot_twostop: jump to readwrite main firmware at 0x1110000, size 0xdffc0'
along the way
Change-Id: Ieeaadafdf31ee6199a6f1fce0b9684dd494a7602
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/12969
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
This setting is now in the fdt, so remove the CONFIG item.
BUG=chromium-os:23496
TEST=build and boot on Seaboard, T33, Kaen
Change-Id: I336a6cc2140c725fdda85330efe617f82f205a90
Reviewed-on: https://gerrit.chromium.org/gerrit/12250
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
If the primary input of the device is a USB keyboard (as defined by the
FDT) and we are in developer mode, enumerate the USB devices at startup
and get key strokes from USB keyboard.
The keyboard reading is not working correctly yet on the recovery path
due to the USB mass storage polling code doing continuous re-enumeration
on the USB controller.
BUG=chrome-os-partner:5752
TEST=tested on Stumpy and Lumpy, with and without usb-keyboard set in the
device tree, check Ctrl+U, Ctrl+D and space are working as expected.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: Ib46d6086ae5e5ce631d5f91b467f7b2bf90644d0
Reviewed-on: https://gerrit.chromium.org/gerrit/12543
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
When U-Boot is configured with CONFIG_IOMUX,
even if the usbkbd is the highest priority input device
(e.g. stdin=="usbkbd,serial"), the console input was not switched
to the USB keyboard when enumerating usb devices using "usb start".
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line.
Change-Id: I7d15a7bea9de97a1fad79cf269772878e5dd03c3
Reviewed-on: https://gerrit.chromium.org/gerrit/12603
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
|
|
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752
TEST=on Lumpy, test Ctrl+D behavior with and without usb-keyboard set
in the device tree.
Change-Id: I7bb2f6ea18f5edadea93f9e5d23ed49ed57a3b23
Reviewed-on: https://gerrit.chromium.org/gerrit/12589
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
|
|
BUG=chromium-os:23496
TEST=built Seaboard and Waluigi OK
Signed-off-by: Tom Warren <twarren@nvidia.com>
Change-Id: I9045f77032038435180b68c9a7f79c3f0cca1989
Reviewed-on: https://gerrit.chromium.org/gerrit/12391
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: Remy Bohmer <linux@bohmer.net>
Cc: Wolfgang Denk <wd@denx.de>
(cherry picked from u-boot-usb.git
commit dbd4480edaee4b1c4c401d966b6686adf226aa96)
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: I36e8666e7d2433bed4e6ec31141fef4b347d4627
Reviewed-on: https://gerrit.chromium.org/gerrit/12514
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
|
|
* Support dynamic allocation of devices
* Passing data via usb device privptr
* Reorder functions to avoid forward declarations
* Introduce generic polling mechanism to fix musb and ehci-hcd breakage
due to using "extern new;" to access keyboard driver data!
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: Remy Bohmer <linux@bohmer.net>
Cc: Wolfgang Denk <wd@denx.de>
(cherry picked from u-boot-usb.git
commit e9831b4870b89097923d06bcd439c4f491fe3828)
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: I4836151684aeb30b36077ddf63a5326ded3e6944
Reviewed-on: https://gerrit.chromium.org/gerrit/12513
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
|
|
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: Remy Bohmer <linux@bohmer.net>
Cc: Wolfgang Denk <wd@denx.de>
(cherry picked from u-boot-usb.git
commit 0d648d1c78d22b0ab586d0c7deace3069041a09f)
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: I54f12a27ea6f6e21a54fb016a754785c6e8231d5
Reviewed-on: https://gerrit.chromium.org/gerrit/12512
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
This allows the keyboard to avoid requests via Interrupt Endpoint altogether and
run all requests via Control Endpoint. This uses the Get_Report request.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Remy Bohmer <linux@bohmer.net>
(cherry picked from u-boot-usb.git
commit 24e626cafd0793843c3e38439237c4031cef7ebf)
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: I55a47a6193ff3c7ce55510ebea922e5223cfc29c
Reviewed-on: https://gerrit.chromium.org/gerrit/12511
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
(cherry picked from u-boot-usb.git
commit 01a97d45d1be79960570fb345b2c15331f79f053)
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:5752
TEST=on Lumpy, use USB keyboard to enter commands on U-Boot command line
Change-Id: I6e9f7b42c4da49eca8d0932aad215fd1138e464a
Reviewed-on: https://gerrit.chromium.org/gerrit/12509
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
|
|
This reads the frequency of a named clock from the fdt.
BUG=chromium-os:23496
TEST=build and boot on Seaboard, T33, Kaen
Change-Id: Ib35bf7ef749f51862644218b1015057ca4e25203
Reviewed-on: https://gerrit.chromium.org/gerrit/12243
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
CONFIG_SYS_PLLP_BASE_IS_408MHZ is meant only for T30 builds.
Don't override to 216MHZ if not Tegra3 && not 408MHZ
BUG=chromium-os:23521
TEST=built Seaboard, Waluigi and tested Waluigi. x86 build in queue.
Signed-off-by: Tom Warren <twarren@nvidia.com>
Change-Id: If9517c473e76b8a1a49c6ff81891946cdb263a44
Reviewed-on: https://gerrit.chromium.org/gerrit/12219
Commit-Ready: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
This was missed at the time.
BUG=chrome-os-partner:6585, chromium-os:22528
TEST=build and boot on Kaen, see that it doesn't cold reboot now
Change-Id: Ied4f08a5078312dbee4ae4b0715e5c02d55f159a
Reviewed-on: https://gerrit.chromium.org/gerrit/11879
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
|
|
Move the malloc() out of fdt_decode_alloc_region() and rename it
accordingly. This makes the code somewhat cleaner and allows us
to print a sensible error message.
BUG=chromium-os:17062
TEST=build and boot on Kaen
Change-Id: I8edc8809baa42578e74c5e42cf47494b31b774e7
Reviewed-on: https://gerrit.chromium.org/gerrit/11878
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
Signed-off-by: Tom Warren <twarren@nvidia.com>
BUG=chromium-os:21033
TEST=Built and booted OK on my Waluigi. UART is OK, mmc, spi, i2c OK.
Note that this is only valid with CONFIG_SYS_PLLP_BASE_IS_408MHZ.
No affect on Tegra2. Seaboard builds fine, BTW.
Change-Id: I05a367afd1e78a2170d7308a658ce64017850ca0
Reviewed-on: https://gerrit.chromium.org/gerrit/11811
Tested-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Che-Liang Chiou <clchiou@chromium.org>
|
|
This adds the tftpput command to U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 2d46cf291eae29a42bb5ca3d280d2b136339686b)
Change-Id: I7d0dc1fd78d9269ed932899cb1c301771ee24fbf
Reviewed-on: https://gerrit.chromium.org/gerrit/11802
Commit-Ready: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
We need something akin to load_addr to handle saving data.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 1aec244acf9daf0d4dad80fe86b2c2b7404251d6)
Change-Id: I56c586abb3e075f0ab422c833637a3160d7e2a5f
Reviewed-on: https://gerrit.chromium.org/gerrit/11800
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
This is a better name for this protocol. Also remove the typedef to keep
checkpatch happy, and move zeroing of NetBootFileXferSize a little
earlier since TFTPPUT will need to change this.
(cherry-picked from e4bf0c5)
Change-Id: I90d03045de0231553a693f7119bdcc67a908e3c9
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11796
|
|
It seems we put numbers and addresses into environment variables a lot.
We should have some functions to do this.
(cherry picked from commit d67f10c)
Change-Id: I922e72a7db872f26774459a6dc074a80016ef904
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11792
Reviewed-by: Doug Anderson <dianders@chromium.org>
|
|
This function is generally useful and shouldn't hide away in hush. It
has been moved as is.
Signed-off-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 3cce8a5496452285e1828984ad3945417205cfc3)
Change-Id: I014f58e901e6b035b5eeb694c62e6e881a7b75c2
Reviewed-on: https://gerrit.chromium.org/gerrit/11791
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
|
|
On X86 systems the hardware maps the bootprom SPI flash chip into the
top of memory address range. This could be used for accessing all
information in the SPI flash.
The vboot-reference code requires access to FMAP sections containing
cryptographic information, and as of today, u-boot reads the whole
sections, which are 64 KB in size, even though the actual areas
accessed by vboot-reference are much smaller.
A much faster way of accessing this information would be just passing
around pointers to the appropriate memory areas. This would eliminate
one copy, and also would make sure that only the areas actually
accessed get fetched from SPI flash.
This patch provides this ability trying to keep code changes to a
minimum.
New feature is enabled by defining CONFIG_HARDWARE_MAPPED_SPI. The
firmware storage API for file reads changes when the new configuration
option is set: a pointer to pointer to buffer is passed to the
read_spi() function instead of a pointer to buffer. When the new
feature is enabled the read_spi() function sets the pointer value to
point to the requested data instead of copying the data into the
buffer.
A new data type is introduced (read_buf_type), which is set to be a
(void *) if the new feature is not enabled, or (void **) otherwise.
This type is used as the buffer pointer in the spi_read() function.
Code allocating/freeing buffers used to keep data read from SPI flash
is now conditionally compiled.
Call sites for the spi_read() function are modified to adjust the
buffer pointer parameter (pass the address of the parameter instead of
the parameter, when the new feature is enabled).
gbb field access functions can be aliased to gbb_init(), as they all
in fact do the same - read a certain section of the gbb area.
This change does not benefit the ARM implementations, and makes the
code more complicated that it should be. Some u-boot rearchitecture
along with vboot_reference API enhancements could address this. A
tracking issue
(http://code.google.com/p/chromium-os/issues/detail?id=22528) has been
opened for that.
BUG=chrome-os-partner:6585, chromium-os:22528
TEST=manual
. build a new stumpy firmware image
. boot the stumpy, observe it start up chromeos.
. assess the boot timing using the cbmem.py utility (this
modification shaves in excess of 100ms off the boot time).
. disable the new feature, build a stumpy image, observe that is
still boots chromeOs.
. run emerge-terga2_kaen chromeos-u-boot to confirem that ARM
version builds cleanly.
Change-Id: I4e6ab530d24f5771b5a86a48d3f3135101b469a6
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/11152
|
|
BUG=chromium-os:21540
TEST=Built u-boot and booted u-boot on tegra2_kaen
Change-Id: Id6f11512ea1a95bd57b600601b488ae20b34db2d
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10808
Reviewed-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
On the tegra30, it appears that the "DVC" i2c controller has been
normalized and no longer requires special semantics for accessing it
(it has also just been renamed to "i2c5"). This change makes it so
that we don't pick DVC semantics based on the periperal ID, but
instead allow the device tree to specify.
BUG=chromium-os:21540
TEST=Compiled / booted on Kaen
Change-Id: Idfd96d1193b5ac267c61416544c63cc03dab396d
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/10279
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
This moves debug messages from manually including their own
function name to using __func__ to get it. This is less error
prone. As a result of this, some error messages are now fixed
to list the proper function name.
BUG=None
TEST=Added '#define DEBUG 1' to this file and saw that several
of the debugs messages seemed fine; no compiler warnings found.
Change-Id: I548c3e2e8850ee558149b9879d2801c19fe21d63
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/10339
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
This region is now marked properly in the e820 table, so it doesn't need to be
explicitly preserved by u-boot any more.
BUG=None
TEST=Built and booted on Stumpy. Verified that the i915 DRM driver was able to
find the vbios tables, or at least didn't complain that it couldn't.
Change-Id: I2d5953e00d302e68f076f9bdd77a5efbbb93a64a
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://gerrit.chromium.org/gerrit/10334
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
Exclude kcrashmem from vboot unused memory wipe to allow for recovery of
kernel crash dumps. If the kcrashmem size changes, then the corresponding
fdt must be updated.
BUG=chrome-os-partner:5168
TEST=Manually observed kcrash preserved
Signed-off-by: Katie Roberts-Hoffman <katierh@chromium.org>
Change-Id: Iecb2bd7f7df958125ed3cb3bf0b789602e314e7c
Reviewed-on: http://gerrit.chromium.org/gerrit/8942
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Katie Roberts-Hoffman <katierh@chromium.org>
Tested-by: Katie Roberts-Hoffman <katierh@chromium.org>
|
|
BUG=None
TEST=Ran vboot_test memwipe on Stumpy and saw it pass.
Change-Id: Ibac1d9ae10804b87b31127af2f60cb6d3dd565c7
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://gerrit.chromium.org/gerrit/10068
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@google.com>
|
|
The implementation adds the e820 regions marked as RAM, removes the ones that
aren't, manually removes an area that is incorrectly left out of the e820 map,
and then uses the the protect_u_boot_memory function to protect the generic
u-boot memory regions.
BUG=chrome-os-partner:6194
BUG=chrome-os-partner:6195
TEST=Boot on Stumpy. Manually check the wipe areas reported during boot.
Change-Id: Icaf7b9167282f9ab418d98491aa0493f020e287d
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://gerrit.chromium.org/gerrit/10007
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
|
|
This new organization will allow x86 to do things differently, and also avoid
duplicating code.
BUG=chrome-os-partner:6194
BUG=chrome-os-partner:6195
TEST=Built and booted on Stumpy and Kaen.
Change-Id: Ifb47d08c2df9116a10f6090b15614828e3cba9e1
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://gerrit.chromium.org/gerrit/10005
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-by: Che-Liang Chiou <clchiou@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
|