Commit Graph

50016 Commits

Author SHA1 Message Date
Joseph Chen 568848617e common: spl: set default address for entry_point_os
Could be override in boot_from_devices().

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ifbfac5903ec61e65739732949f9e6b8a2704155d
(cherry picked from commit f8ca32e1ca)
2020-04-07 17:47:16 +08:00
Jason Zhu 605bf846bd common: spl: jump next process depend on entry_point_os
The spl can bring up uboot & kernel, and their entry points are diffirent,
so pass their entry points by entry_point_os.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I625d135d219cfbfb620ff1e3d0de5278143f4079
(cherry picked from commit 78628ac9a9)
2020-04-07 17:47:16 +08:00
Jason Zhu 1cb393f1c8 common: spl: rkfw: support bing-up arm32 firmware
1. the arm32 trust firmware is diffirent with arm64, support it.
2. add entry_point_os to indicate the uboot or kernel entry point.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I24d1601323e99f40e81d18f1937f762b2ecc137f
(cherry picked from commit a64fd729d4)

Change-Id: I3b1420989d158c52259365d90011524b047b5750
2020-04-07 17:47:16 +08:00
Jianqun Xu 5d2498f1da pinctrl: rockchip: support mux route flags
Create a new flag to indicate mux route is from topgrf or pmugrf.
 * INVALID: means do not need to set mux route
 * DEFAULT: means same regmap as pin iomux
 * TOPGRF: means mux route setting in topgrf
 * PMUGRF: means mux route setting in pmugrf

Change-Id: I1620054f1af915b9495e16b2d10a3f9cf9fd5980
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-04-07 14:26:24 +08:00
Joseph Chen 162cc77ecd make.sh: support pack uboot.fit
uboot.fit = u-boot-nodtb.bin + u-boot.dtb + tee.bin

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I70ed43fa2ff37d3f9ac0dfef1321a9397901c73f
2020-04-07 12:59:44 +08:00
Joseph Chen d13b75e130 make.sh: itb: call raw command to build 32-bit platform itb file
We need pass TEE_OFFSET to its file.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I8e59ad98c6b54535686a158a6c31e408fc59e7b0
2020-04-07 12:59:27 +08:00
Jason Zhu 100444810c configs: rk1808: delete CONFIG_RKFW_U_BOOT_SECTOR
Use the default address in the Kconfig.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Ic1579b8bf64ffc2bf94be5bb7e7041a1b36c6e89
2020-04-04 10:55:58 +08:00
Jason Zhu f37fcb5201 rockchip: dts: rk1808: add node to spl
Add adc-keys & vcc_phy.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I868eafb889850edaa88e4423620c02167c1b9030
2020-04-04 10:55:58 +08:00
Jason Zhu 3732e2b8b1 clk: rockchip: rk1808: enable saradc in spl
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Iaf91ec37624b3cd2dd7328ae8eb082236a40f83e
2020-04-04 10:55:58 +08:00
Jason Zhu fcb65c6194 spl: rkfw: support bring up different next stage
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Idfca034d4d3eb5a4f757678e62efd7765bf89840
2020-04-04 10:55:58 +08:00
Jason Zhu 6f35c03e4a driver: Makefile: support input in spl
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I492f19f6049d009b8f3671dbfbe79d2ee8cf984e
2020-04-04 10:55:58 +08:00
Jason Zhu 440eb126fa spl: rkfw: add boot_sector to seperate uboot and boot load-address
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I04e2b00a8615fee24ee7722ab7bb9ad4931f4332
2020-04-04 10:55:58 +08:00
Jason Zhu e8b9592f0e common: spl: call the spl_next_stage() to get next stage process
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Ibfe81766fcbfe002978b7d225a5602a8eeb89c12
2020-04-04 10:55:58 +08:00
Jason Zhu 2323b257d7 rockchip: spl: add get spl next stage driver
Use it to make sure which firmware can be bring up.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Ib2cec8bf7c78fa436efade0518b07c3193170c7b
2020-04-04 10:55:58 +08:00
Jason Zhu 69e1ad7bcf spl: add spl next stage definition
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I822f0e92b158a673ce0d2e2265a5237f5870a58f
2020-04-04 10:55:58 +08:00
Jason Zhu c88ba1c4c3 spl: add next_stage to struct spl_image_info
Add next_stage to indicate the next boot stage is uboot or kernel.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: I9104ede143c5a9c7f0bff6869e67d5e605e596ca
2020-04-04 10:55:58 +08:00
Joseph Chen ae80c85fe8 power: io-domain: add initial message
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I4b6a508371dba74a3c992786a6cdb4d5b4d6eb80
2020-04-04 09:57:19 +08:00
Joseph Chen b4e157ffa2 make.sh: add version for spl loader
before:
  rk3399_loader_v1.24.124.bin => rk3399_loader_spl.bin

after:
  rk3399_loader_v1.24.124.bin => rk3399_spl_loader_v1.24.124.bin

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: If5bcc02504760d178557d8db78889074fcad0427
2020-04-03 17:54:47 +08:00
Joseph Chen 6f3e9d5cd7 rockchip: fit: rename "required" to "verified-boot"
"verified-boot" is more clearly for developers.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ib8a87af18480f2d5e765b9007eb5f8473ee424fb
2020-04-03 17:54:19 +08:00
Joseph Chen 767fd95d06 rockchip: fit: remove fit_get_image_defconf_node()
It is added in image-fit.c as a common function.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I105e0a7cacde226da1bb787ba1f4f320d6daa55d
2020-04-03 17:54:19 +08:00
Joseph Chen d871c07160 common: image-fit: add some common APIs
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I3df010d3b6a07efc7287779fe4a0a60ce9f1d2dc
2020-04-03 17:54:19 +08:00
Joseph Chen 2dc02ea380 common: bootm: support host sign check for armv7 fit image
including: fdt, u-boot, op-tee.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ieb3dc15383f47626ef125b5d64e96b90a0a67cc6
2020-04-03 17:54:19 +08:00
Joseph Chen 10530d82c2 rockchip: its: add "rollback-index" property
This property is verified to support rollback index protect
for verified-boot.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I54c5baaa275189ca96f18be66753b1292a395df6
2020-04-03 17:54:19 +08:00
Jason Zhu 479fbf72ee drivers: mmc: use pre-configure set by pre-loader or bootrom
The MMC is initialized by pre-loader or bootrom, so it is no need to
initialize it again. Open this config to skip some unused initialized
process.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: If00fc3ce7df4d15e71ecfd8f8717a59640c3b7a9
2020-04-03 11:34:11 +08:00
shengfei Xu 68a90c3146 regulator: rk809/817: implement get the switch voltage
If the switch is enabled, it's voltage is same as parent supply.

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I8fb60bd5aa3bb0a47cac84982113663e2bf5941e
2020-04-02 12:20:04 +08:00
Lin Jinhan 341631cbfb crypto: rockchip: v2: pka: fix bug on set np
Change-Id: I2b3207dcb3ce138a8677796ae628d1f270fab621
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2020-04-01 17:31:06 +08:00
Lin Jinhan 6b5b88bc03 dm: crypto: add zero hash support
Change-Id: Ib0f74e9636a214918511715cdd4ef32ebe65463a
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2020-04-01 17:31:06 +08:00
Joseph Chen 92a42bc5fe common: image-fit: support hardware crypto hash
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I2117282d9bece0fbf61802b36771fc0d1b909058
2020-04-01 17:30:41 +08:00
Joseph Chen d07cb2b8b1 common: board_r: add ENV_MEM_LAYOUT_SETTINGS1 into mininum env
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I865256861668c424806a83d9327b662e480ad737
2020-04-01 17:30:41 +08:00
Joseph Chen 242e56fad2 lib: rsa: fix compile warning
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I75acadbb4fe6873c7306bd953234c1fb4ef5b0d9
2020-04-01 17:30:41 +08:00
Joseph Chen 51cb481c1c rockchip: make_fit_optee: correct UBOOT_BASE address set
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I0172633f48f50e07799155a1a8fa353755917de6
2020-04-01 17:30:36 +08:00
Joseph Chen 3301aa1a14 scripts: add a script to resign the image
Usage:
	scripts/fit-resign.sh [signed fit image] [new signature]

It replaces the /configurations/conf@1/signature@1/value.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I73ff5ec9a625a87ef91f29773ad241f833ef1758
2020-03-31 18:20:47 +08:00
Joseph Chen d46373c14f lib: rsa: generate data to be signed
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I125f61051c9c9604903603ef06cd7f368b48f3d8
2020-03-31 18:20:47 +08:00
Joseph Chen cdd8fbe39e tools: fit_info: add END address of property
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Icf988f3620d261f7742ee3db4e427e1783211f13
2020-03-31 18:20:47 +08:00
Jason Zhu 3a69273778 mtd: nand: rockchip: fix compile error
error: implicit declaration of function ‘fdt_get_base_address’
[-Werror=implicit-function-declaration]

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Change-Id: Ic950b9382bd200d854028773b7a4c63b4bed5c16
2020-03-31 09:54:17 +08:00
Joseph Chen 3fe21f028a regulator: rk8xx: fix buck get wrong value
Before this, we always get the 1st of BUCK range group which
brings the problems we face now.

Let's traverse all the possible BUCK ranges to fix this issue.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I61a341fcbd190bcc0baff8267a94063c15abcc30
2020-03-31 09:35:25 +08:00
Lin Jinhan 80ca1a53eb cmd: crypto: add hash performance evaluate
Change-Id: I493ff0bf3a08e24f427b89d21ea7e6e8731f2e9f
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2020-03-30 19:10:13 +08:00
Lin Jinhan 1606a214ea crypto: rockchip: v2: optimize rk_hash_update
if data address and data len is meet crypto v2
hardware requirements, data will be calculated
without cache.

Change-Id: Ifc5acc5b449c581dbf3ac5f20ad6b8d932954aa7
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2020-03-30 19:10:13 +08:00
Jianqun Xu d23b7df185 dt-bindings: pinctrl: rockchip support RK_FUNC_{5,15}
Change-Id: I3fc8f58e033520f5211814bec84bd3142fd41760
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-03-30 18:20:04 +08:00
Joseph Chen 505eebf24e rockchip: make_fit_optee.sh: update UBOOT_OFFSET from configure file
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I6d793f186ae8bfd01c50fbc2c4f44c32bb54ddc0
2020-03-30 17:32:14 +08:00
Joseph Chen 56ed6b5161 scripts: setlocalversion: add more information
- add build username;
- add latest commit creation time.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: If038927af085bd02707c0baa23e8ae321d3cae37
2020-03-30 17:31:40 +08:00
Jeffy Chen 68c4faa3f8 rockchip: mkimage: support packing optional second level boot-loader
Support packing optional second level boot-loader:

$ ./tools/mkimage -n rk3399 -T rksd -d \
  rk3399_ddr_800MHz_v1.24.bin:rk3399_miniloader_v1.19.bin out -v
Adding Image rk3399_ddr_800MHz_v1.24.bin
Size 116492(pad to 116736)
Adding Image rk3399_miniloader_v1.19.bin
Size 88060(pad to 88064)
Image Type:   Rockchip RK33 (SD/MMC) boot image
Init Data Size: 116736 bytes
Boot Data Size: 88064 bytes

Mainly parse init file and boot file from datafile option, copy them to
the image, and padding each one to 2KB boundary.

NOTE:
I don't know much about rknand.c, and there's no way to verify it now.
The output image is unchanged though (with a few extra padding).

Haven't got any feedback from upstream yet...But whatever, let's do this!

Change-Id: I0ce98a44634cfcd8acfe9a3e2cfbe3ee0107fba4
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-03-30 14:52:08 +08:00
Joseph Chen 96f5441ec8 common: fit: support spl fit image check by tools/fit_check_sign
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I0e03a90d50290e18c6fb2cd44516c352f3695290
2020-03-29 09:57:04 +08:00
Joseph Chen 8e3eb57c1c rockchip: add arm 32/64 its file for verified-boot image
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: If4d76b8736510ca6455a4b448e9d2ed1be5721fe
2020-03-29 09:57:04 +08:00
Joseph Chen bfbe87590f cmd: bootuimage: return -1 as error code
support autoboot to traverse all bootcmd list.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I03f10a5982c4a9bb0eee429f756dd19c027c3371
2020-03-28 18:25:32 +08:00
Joseph Chen e2c45c31e9 cmd: bootfit: return -1 as error code
support autoboot to traverse all bootcmd list.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ibb35c20fb9ffcf58130aaeaea072c2dd6bc46256
2020-03-28 18:25:32 +08:00
Joseph Chen 9889a0e0a7 rockchip: hotkey: update configure name
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ie04b4aa61900f11937f93b6a363ad827a8b7dd86
2020-03-28 18:21:16 +08:00
Joseph Chen 37526a5172 common: support disable CLI for verified-boot
Not allow any interactive from CLI.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I207da3f2c54df1a81100c404f045023ac763da73
2020-03-28 18:21:16 +08:00
Joseph Chen 4ab50248f6 rockchip: implement autoboot_command_fail_handle()
It's not friendly to handle the fail event in a bootcmd list,
let's handle this in C function.

Entering rockusb/fastboot mode after verified-boot failed.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ib617582e1cc386f5c30abe1a8bbd2b5f353c0e49
2020-03-28 18:21:16 +08:00
Joseph Chen 7fc773a76d common: add autoboot_command_fail_handle() callback
Maybe user need to do some job when bootcmd failed, they
could override it.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I1c32c1ad37700e66d45fe033fbfa46d3f350205d
2020-03-28 18:21:16 +08:00