Commit Graph

840 Commits

Author SHA1 Message Date
Masahiro Yamada 70b70db64a UPSTREAM: libfdt: migrate fdt_wip.c to a wrapper of scripts/dtc/libfdt/fdt_wip.c
Now, lib/libfdt/fdt_wip.c is the same as scripts/dtc/libfdt/fdt_wip.c

Change the former to a wrapper of the latter.

Change-Id: Ifce4c63db38146297c14218ef94d226bf6e3bb27
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 26e961c8cfdff00c5c9389d301d9a2eb10eb844c)
2018-01-17 15:27:28 +08:00
Masahiro Yamada e1c3728190 UPSTREAM: libfdt: move fdt_find_regions() to fdt_region.c from fdt_wip.c
All the other fdt_*_region() functions are located in fdt_region.c,
while only fdt_find_regions() was added to fdt_wip.c, strangely.

Move it to the suitable place.

Change-Id: I463419815b4132b6e39b5b02a857126201a854fb
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 87be1e9fb4dcc130e90d497cc5ce49c715efc6c2)
2018-01-17 15:27:28 +08:00
Marek Vasut acda6ec11c UPSTREAM: fdtdec: Support parsing multiple /memory nodes
It is legal to have multiple /memory nodes in a device tree . Currently,
fdtdec_setup_memory_size() only supports parsing the first node . This
patch extends the function such that if a particular /memory node does
no longer have further "reg" entries and CONFIG_NR_DRAM_BANKS still
allows for more DRAM banks, the code moves on to the next memory node
and checks it's "reg"s. This makes it possible to handle both systems
with single memory node with multiple entries and systems with multiple
memory nodes with single entry.

Change-Id: Idc8b4bebc916b6a6bc0d2deb3c4008921d268d1e
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 942ee0933e881ff500aae7e42309bf6abbc495d4)
2018-01-17 15:27:28 +08:00
Masahiro Yamada 5d099091a8 UPSTREAM: lib: libfdt: wrap scripts/dtc/libfdt/* where possible
lib/libfdt/ and scripts/dtc/libfdt have the same copies for the
followings 6 files:
  fdt.c fdt_addresses.c fdt_empty_tree.c fdt_overlay.c fdt_strerr.c
  fdt_sw.c

Make them a wrapper of scripts/dtc/libfdt/*.  This is exactly what
Linux does to sync libfdt.  In order to make is possible, import
<linux/libfdt.h> and <linux/libfdt_env.h> from Linux 4.14-rc5.

Unfortunately, U-Boot locally modified the following 3 files:
  fdt_ro.c fdt_wip.c fdt_rw.c

The fdt_region.c is U-Boot own file.

I did not touch them in order to avoid unpredictable impact.

Change-Id: I154855ba51291bf56775714c0066247431d66244
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 50a327ded68b7e675389ad284ea3f8c62e683bda)
2018-01-17 15:27:28 +08:00
Masahiro Yamada b63953bc21 UPSTREAM: libfdt: change libfdt_internal.h to a wrapper of scripts/dtc/libfdt/*
Fortunately, U-Boot did not modify libfdt_internal.h locally.

Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be
periodically synced with the upstream DTC (or kernel).

Change-Id: Ia9e6f3ca1f19a3cfe9f85b02ae792e85cf81798e
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 35a33baea59210924bceedabcfba794f0fed59dd)
2018-01-17 15:27:28 +08:00
Masahiro Yamada 81a2b0debe UPSTREAM: libfdt: change fdt.h to a wrapper of scripts/dtc/libfdt/*
Fortunately, U-Boot did not modify fdt.h locally.

Change it to a wrapper of scripts/dtc/libfdt/fdt.h, which will be
periodically synced with the upstream DTC (or kernel).

Change-Id: I3a40cb81ecacf189af3f04fe0b599628f70f81f9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 9e65b01ac57f7be2bbc17c9f4c0ee43fab22221e)
2018-01-17 15:27:28 +08:00
Masahiro Yamada 815366520a UPSTREAM: pylibfdt: move pylibfdt to scripts/dtc/pylibfdt and refactor makefile
The pylibfdt is used by dtoc (and, indirectly by binman), but there
is no reason why it must be generated in the tools/ directory.

Recently, U-Boot switched over to the bundled DTC, and the directory
structure under scripts/dtc/ now mirrors the upstream DTC project.
So, scripts/dtc/pylibfdt is the best location.

I also rewrote the Makefile in a cleaner Kbuild style.

The scripts from the upstream have been moved as follows:

  lib/libfdt/pylibfdt/setup.py -> scripts/dtc/pylibfdt/setup.py
  lib/libfdt/pylibfdt/libfdt.i -> scripts/dtc/pylibfdt/libfdt.i_shipped

The .i_shipped is coped to .i during building because the .i must be
located in the objtree when we build it out of tree.

Change-Id: I48233cbae93794809397b7160234469f66fa11dc
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 15b97f5c5e6d88e0560c6928f3acd01c999a494d)
2018-01-17 15:27:28 +08:00
André Draszik 726c9bee54 UPSTREAM: tpm: fix reading of permanent flags
The offset of the permanent flags structure is in a different
place in the response compared to what the code is doing,
which gives us a completely useless result.

Fix by replacing hand-crafted code with generic parser
infrastructure.

Change-Id: I29e8e1ec7c8ae04d2bf9815290064a54a68c2b88
Signed-off-by: André Draszik <adraszik@tycoint.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit e8155dfe33eb2b3e538e8717d6578c1d08651454)
2018-01-17 15:27:28 +08:00
zijun_hu 51380c3b1c ARMv8: get new GD address from gd->new_gd directly
the new GD address is calculated via board data BD currently
it require the new GD area locates below BD tightly, so a strict
constraint is imposed on memory layout which maybe make special
platform unpleasant.

fix it by getting new GD address from gd->new_gd directly.

Change-Id: I9fdfbbb13a7b0a572d7aa8394f754148c6285669
Signed-off-by: zijun_hu <zijun_hu@htc.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 01a835998935b78c31e80227358ac11212d60878)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot 476f6045b8 UPSTREAM: spl: dm: Make it possible for the SPL to pick its own DTB from a FIT
u-boot can be embedded within a FIT image with multiple DTBs. It then
selects at run-time  which one is best suited for the platform.
Use the same principle here for the SPL: put the DTBs in a FIT image,
compress it (LZO, GZIP, or no compression) and append it at the end of the
SPL.

Change-Id: Ifebdd14bdf1abc923d228f9f3947e719c8645356
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
[trini: Move default y of SPL_MULTI_DTB_FIT_DYN_ALLOC to it being the
default choice if SYS_MALLOC_F, drop spl.h include from lib/fdtdec.c
it's unused.]
Signed-off-by Tom Rini <trini@konsulko.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 2f57c95100f231de0f4e0301237cbe477e09084b)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot 6f869ebd90 UPSTREAM: fdtdec: sort include files
Sort include files in accordance to U-Boot coding style.

Change-Id: I3c7992edd31468f4105a95b86a6f05108e751e92
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 035d64025c3e32a2f372981f86fc69255feeb2b2)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot 205ac79efb UPSTREAM: lib: allow building lzo for the SPL
Change-Id: If6ccf36b13632f5450f700b8931975a4742a698e
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit f52bdf4b678defea2341aa4b68736e6978180222)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot 194712615e UPSTREAM: gzip: add a function to parse the header
Change-Id: I9829ad25a955eb4764ae2e66f1c32751703d9ae6
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 376ddf9d4a21d0af4c70e97c52e5f0854fb2d696)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot df70772d8a UPSTREAM: lzo: add a function to check the validity of the header
Change-Id: I8835606db327dc958e90ce717ae4fe85439b46e3
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit d753f942ec12e6b5b2db73698aa6c55588053d3a)
2018-01-17 15:27:28 +08:00
Jean-Jacques Hiblot 2bbcffb1d3 UPSTREAM: dts: renamed FIT_EMBED to MULTI_DTB_FIT and moved it to the dts Kconfig
CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it
MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing
multiple DTBs. Also move the option to the Kconfig dedicated to the DTS
options and create a README for this feature.

Change-Id: Ide55c474339db3ccd5e20499c54c8bb41fe3a2c9
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 11955590a284ecb75892aad5f1174ca1b94a709b)
2018-01-17 15:27:28 +08:00
Marek Behún 92193ef734 UPSTREAM: lib: Add CRC32-C
This is needed for BTRFS.

Change-Id: I7415e99a6f06aef89f3520ebe9a9ba92a9189059
Signed-off-by: Marek Behun <marek.behun@nic.cz>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 85d8bf57131a21424b50e50884372e813345f09a)
2018-01-17 15:27:28 +08:00
Pantelis Antoniou d80212386f UPSTREAM: fdt: Allow stacked overlays phandle references
This patch enables an overlay to refer to a previous overlay's
labels by performing a merge of symbol information at application
time.

In a nutshell it allows an overlay to refer to a symbol that a previous
overlay has defined. It requires both the base and all the overlays
to be compiled with the -@ command line switch so that symbol
information is included.

base.dts
--------

	/dts-v1/;
	/ {
		foo: foonode {
			foo-property;
		};
	};

	$ dtc -@ -I dts -O dtb -o base.dtb base.dts

bar.dts
-------

	/dts-v1/;
	/plugin/;
	/ {
		fragment@1 {
			target = <&foo>;
			__overlay__ {
				overlay-1-property;
				bar: barnode {
					bar-property;
				};
			};
		};
	};

	$ dtc -@ -I dts -O dtb -o bar.dtb bar.dts

baz.dts
-------

	/dts-v1/;
	/plugin/;
	/ {
		fragment@1 {
			target = <&bar>;
			__overlay__ {
				overlay-2-property;
				baz: baznode {
					baz-property;
				};
			};
		};
	};

	$ dtc -@ -I dts -O dtb -o baz.dtb baz.dts

Applying the overlays:

	$ fdtoverlay -i base.dtb -o target.dtb bar.dtb baz.dtb

Dumping:

	$ fdtdump target.dtb
	/ {
            foonode {
                overlay-1-property;
                foo-property;
                linux,phandle = <0x00000001>;
                phandle = <0x00000001>;
                barnode {
                    overlay-2-property;
                    phandle = <0x00000002>;
                    linux,phandle = <0x00000002>;
                    bar-property;
                    baznode {
                        phandle = <0x00000003>;
                        linux,phandle = <0x00000003>;
                        baz-property;
                    };
                };
            };
            __symbols__ {
                baz = "/foonode/barnode/baznode";
                bar = "/foonode/barnode";
                foo = "/foonode";
            };
	};

Change-Id: If72870ec3e9260ccd4fbcbaff27ba035d001bd00
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit f00c36a01e774dea1ed2a1171da9e372610ee8eb)
2018-01-16 18:16:48 +08:00
Tien Fong Chee 174235d4a2 UPSTREAM: libfdt: Initialize the stack variable
Report Coverity log:
The code uses a variable that has not
been initialized, leading to unpredictable
or unintended results.

Change-Id: I488a9d183590a2dc1ef049351d0c71a4eded2299
Reported-by: Coverity (CID: 60519)
Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 18c991ca2bd72c30b7fb578cee8b5c7c835d383d)
2018-01-16 18:14:14 +08:00
Rob Clark 48d1b0a57c UPSTREAM: lib: strto: fix incorrect handling of specified base
The strto functions should honor the specified base (if non-zero) rather
than permitting a hex or octal string when the user wanted (for example)
base 10.

This has been fixed somewhere along the way in the upstream linux kernel
src tree, at some point after these was copied in to u-boot.  And also
in a way that duplicates less code.  So port _parse_integer_fixup_radix()
to u-boot.

Change-Id: I4e2383c6d8ac4666e7e4e40b15f7577522bc9700
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 2e794614838292499910060509d3c4a7aaed986a)
2018-01-16 18:14:09 +08:00
Rob Clark aa5728ff9b UPSTREAM: vsprintf.c: add GUID printing
This works (roughly) the same way as linux's, but we currently always
print lower-case (ie. we just keep %pUB and %pUL for compat with linux),
mostly just because that is what uuid_bin_to_str() supports.

  %pUb:   01020304-0506-0708-090a-0b0c0d0e0f10
  %pUl:   04030201-0605-0807-090a-0b0c0d0e0f10

It will be used by a later efi_loader paths for efi variables and for
device-path-to-text protocol, and also quite useful for debug prints
of protocol GUIDs.

Change-Id: I6b0920ae6fe99ac0638c9c3c8eed6ea3f964d2b5
Signed-off-by: Rob Clark <robdclark@gmail.com>
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 22ada0c8e6d50281af72176eecdfc356c794639c)
2018-01-16 18:13:59 +08:00
Rob Clark 5ec685037a UPSTREAM: vsprintf.c: add UTF-16 string (%ls) support
This is convenient for efi_loader which deals a lot with UTF-16.  Only
enabled with CC_SHORT_WCHAR, leaving room to add a UTF-32 version when
CC_SHORT_WCHAR is not enabled.

Change-Id: I3c6cd45db5f29157760f99bc5956b482ff96fc6c
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 274325c50951dd16ad2a6f45e79dc062ad47011b)
2018-01-16 18:13:59 +08:00
Rob Clark 407d40f45f UPSTREAM: lib: add some utf16 handling helpers
We'll eventually want these in a few places in efi_loader, and also
vsprintf.

Change-Id: I6c04463ad364e46730fcc84b86d38400f433e8de
Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 78178bb0c9dfe2a91a636a411291d8bab50e8a7d)
2018-01-16 18:13:59 +08:00
Simon Glass 48545cfb07 UPSTREAM: moveconfig: Use fd.write() instead of print >>
Adjust this code so that it can work with Python 2 and 3.

Fixes: d73fcb1 (moveconfig: Support building a simple config database)
Change-Id: Ifad4813594adfaf6504cc85f2ee99afb9d1c0fd2
Reported-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit c79d18c4b40d10c0a95b56e51f4517aca4515364)
2018-01-16 18:13:59 +08:00
York Sun b81c4739f4 UPSTREAM: spl: fit: Eanble GZIP support for image decompression
Add Kconfig option SPL_GZIP and SPL_ZLIB to enable gunzip support for
SPL boot, eg. falcon boot compressed kernel image.

Change-Id: I68f64aca8ecad26478f2ce25676253cee7e57d30
Signed-off-by: York Sun <york.sun@nxp.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 7264f2928b46c5f5685e39ed607652c8991e47b6)
2018-01-16 18:13:41 +08:00
Hisping Lin df3e17bde5 lib: optee_client: Fix compile error.
this bug make compile error when we compile all code in android.

Change-Id: Id9b8673576bee13c4df0990bd068548fa11458bf
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-12-08 11:25:16 +08:00
Cody Xie 95a5167379 libavb: Fix compile warning.
Change-Id: I6a36f02348e61c166334221edc157ee8a261253a
Signed-off-by: Cody Xie <cody.xie@rock-chips.com>
(cherry picked from commit a0e0ea07af830fdf873fb874a7e76264597bca3b)
2017-11-22 10:43:28 +08:00
Andy Ye 4aa617558f lib: optee_client: add attestation protocol support using optee
support attestation commands:
at-attest-dh,at-attest-uuid,at-get-ca-request,at-set-ca-request

Change-Id: I3fe94befa57a131e89dbe136c065a948b1631756
Signed-off-by: Andy Ye <andy.ye@rock-chips.com>
2017-11-20 10:32:54 +08:00
Jason Zhu ceecd5fea6 lib: avb: support the atx and public_key verify
1.support the permanent attribute verify
2.support the PRK, PIK, PSK certificate verify
and then get the psk public_key, compare it with
public_key in vbmeta.

If the function is required, please open the macro
AVB_VBMETA_PUBLIC_KEY_VALIDATE.

Change-Id: Ifeab776c76f97fadd980671481ce27d203516673
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-20 10:29:57 +08:00
Jason Zhu fd717dcefe lib: avb: support write efuse
Write the permanent attributes hash to efuse.

Change-Id: Id11586a66f055e7eb1a66997814f351509d49b21
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-20 10:29:57 +08:00
Jason Zhu e291f58fb4 lib: avb: modify load boot partition size
Load the boot image real size other than the
boot partition size. If not, the uboot can not
malloc a big buffer for the all boot partition.

Change-Id: Ifc8d7cc1f214b94f6018c68cb03e8e9ce89781de
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-20 10:26:13 +08:00
Jason Zhu 52b8c717cf lib: avb: close optee client
Change-Id: Iee7c991f7c06acbb064e016e11338cbf846be20d
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:55 +08:00
Hisping Lin 468df3b26a lib: optee_client: add read vboot key flag func
Change-Id: Id0405cc2b695f00b5d7586d01bd0b66279b24430
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:55 +08:00
Jason Zhu fe83bbf40d lib: avb: add reed/write vbootkey hash
The android things require the soc-v key hash to be flashed
using the fastboot. So these function can be used in fastboot
to flash the key hash.

Change-Id: I6e00f2e1e371793b6f0868356ac0a51090adfe5e
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:55 +08:00
Jason Zhu f74d184a88 lib: avb: add a permanent attribute flag
Add a flag to indicate the permanent attributes
have been written or not.

Change-Id: Id0b22158772bdf18466205df5f08cb0ddb820fbf
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:55 +08:00
Jason Zhu 5b09015999 lib: avb: change the prefix of some functions to make them coincident
Change-Id: Id876e6e49fb614e43d9f15cd9d24cee29aead223
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:55 +08:00
Hisping Lin 095e2a8236 lib: optee_client: add R&W attribute flag support.
Change-Id: I682e1d9133c005022351c540f843f383703c7c65
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:54 +08:00
Hisping Lin 46b2a054c3 lib: optee_client: write attr to keymaster
updata keymaster ta and write attributes to keymaster

Change-Id: Iac3e64f7e4da1d6b5700d9f049d5fa8b1427b077
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:54 +08:00
Hisping Lin 2cd27853d2 lib: optee_client: add R&W vboot key hash func
uboot can read vboot key hash from efuse and write
vboot key hash to efuse, secure boot will be enable
after you write vboot key hash.

Change-Id: Ibe7b2a5778a3f38e13a241261617f1be8537c88e
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:54 +08:00
Hisping Lin 165396163e lib: optee_client: notify optee when uboot end
trusty_notify_optee_uboot_end() function is used before uboot
jump into kernel, then optee will free memery and denied
call some tipc functions, denied call read write attribute hash.

Change-Id: I96b5687e1afd5bfdf1780ed1641f5fff2fc17eee
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:54 +08:00
Hisping Lin 6ef445a4c2 lib: optee_client: add support for R&W efuse
Change-Id: I8b06523c5379f253994c3ad89aa3b354d79b4c45
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:53 +08:00
Hisping Lin ae8ec5e139 lib: optee_client: change file name
change OpteeClientTest.c to OpteeClientInterface.c

Change-Id: I68b32a2a4757af655bd4eaa723067f024ff112ef
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2017-11-14 10:55:53 +08:00
Jason Zhu e7e0443e3e avb: modify the function read_from_partition and write_to_partition
There is no need to malloc a space if offset
and num_bytes is multiple of 512 in function
read_from_partition.

The blk_dwrite in write_to_partition do not
return 1 if execute success. So do not need
to judge the return value.

Change-Id: Icd5681815640e86166d05ab3fc74f95d669621c7
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:53 +08:00
Jason Zhu 5170bcddec avb: provide read/write vboot state function for fastboot
Change-Id: I197868d00a24719ce504a25fb81dc1577d2a214e
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:52 +08:00
Jason Zhu 023e4d5516 avb: provide read-write flash_lock_state functions for fastboot
Change-Id: Id6135c58416b0b914d2de8b5d911bf9eb02c5c60
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:52 +08:00
Jason Zhu ccc0859168 tipc: add read/write flashing lock state
The new fastboot cmd need to store the flashing
lock state in order to prevent flash. And the state
is stored in rpmb. So the tipc provide the functions
to read/write the flash_lock_state.

Change-Id: Idf6eb7de7aff1b3257fcd70d0fc87ac7634de4d0
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:52 +08:00
Jason Zhu b71a2499bf avb: provide some functions used by fastboot
In the avb process, the pub_key must be verified
by some permanent attributes.The permanent attributes
is written by fastboot. So the write_permanent_attributes
function is provided to write permanent attributes.
the read_permanent_attributes functions is provided to
verified the data.

Change-Id: Ib448c31062e34ce7f15fc32ab141793755bacf8a
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:51 +08:00
Jason Zhu 2d07abe111 tipc: change the tipc compile conditions
Since the tipc is not used in tpl and
spl, we just compile tipc and generate
in u-boot.bin.

Change-Id: Id2845aef127d209c8243cb4cfee8dfbd04ba1305
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:50 +08:00
Jason Zhu 38de3d97e4 avb: add avb config to spl and tpl
Change-Id: Idc5102e29c4b66acacda554f3c61903606314025
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:50 +08:00
Jason Zhu 844d3f39ae libavb_user: add config depended on tipc
In the avb_ops_user.c file, we use some
functions provided by tipc, so excute the
functions may depend on tipc. If the config
is not enable, it may compile fail.

Change-Id: I323f7e8d675407f2ec2f9f5358d1696b3b118880
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:50 +08:00
Jason Zhu 6c551138ca avb: create avb function for user use
The libavb_user provide some fuctions to get
a/b and avb information from misc or vbmeta
partitions, which can be use in libavb...

It also can use to enable or disable the verification
function by using avb_user_verity_set in the file
avb_user_verify.c.

Since we use fastboot to program our firmware,
some necessary function is provided to fastboot
to get useful information, like slot number, current
slot and so on.

Some functions in the avb_ops_user.c, like read_rollback_index,
depend on the OpteeClientTest.h.

Change-Id: I94f77db30d5c7896724b5da3d218041ebdc1f46a
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
2017-11-14 10:55:49 +08:00