JJérôme Forissierdrivers: imx_mu: increase maximum MU message size
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
drivers: bnxt: Add driver support for additional bnxt cmds Add driver support for following bnxt commands: - HEALTH_STATUS - HANDSHAKE_STATUS - CRASH_DUMP_COPY Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> Acked-by: Jerome Forissier <jerome@forissier.org> | 6 年前 | |
drivers: imx: dcp: disable the use of UNIQUE KEY after HUK generation Disable the use of DCP unique key (0xfe in the DCP key selection) after the HUK generation. The DCP unique key is used to generate the HUK at boot time. Disabling the use of the unique key prevents the non-secure world from re-generating the HUK. Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Ricardo Salveti <ricardo@foundries.io> (imx-mx6ullevk) | 4 年前 | |
plat-sam: pm: add support for setting suspend mode PSCI allows entering platform suspend with SYSTEM_SUSPEND call which is meant to enter the system in its deepest power state. sama5d2 platform supports multiple suspend power states. Currently, Linux supports the atmel.pm_modes command line option which allows to select this suspend state. Since Linux uses PSCI SYSTEM_SUSPEND to enter suspend mode, we are not able to pass information (such as done for CPU_SUSPEND). In order to select the mode that will be entered by SYSTEM_SUSPEND from normal world and thus select the desired suspend state, SMCs are added to allow selecting and getting this power mode. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
drivers: sam: add at91_ddr.h file with DDR register definition This file will be used by multiple drivers and PM support. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
plat-amlogic: Add initial support for Amlogic platforms This is the initial support for the Amlogic platforms. Tested 64-bin mode on A113D (AXG) board using upstream TF-A BL31. * xtest results (-l 15): | 44074 subtests of which 0 failed | 96 test cases of which 0 failed | 0 test cases were skipped | TEE test application done! * Compiled with: | make PLATFORM=amlogic Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Carlo Caione <ccaione@baylibre.com> | 6 年前 | |
drivers: atmel-rstc: add support for reset controller This reset controller will be used by PSCI to reset the SoC. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
drivers: atmel_rtc: add atmel_rtc_get_tamper_timestamp() The sama5d2 RTC actually hold the timestamp of the last tampering attempt. Add a function to get the last time of tampering detection. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
drivers: atmel_saic: add SAIC driver Add a driver to handle interrupt that are targeting the secure interrupt controller. This driver will be used to handle watchdog and matrix interrupts. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
drivers: atmel-shdwc: add atmel shdwc driver Add atmel shdwc driver for sama5d2. This driver uses assembly code which expects to run from a single cache line. For the time being, building this code is restricted to single core system since it rely on the fact that no other cores can invalidate the TLB or the I-cache. This driver will be used by PSCI to shutdown the SoC. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: Add func to config gpio pin for secure access Add func to config gpio pin for secure access Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> Acked-by: Jerome Forissier <jerome@forissier.org> | 6 年前 | |
drivers: bcm_hwrng: add HWRNG driver low level driver for Broadcom random number generator IP. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com> Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com> | 7 年前 | |
drivers: bcm_sotp: add sotp write support - Added write support for bcm secure one time programmable fuses. - bcm_iproc_sotp_mem_read() now takes in a bool value for sotp_add_ecc instead of an int to denote if error checking memory is supported. - Updated debug and error messages to return TEE_result codes. Signed-off-by: Vahid Dukandar <vahidd@microsoft.com> Signed-off-by: Andrew Mustea <andrew.mustea@microsoft.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
drivers: caam: add manufacturing protection feature The CAAM features a "manufacturing protection" functionality. It is a authentication process used to authenticate the chip to the OEM's server. The authentication process can ensure the chip: * is a genuine NXP part * is a correct part type * has been properly fused * is running a authenticated software * runs in secure/trusted mode. Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: clk: add support for clk_get_rates_array In order to query rates from clients, add get_rates_array() which returns a supported rate array. Reviewed-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
core: clk: fix dt helper function description when clock is optional Fixes clk_dt_get_by_index() and clk_dt_get_by_name() inline description comments to state these functions return TEE_ERROR_ITEM_NOT_FOUND when the consumer DT node does not define a clock resource as for devices where some clocks are optional. These functions return such error code since commit [1]. Link: [1] 0adca93a5c68 ("core: dt_driver: differentiate error codes if property is not found") Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
core: gic: rename macros GIC_SGI, GIC_PPI and GIC_SPI Renames OP-TEE core macros GIC_SGI(), GIC_PPI() and GIC_SPI() to GIC_xxx_TO_ITNUM() to prevent collision with macros GIC_SPI and CFG_PPI defined in GIC DT bindings. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
core: add driver for hafnium interrupt controller Adds a driver for the paravirtualized interrupt controller provided by Hafnium at S-EL2. The driver is enabled with CFG_CORE_HAFNIUM_INTC=y. The interrupt controller is limited compared to the GIC and only works with interrupt ids which are already added in the SP manifest or as predefined reserved interrupt ids. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: imx_i2c: add I2C support This driver provides native access to the I2C bus on iMX. The driver will not query the clock hierarchy - to find the base clock rate - because it overcomplicates the deliverable for not much added value (this can be done at a later time if required). The U-Boot and Linux GPL code was initially used as a reference; however due to the simpler OP-TEE use case requirements, the code was later re-written following the reference manual [1]. This driver will not access addresses within a I2C slave map. This driver must not be used while the Linux kernel is running unless the following is guaranteed: - that the I2C bus will not be suspended. - that there will not be collisions with other bus masters. Without those guarantees, please use a trampoline driver to route the I2C requests to Linux. Tested on imx8mm-lpddr4. [1] i.MX 8M Mini Applications Processor Reference Manual Document Number: IMX8MMMRM Rev.2 08/2019 Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io> (imx8mm) Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Clement Faure <clement.faure@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> | 6 年前 | |
drivers: imx_mu: increase maximum MU message size Increase MU message maximum size to 17 words. It corresponds to the biggest message of the ELE API. Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: imx: add OCOTP driver Add OCOTP driver for imx6, imx7, imx7ulp and imx8m platforms. The implementation only supports the read of OCOTP shadow registers. It also implements the tee_otp_get_die_id() function. Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> | 4 年前 | |
drivers: imx: add SC driver for i.MX8QM/QXP Add the secure controller driver that implements: - SCFW API - SCU IPC functions - SCU secure IPC initialization The SCU driver relies on the MU driver to communicate with the security controller. Signed-off-by: Remi Koman <remi.koman@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: imx_snvs: add master key selection Select the OTPMK as the SNVS master key when the platforms is in closed state. Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 4 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
imx: pm: add support for reset2 function Add support for SYSTEM_RESET2, which asserts WDOG-generated reset signal WDOG_RESET_B_DEB (internal reset). For additional details check WDOGx_WCR fields description in iMX Applications Processor Reference Manual. Acked-by: Clement Faure <clement.faure@nxp.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> | 5 年前 | |
drivers: implement lpc_uart driver Support for lpc_uart that is a serial driver. Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
plat-ls: Add DSPI driver for NXP LS Platforms This patch adds DSPI driver for Layerscape Platforms. DSPI compilation is enabled by default for LX2160A-QDS and LX2160A-RDB. Signed-off-by: Carl Lamb <calamb@microsoft.com> Signed-off-by: Manish Tomar <manish.tomar@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> | 5 年前 | |
core/include/*/*.h: use U() for unsigned constants Updates with the U() macro as described in the recently updated coding guidelines. Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
core/include/*/*.h: use U() for unsigned constants Updates with the U() macro as described in the recently updated coding guidelines. Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
core: drivers: nxp: Add LX2160A-series SecMon driver - This driver implements reading the entire NXP LX2160-series Security Monitor (SecMon) module. - To enable the SecMon driver, the optee-os build requires the CFG_LS_SEC_MON flag. Signed-off-by: Andrew Mustea <andrew.mustea@microsoft.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
core: drivers: nxp: bit shift the ITS and SB bits when reading the SFP - The Intent to Secure (ITS) and Secure Boot (SB) flags are written to a given pointer in ls_sfp_get_its() and ls_sfp_get_sb() respectively. - The written values are equivalent to the entire masked OSPR0 and OSPR1 registers. - The two functions should instead update a pointer with a boolean integer containing the bit shifted value of the desired flag. Signed-off-by: Andrew Mustea <andrew.mustea@microsoft.com> Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: ns16550: Allow customizable serial IO config Add io_width and reg_shift configurable parameters to struct ns16550_data in order to support 32 bit register read/write. Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 5 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: rstctrl: differentiate error codes if items not found Differentiates error codes in rstctrl_dt_get_by_name() if reset-names property does not exist by returning TEE_ERROR_ITEM_NOT_FOUND. Add comment for rstctrl_dt_get_by_index() that can now return TEE_ERROR_ITEM_NOT_FOUND. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: rtc: add RTC API This API allows to interact with a RTC registered as the system RTC. Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
drivers: scmi-msg: Propagate errors from platform voltd_get_level plat_scmi_voltd_get_level is refactored to return an SCMI error code and retrieve the voltage via an out parameter. This allows errors from the platform SCMI server implementation to be propagated to the REE. The implementation for stm32mp1 is updated to handle at least some possible errors. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Anton Eliasson <anton.eliasson@axis.com> | 3 年前 | |
drivers: scmi-msg: add SCMI Voltage Domain protocol SCMI Voltage Domain protocol in defined in the SCMI specification since its version 3 [1]. This protocol allows a SCMI server to expose voltage regulator control services. The current specification defines services to discover the exposed regulators, to enable/disable them and to set/get the regulator voltage level. The protocol driver is embedded upon configuration switch CFG_SCMI_MSG_VOLTAGE_DOMAIN. Link: [1] https://developer.arm.com/documentation/den0056/c Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> | 5 年前 | |
drivers: struct serial_ops: make all functions optional except putc() Many platforms only use the putc() function pointer in struct serial_ops. Therefore, explicitly make the others optional (flush(), have_rx_data() and getchar()) by adding comments to the struct and making sure the code checks the pointer before using them. With this it should be clear that drivers do not need to provide stub functions. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
core_mmu: fix phys_to_virt() to check length phys_to_virt() function without length parameter doesn t always have ability to find the correct mapping for requested physical address. This is because physical address can be mapped in the same time in different virtual regions with different length. So the first found region which contains the requested physical address possibly doesnt have enough mapped data. This is fixed by adding the length parameter to phys_to_virt() function. Length parameter can be set to 1 if caller knows that requested (pa + len) doesn`t cross mapping granule boundary. core_mmu_get_va() and io_pa_or_va() functions now are take length parameter too as they based on phys_to_virt() in case of MMU enabled. Signed-off-by: Anton Rybakov <a.rybakov@omp.ru> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1-157C_DK2) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6dlsabreauto) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6dlsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6qpsabreauto) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6sllevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ullevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulzevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7dsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mmevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mnevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mqevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qmmek) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qxpmek) | 4 年前 | |
Add SPDX license identifiers Adds one SPDX-License-Identifier line [1] to each source files that contains license text. Generated by [2]: spdxify.py --add-spdx optee_os/ The scancode tool [3] was used to double check the license matching code in the Python script. All the licenses detected by scancode are either detected by spdxify.py, or have no SPDX identifier, or are false matches. Link: [1] https://spdx.org/licenses/ Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Link: [3] https://github.com/nexB/scancode-toolkit Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
Remove 'All rights reserved' from Linaro files The text 'All rights reserved' is useless [1]. The Free Software Foundation's REUSE Initiative best practices document [2] does not contain these words. Therefore, we can safely remove the text from the files that are owned by Linaro. Generated by: spdxify.py --linaro-only --strip-arr optee_os/ Link: [1] https://en.wikipedia.org/wiki/All_rights_reserved Link: [2] https://reuse.software/practices/ Link: [3] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> | 8 年前 | |
plat-stm32mp1: fix visibility of stm32_bsec_shadow_register() Makes stm32_bsec_shadow_register() function a visible driver API function as it is needed when CFG_STM32_BSEC_SIP is enabled. Fixed commit made it a local function which was wrong. Fixes: a638030bce84 ("drivers: stm32_bsec: remove unused functions") Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
stm32_etzpc: STM32 Extended TrustZone Protection Controller ETZPC is a hardware instance that control access permissions to some stm32mp SoC peripheral interfaces and internal memories. This change introduce the stm32_etzpc driver. It is embedded upon build directive CFG_STM32_ETZPC=y. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Mathieu BELOU <mathieu.belou@st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> | 7 年前 | |
core: include: Fix simple typo in drivers/stm32_gpio.h Replace "Configuratioh" with "Configuration". Signed-off-by: Ding Tao <miyatsu@qq.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> | 3 年前 | |
drivers: stm32_i2c: use generic clock API Replaces use of ST specific stm32mp_clk_xxx() clocks functions in favor to OP-TEE generic clock API functions clk_xxx() using struct clk * as clock references. Updates I2C driver and PMIC that is a consumer of an I2C bus. Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: stm32_iwdg: implementation of independent watchdog Implements independent watchdog (IWDG) driver to help detecting malfunctions due to software or hardware failures. IWDG instances are clocked by an independent clock and stays active if the main clock fails. The driver mandates IWDG instances configuration from an embedded DTB. For the list of features, refer to the reference manuals at: https://wiki.st.com/stm32mpu/wiki/STM32MP15_resources Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com> | 4 年前 | |
drivers: stm32_shared_io: introduce shared io driver This commit implements shared registers support, previously handled in core/arch/arm/plat-stm32mp1/shared_resources.c, at platform level. Default enable CFG_STM32_SHARED_IO. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: add stm32 tamper domain driver Adds stm32_tamp driver for stm32mp1 TAMP sub-system. The implementation only covers probing of the driver upon embedded DTB content and enabling some secure configuration. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: stm32_uart: use generic clock API Replaces use of ST specific stm32mp_clk_xxx() clocks functions in favor to OP-TEE generic clock API functions clk_xxx() using struct clk * as clock references. Updates STM32 UART driver and platform stm32mp1 console support. Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
clk: stm32mp13: Introduce STM32MP13 clocks platform This driver uses a clk-stm32-core API to manage STM32 gates, dividers and muxes. The goal of this first patch is to parse the device tree and initialize a platform data to configure the clock tree. Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> | 4 年前 | |
plat-stm32mp1: add support for i2c5 bus This allows stm32_i2c driver to properly initialize and use i2c5 bus on stm32mp15 SoC. Signed-off-by: Michael Scott <mike@foundries.io> Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
plat-stm32mp1: scmi_server update for STM32MP13 Update the SCMI server to support STM32MP13 and its SCMI domains: clock, reset and voltage. This change also remove the '0' index to the SCMI domains in order to align with Linux kernel. Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
drivers: stpmic1: export regulators API in a specific header file Split stpmic1.h in 2 parts, one specifically for STPMIC1 regulator interface. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: stpmic1: export regulators API in a specific header file Split stpmic1.h in 2 parts, one specifically for STPMIC1 regulator interface. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
tpm2: Add TPM2 as PCR provider to TCG eventlog parsing framework TCG eventlog parsing framework parses the eventlog and extends the PCR's. For this, it needs a provider for PCR's. Register TPM2 as a provider to this framework. Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers/tpm2: Add basic TPM2 support in OP-TEE TPM2 driver introduced in this commit is based on TPM TCG specification [1] & [2]. The APIs exposed allows to send commands and receive response from a TPM2 chip. [1] TCG PC Client Platform TPM Profile Specification for TPM 2.0 Vesrion 1.0.5 Revision 14 [2] TCG PC Client Device Driver Design Principles for TPM 2.0 Version 1.1 Revision 0.04 Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers/tpm2: Add TPM2 MMIO driver Add support for platforms that interface with TPM2 via MMIO using FIFO protocol. Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers/tpm2: Add basic TPM2 support in OP-TEE TPM2 driver introduced in this commit is based on TPM TCG specification [1] & [2]. The APIs exposed allows to send commands and receive response from a TPM2 chip. [1] TCG PC Client Platform TPM Profile Specification for TPM 2.0 Vesrion 1.0.5 Revision 14 [2] TCG PC Client Device Driver Design Principles for TPM 2.0 Version 1.1 Revision 0.04 Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
core/include/*/*.h: use U() for unsigned constants Updates with the U() macro as described in the recently updated coding guidelines. Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
core/include/*/*.h: use U() for unsigned constants Updates with the U() macro as described in the recently updated coding guidelines. Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> | 5 年前 | |
drivers: versal: general purpose i/o Provide access to the GPIO controller on Versal ACAP. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
drivers: versal: mailbox communication Mailbox driver to communicate with the PLM firmware executing on the Microblaze processor. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: versal: non volatile memory (eFuse and BBRAM) Provide an interface to access the xilnvm service executing in the PLM firmware running on the Microblaze processor. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: versal: PM service Calls the TF-A exported SiP services or PLM PM APIs. The programming of the FPGA bitstream is being phased out from the TF-A so it is no longer supported as such: the recommended interface uses the MBOX driver to the PLM. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: versal: physical unclonable function This driver uses the PLM xilpuf service to deliver the physical unclonable function (PUF). The Physical unclonable function (PUF) generates two device unique signatures per die. One signature is used for the key encryption key (KEK) and one signature is used as an unique identification value. The Unique ID is fully accessible and its value can be cleared (hidden) and regenerated. The KEK is never accessible and only usable from the AES-GCM engine. https://github.com/Xilinx/embeddedsw [1] TRM: https://docs.xilinx.com/r/en-US/am011-versal-acap-trm Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
drivers: versal: SHA3-384 engine support Enable the PLM controlled SHA3-384 cryptographic engine for TEE core usage. Since the engine does not have the concept of "context", it can't provide the level support required by user-space (multiple parallel contexts) hence why it is being provided just to the core. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Nathan Menhorn <nathan.menhorn@amd.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> | 3 年前 | |
drivers: wdt: add SMC handler for arm-smc-wdt Linux driver Add SMC handler to handle SMC coming from Linux arm-smc-wdt driver. This function is meant to be called in sm_platform_handler() since CFG_WDT_SM_HANDLER_ID is going to be defined by the platforms. Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com> | 4 年前 | |
zynqmp: drivers: generate HUK from PUF KEK If authenticated boot was disabled we allow generating the HUK using the SHA-256 of the DNA unique identifier. If authenticated boot was enabled, use the PUK KEK to generate the HUK instead. The PUF KEK must be registered while securing the board using the Xilinx tools. In this case, the HUK is generated by reading the DNA eFuses. This 96 bits value is used to generate a 16 byte digest which is then AES-GCM encrypted using the PUF KEK. The resulting 16 byte value is the HUK. To prevent the HUK from being leaked, the AES-GCM module must be reserved. The HUK generation was validated on Zynqmp zu3cg using the Xilinx Lightweight Provisioning Tool to enable authenticated boot and to provision the PUF (burning a number of eFuses in the process). Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Tested-by: Ricardo Salveti <ricardo@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
zynqmp: drivers: AES-GCM with PUF KEK Provide a mechanism to encrypt a red key using the KEK; the KEK is only available on secured boards after the RSA_EN and PPK eFUSES have been burnt (the system will only boot ROM authenticated bootloaders from here on). The main use case for OP-TEE would be to encode the zynqmp per device unique identifier (DNA0, DNA1, DNA2 eFUSEs - ie, a red key) using the KEK. The encryption key generated this way is cryptographically strong and will be used as the device HUK (ie, black key). Test code: csu_aes_encrypt_data(src, dst, BLOB_DATA_SIZE, tag, GCM_TAG_SIZE, iv, GCM_IV_SIZE, CSU_AES_KEY_SRC_DEV); csu_aes_decrypt_data(dst, src, BLOB_DATA_SIZE, tag, GCM_TAG_SIZE, iv, GCM_IV_SIZE, CSU_AES_KEY_SRC_DEV); if (memcmp(src, buffer, BLOB_DATA_SIZE)) { EMSG(" - encrypt/decrypt test failed"); Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
zynqmp: drivers: Physically Unclonable Function (PUF) This block is used to generate black keys via the AES-GCM module. The PUF KEK - feeding the AES-GCM block - is also unique for each device. The KEK is only available once the board has been secured via programmable eFUSES (RSA_EN authentication via the PPK fuses). Registering the PUF should be done using the Xilinx tools so the adequate eFUSES are written. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
zynqmp: drivers: CSUDMA module This module provides a mechanism to transfer data between memory and peripherals. The data path is selected in the Secure Stream Switch register in the CSU. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 4 年前 | |
drivers: zymqmp_pm: add USER eFuse support Adds necessary defines for accessing USER eFuses. Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: zynqmp_huk: Add AES eFuse and HUK seed support When AES eFuse is used to encrypt boot loaders and bitstreams then PUF functionality is not available for use. When AES eFuse based encryption is in use AES eFuse key becomes device key instead of PUF generated key. In order to re-plenish additional device specific entropy that PUF would provide utilize selected set of User programmable eFuses. Selected user eFuses should be programmed during device manufacturing with cryptographically good random numbers. Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 | |
drivers: zymqmp_pm: add USER eFuse support Adds necessary defines for accessing USER eFuses. Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> | 3 年前 |