aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-19optee: Add error printoutBryan O'Donoghue
When encountering an error in OPTEE verification print out various details of the OPTEE header to aid in further debugging of encountered errors. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com> Tested-by: Peng Fan <peng.fan@nxp.com>
2018-03-19optee: Add optee_verify_bootm_image()Bryan O'Donoghue
This patch adds optee_verify_bootm_image() which will be subsequently used to verify the parameters encoded in the OPTEE header match the memory allocated to the OPTEE region, OPTEE header magic and version prior to handing off control to the OPTEE image. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com>
2018-03-19optee: Add optee_image_get_load_addr()Bryan O'Donoghue
This patch adds optee_image_get_load_addr() a helper function used to calculate the load-address of an OPTEE image based on the lower entry-point address given in the OPTEE header. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com> Tested-by: Peng Fan <peng.fan@nxp.com>
2018-03-19optee: Add optee_image_get_entry_point()Bryan O'Donoghue
Add a helper function for extracting the least significant 32 bits from the OPTEE entry point address, which will be good enough to load OPTEE binaries up to (2^32)-1 bytes. We may need to extend this out later on but for now (2^32)-1 should be fine. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com> Tested-by: Peng Fan <peng.fan@nxp.com>
2018-03-19optee: Add CONFIG_OPTEE_LOAD_ADDRBryan O'Donoghue
CONFIG_OPTEE_LOAD_ADDR is used to tell u-boot where to load the OPTEE binary into memory prior to handing off control to OPTEE. We need to pull this value out of u-boot in order to produce an IMX IVT/CSF signed pair for the purposes of secure boot. The best way to do that is to have CONFIG_OPTEE_LOAD_ADDR appear in u-boot.cfg. Adding new CONFIG entires to u-boot should be kconfig driven so this patch does just that. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org>
2018-03-19optee: Add CONFIG_OPTEE_TZDRAM_BASEBryan O'Donoghue
OPTEE is currently linked to a specific area of memory called the TrustZone DRAM. This patch adds a CONFIG entry for the default address of TrustZone DRAM that a board-port can over-ride. The region that U-Boot sets aside for the OPTEE run-time should be verified before attempting to hand off to the OPTEE run-time. Each board-port should carefully ensure that the TZDRAM address specified in the OPTEE build and the TZDRAM address specified in U-Boot match-up. Further patches will use TZDRAM address with other defines and variables to carry out a degree of automated verification in U-Boot prior to trying to boot an OPTEE image. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-03-19optee: Add CONFIG_OPTEE_TZDRAM_SIZEBryan O'Donoghue
OPTEE is currently linked to a specific area of memory called the TrustZone DRAM. This patch adds a CONFIG entry for the default size of TrustZone DRAM that a board-port can over-ride. The region that U-Boot sets aside for the OPTEE run-time should be verified before attempting to hand off to the OPTEE run-time. Each board-port should carefully ensure that the TZDRAM size specified in the OPTEE build and the TZDRAM size specified in U-Boot match-up. Further patches will use TZDRAM size with other defines and variables to carry out a degree of automated verification in U-Boot prior to trying to boot an OPTEE image. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com> Tested-by: Peng Fan <peng.fan@nxp.com>
2018-03-19optee: Add lib entries for sharing OPTEE code across portsBryan O'Donoghue
This patch adds code to lib to enable sharing of useful OPTEE code between board-ports and architectures. The code on lib/optee/optee.c comes from the TI omap2 port. Eventually the OMAP2 code will be patched to include the shared code. The intention here is to add more useful OPTEE specific code as more functionality gets added. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Harinarayan Bhatta <harinarayan@ti.com> Cc: Andrew F. Davis <afd@ti.com> Cc: Tom Rini <trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Peng Fan <peng.fan@nxp.com> Tested-by: Peng Fan <peng.fan@nxp.com>
2018-03-19MAINTAINERS: Remove unused ppc4xx entryStefan Roese
ppc4xx support was removed some time ago. Lets remove the now unused entry in MAINTAINERS as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-19pci: Remove unused ppc4xx variable from struct pci_controllerStefan Roese
ppc4xx support was removed some time ago. Lets remove the now unused "pci_fb" variable from "struct pci_controller" as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Simon Glass <sjg@chromium.org>
2018-03-19nand: Remove unused ppc4xx NAND driver and referencesStefan Roese
ppc4xx support was removed some time ago. Lets remove the now unused NAND driver and all its references for this platform as well. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Scott Wood <oss@buserror.net>
2018-03-19board: st: add generic board for STM32MP1 familyPatrick Delaunay
Add first support for STM32MP157C-ED1 board with "Basic" boot chain 1/ Boot Rom: load SPL with STM32 image header in SYSRAM 2/ SPL: power up and initialize the DDR and load U-Boot image from SDCARD in DDR 3/ U-Boot: search and load extlinux.conf in SDCARD (DISTRO activated) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19dts: add device tree for STM32MP157C-ED1 boardPatrick Delaunay
Add minimal devicetree for STM32MP157C-ED1 board, with only the devices to allow boot from SDCARD: - RCC for clock and reset - UART4 for console - I2C and PMIC - DDR - SDMMC0 for SDCard Waiting Kernel upstream for alignment. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19clk: stm32mp1: add clock tree initializationPatrick Delaunay
add binding and code for clock tree initialization from device tree Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19clk: add driver for stm32mp1Patrick Delaunay
add RCC clock driver for STMP32MP157 - base on driver model = UCLASS_CLK - support ops to enable, disable and get rate of all SOC clock needed by U-Boot Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19reset: stm32: adapt driver for stm32mp1Patrick Delaunay
- move to livetree and allow to get address to parent - add stm32mp1 compatible for probe Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19pinctrl: stm32: update pincontrol for stmp32mp157Patrick Delaunay
- add the 2 new compatible used by STM32MP157 "st,stm32mp157-pinctrl" "st,stm32mp157-z-pinctrl" - update the mask for the port Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19pmic: add stpmu1 supportPatrick Delaunay
This driver implements register read/write operations for STPMU1. The STPMU1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches. It is accessed via an I2C interface. This device is used with STM32MP1 SoCs. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19ram: stm32mp1: add driverPatrick Delaunay
Add driver and binding for stm32mp1 ddr controller and phy Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19arm: stm32: add new architecture for STM32MP familyPatrick Delaunay
- add new arch stm32mp for STM32 MPU/Soc based on Cortex A - support for stm32mp157 SOC - SPL is used as first boot stage loader - using driver model for all the drivers, even in SPL - all security feature are deactivated (ETZC and TZC) - reused STM32 MCU drivers when it is possible Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19stm32mp: stm32f7_i2c: use calloc instead of kmallocPatrick Delaunay
Kmalloc is using memalign allocation function. It is not necessary to align this structure so to save bytes, we move to calloc. And kmalloc function can't be used in SPL early stage (in board_init_f()) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19gpio: stm32f7_gpio: handle node ngpiosPatrick Delaunay
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19dm: gpio: Convert stm32f7 driver to livetreePatrick Delaunay
Update the GPIO driver to support a live device tree. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19arm: armv7: solve issue for timer_rate_hz in arch timerPatrick Delaunay
The current value timer_rate_hz causes a problem with function timer_get_us() from lib time and then an issue with readx_poll_timeout() function. With corrected value for tbclk() = timer_rate_hz = CONFIG_SYS_HZ_CLOCK the weak functions in lib timer can be used: - get_timer() - __udelay() So the specific function in this file are removed. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19spl: add SPL_RESET_SUPPORTPatrick Delaunay
Add option to include RESET driver and uclass in SPL. That can be useful to handle IP reset with same driver in U-Boot and in SPL. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19tools/mkimage: add support for STM32 image formatPatrick Delaunay
STM32MP157 bootrom needs a specific header for first boot stage. This patch adds support of this header in mkimage. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-19tools: env: Implement atomic replace for filesystemAlex Kiernan
If the U-Boot environment is stored in a regular file and redundant operation isn't set, then write to a temporary file and perform an atomic rename. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-03-19tools: env: Refactor write path of flash_io()Alex Kiernan
Extract write path of flash_io() into a separate function. This patch should be a functional no-op. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
2018-03-19tools: env: Fix CamelCasing style violationAlex Kiernan
Replace HaveRedundEnv with have_redund_env to fix style violation. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-03-19tools: env: Pass through indentAlex Kiernan
Pass tools/env/fw_env.c through indent to correct style violations. This commit consists of only one non-whitespace change: tools/env/fw_env.c:549: error: do not use assignment in if condition Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2018-03-19SPL: Add signature verification when loading imageJun Nie
U-boot proper signature is not verified by SPL on most platforms even config SPL_FIT_SIGNATURE is enabled. Only fsl-layerscape platform support secure boot in platform specific code. So verified boot cannot be achieved if u-boot proper is loaded by SPL. This patch add signature verification to u-boot proper images when loading FIT image in SPL. It is tested on Allwinner bananapi zero board with H2+ SoC. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-03-19Merge git://git.denx.de/u-boot-videoTom Rini
2018-03-19board: Add display to STM32F746 SoC discovery boardyannick fertre
Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19stm32f7: board: add splash screenyannick fertre
Support several pixel format (8bits, 16bits, 24bits & 32bits). Add new file st_logo_data.h which contains logo stmicroelectronics_uboot_logo_8bit_rle.bmp. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19arm: dts: stm32: add display for STM32F746 disco boardyannick fertre
Enable the display controller, panel & backlight. Set panel display timings & set the RGB data bus. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19arm: dts: stm32: add ltdc for STM32F746Philippe CORNU
Add display controller node in device-tree. Signed-off-by: yannick fertre <yannick.fertre@st.com> [agust: rebased on master] Signed-off-by: Anatolij Gustschin <agust@denx.de>
2018-03-19video: stm32: stm32_ltdc: set the blending factoryannick fertre
Set the blending factor regarding the pixel format Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19video: stm32: stm32_ltdc: missing set of line interrupt positionyannick fertre
Set LIPCR (line interrupt position conf) register with line length. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19video: stm32: stm32_ltdc: set rate of the pixel clockyannick fertre
pxclk is useless to set pixel clock. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19video: stm32: stm32_ltdc: update file header & footeryannick fertre
Modified copyright & driver name. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19video: stm32: stm32_ltdc: add resetyannick fertre
Add reset of LTDC display controller. Signed-off-by: yannick fertre <yannick.fertre@st.com>
2018-03-19video: exynos: remove redundant assignmentsHeinrich Schuchardt
No need to initialize variables if the next usage is an assignment. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-19video, da8xx-fb: fix time out in wait_for_event()Heinrich Schuchardt
If an event does not occur the current coding stays in an endless loop. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-19video: stb_truetype: simplify expressionHeinrich Schuchardt
Eliminate (x2 - x2) which is always zero. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-19video: cfb_console: simplify logical constraintHeinrich Schuchardt
(A || !A && B) == (A || B) Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2018-03-16common: move init_helpers.h prototypes in init.hPatrick Delaunay
Merge init_helpers.h in the new file init.h with only prototypes for init_cache_f_r used in common/board_f.c Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_info.c prototypes in init.hPatrick Delaunay
Move function prototype for common/init/board_init.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_r.c prototypes in init.hPatrick Delaunay
Move function prototypes used in common/board_r.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_init.c prototypes in init.hPatrick Delaunay
Move function prototypes for common/init/board_init.c from common.h to init.h Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2018-03-16common: move board_f.c prototypes in init.hPatrick Delaunay
Move prototypes for function used in common/board_f.c from common.h to init.h Remove weak for arch_reserve_stacks in prototype (checkpatch issue) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>