aboutsummaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2019-03-08core: Initialize the chip_id array when generating the SSKAlexandre Jutras
In tee_fs_init_key_manager(), Secure Storage Key (SSK) is computed as follow: SSK = HMAC(HUK, message) message := concatenate(chip_id, static string) chip_id is a 32-byte array but some tee_otp_get_die_id() implementation may provide a smaller chip ID. Initialize the chip_id array to make sure the remaining bytes do not contain garbage data. Without this initialization, SSK may be inconsistent across power cycles generating failures when reading back data from the secure storage. Signed-off-by: Alexandre Jutras <alexandre.jutras@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-03-07stm32_i2c: driver for STM32 I2C busEtienne Carriere
Drivers is embedded upon CFG_STM32_I2C=y. The driver main API functions are: stm32_i2c_init() to initialize the device driver, stm32_i2c_mem_{write|read}() for I2C memory mode transfer, stm32_i2c_master_{transmit|receive}() for stream transfer. 2 helpers: stm32_i2c_is_device_ready() checks the hardware I2C link, stm32_i2c_get_setup_from_fdt() fills the I2C initialization structure from the content found in the DT. I2C driver instances do not register themselves to the PM framework. Bus owner is responsible for calling the stm32_i2c_{suspend|resume}() APIs when the owner device executes a PM sequence. stm32_i2c driver is dual licensed GPL-2.0/BSD-3-Clause. The conversion algorithm for converting device tree bindings timing information into STM32 I2C timings configuration register is shared with other packages (Linux kernel, Arm Trusted Firmware-A, U-Boot). Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Pascal Paillet <p.paillet@st.com> Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-03-05core: better align output of TA dump with many or big regionsJerome Forissier
With the introduction of shared libutee/libutils/libmbedtls etc., it is not uncommon for a TA to have more than 10 memory regions. When this happens, the crash dump output is not properly aligned. Similarly, since there is no width specifier when we print the region size, misalignments can occur. This commit makes the output look good for up to 100 regions of up to 16 MiB in size. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
2019-03-05core: elf_load: R_ARM_ABS32/R_AARCH64_ABS64 relocations against undefined symbolJerome Forissier
The symbol referenced by a R_ARM_ABS32 or R_AARCH64_ABS64 relocation may very well be external to the binary being relocated (for example, defined in a shared library). In this case, the section table index for the symbol is SHN_UNDEF and we need to perform process-wide symbol resolution. This fixes an issue I found when linking a TA against a shared version of libutee (this configuration is introduced in a later commit). In this case, ta_head::entry is set to __utee_entry which is in libutee.so, hence undefined in the TA binary. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-03-01core: cleanup generic tracesEtienne Carriere
Remove useless newline character in few generic debug traces. Remove argument __func__ from a FMSG trace since already output by macro FMSG(). Remove error trace from syscall_storage_obj_read() that, prior this change, output failing error code from storage read() handler. This is useless and not done for other storage handlers return code. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-03-01core/generic_boot: consistent DTB info tracesEtienne Carriere
Use IMSG() traces when external and embedded DTB are tested. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-03-01core/generic_boot: tone down trace for missing external DTBEtienne Carriere
Change trace message indicating absence of external DTB from error level to debug level. Implementation and comment clearly state the configuration is fully legitimate. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-02-28Compile user TAs with -fpic rather than -fpieJerome Forissier
TA source files are compiled with the -fpie GCC flag in order to generate a Position Independent Executable. This is not suitable to produce a shared library as introduced by commit f8896d1301fc ("TA dev kit: add support for creating shared libraries"). -fpic should be used instead. Here is what the GCC man page has to say on these flags: -fpic Generate position-independent code (PIC) suitable for use in a shared library [...] -fpie -fPIE These options are similar to -fpic and -fPIC, but generated position independent code can be only linked into executables. So, it is quite clear that -fpie is wrong for a shared library. It is not very clear however if -fpic can be used when generating code for an executable. I think it can, and there is a bug report against the GCC documentation that would confirm this [1]. Therefore we can simply use -fpic in all cases. This is quite convenient because we currently make no difference in the compile flags when we are building an executable, a static library or a shared library. The difference between -fpie and -fpic has to do with the kinds of relocations that the compiler is allowed to emit. I stumbled upon this issue when experimenting with shared libraries and the code proposed by Jens to share read-only pages between TAs [2]. In my test case, a shared library already loaded by one TA, is used by another TA. During the load phase of the second TA, the TEE core crashed with a data-abort (write permission fault) when trying to apply an R_ARM_REL32 relocation to some literal pool data in the .text section of the library. The whole .text being mapped read-only, there should be no relocation to do here. And indeed the cause was the wrong flag (-fpie) used when compiling the shared library. Link: [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70419 Link: [2] https://github.com/OP-TEE/optee_os/pull/2801 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> CC: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960 32 & 64-bit TA) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1 Armv7)
2019-02-25core: replace TAF with TA invocation in inline commentsEtienne Carriere
TAF stands for Trusted Application Function. It is deprecated since a while. This change replaces the few remaining occurrences with TA invocation. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25core: use PTA as acronym for pseudo TAEtienne Carriere
Make inline comments and trace messages more consistent by using PTA as acronym for pseudo TA, rather than using pTA, PTA and pta at various places. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25core: add inline description of TEE session field user_ctxEtienne Carriere
Replace inline comment ??? with an appropriate description of the user_ctx field which points the the caller user TA context in case a pseudo TA is invoked from the user TA client. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25core: pta/gprof.c: remove redundant access checkJerome Forissier
There is no need to call tee_mmu_check_access_rights() to check the parameters of gprof_start_pc_sampling(), because they have been checked already by utee_param_to_param() in core/tee/tee_svc.c. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
2019-02-25core: REE FS TAs: add option to verify signature before processingJerome Forissier
Adds configuration flag CFG_REE_FS_TA_BUFFERED, default enabled. A new TA store is introduced which depends on the TEE FS TA store to load the whole binary into a temporary buffer in secure DDR and authenticate it before being processed further. This reduces the attack surface of the TEE core in case of a vulnerability in the ELF loader, at the expense of increased memory usage at load time. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [3.6] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
2019-02-25libutils: remove buf_compare_ct()Jerome Forissier
Now that we have consttime_memcmp(), buf_compare_ct() is redundant. Every time buf_compare_ct() is used, consttime_memcmp() may be used instead. This commit removes buf_compare_ct(). A compatibility wrapper is kept in <string_ext.h> to avoid knowingly breaking the build of any TA that may use it. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25core: RPMB FS: check for potential overflowsJerome Forissier
This commit deals with a number of potential integer overflows in the RPMB FS code. rpmb_fs_init() requests device information from the REE. The RPMB size is returned in struct rpmb_dev_info (field rpmb_size_mult) and is used in a multiplication that could overflow. Use MUL_OVERFLOW() to deal with this case. Some overflow checks are also added in the read and write paths. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.12] Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: syscall_authenc_init(): check nonce accessibilityJerome Forissier
syscall_authenc_init() does not check that the given nonce address is within TA accessible memory. Fix that. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.10] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: crypto: add overflow check when copying attributesJerome Forissier
In copy_in_attrs(), attr_count * sizeof(struct utee_attribute) could overflow if a very large attr_count is given. Use MUL_OVERFLOW() to properly deal with this case. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.9] Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: get_elf_segments(): use memmove on overlapping memoryJerome Forissier
get_elf_segments() final stage aggregates ELF segments. In the while loop, the logic to remove the current index is to use memcpy() to shift down everything beyond that point. This is incorrect; memmove() should be used instead. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.8] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: load_elf_from_store(): check stack sizeJerome Forissier
Inside load_elf_from_store(), the ta_head structure is retrieved from un-authenticated area, and contains the stack size. The stack size could either already be 0, or could be large enough so it becomes 0 when rounded up to STACK_ALIGNMENT. This could result in vm_map() returning a virtual address for a 0-size memory block or other issues. Check the rounded-up stack_size value before using it. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.7] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: add VA overflow check in shdr_alloc_and_copy()Jerome Forissier
Make sure that no address overflow can occur when shdr_alloc_and_copy() copies the signed header. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.4] Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: add overflow check in mobj_reg_shm_alloc()Jerome Forissier
In function mobj_reg_shm_alloc(), the macro MOBJ_REG_SHM_SIZE() could overflow depending on 'nr_pages'. In such case, the mobj_reg_shm memory would be a small memory block, while num_pages would be large, which could lead to a generous memcpy() when copying the pages in internal memory, the outcome of this depends on memory mapping. Note: no attack path are identified to exploit this overflow, however it is error prone and could lead to a future vulnerability. This commit replaces the MOBJ_REG_SHM_SIZE() macro with a static function that performs the same computation, but returns 0 in case of integer overflow. The call site is updated to return an error status should this situation happen. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.3] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: do not use virtual addresses as session identifierJerome Forissier
Session context virtual address is returned to the REE in entry_open_session(); it is then used back in entry_close_session() and entry_invoke_command(). Sharing virtual addresses with the REE leads to virtual memory addresses disclosure that could be leveraged to defeat ASLR (if/when implemented) and/or mount an attack. Similarly, syscall_open_ta_session() returns a session ID directly derived from the session virtual address to the caller TA. This commit introduces a 32-bit identifier field in struct tee_ta_session. The ID is generated when the session is created, starting from the id of the last session in the queue, and counting up until a number that is not used in the session queue is found. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [2.1] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: ELF relocation: use ADD_OVERFLOW()Jerome Forissier
The ELF relocation functions e32_process_rel() and e64_process_rel() can experience integer overflows which could result in invalid memory access. Use ADD_OVERFLOW() to prevent these. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [1.8] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25core: elf_load_body(): use MUL_OVERFLOW() to get size of section headersJerome Forissier
At the end of elf_load_body(), section headers are copied in a system heap memory block, associated to state->shdr. As the computed size is the result of an uncontrolled multiplication (ehdr.e_shnum * ehdr.e_shentsize), it could have overflowed and result in allocating a small memory block. Use an overflow checking macro to prevent this case. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [1.7] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: umap_add_region(): add overflow checkJerome Forissier
Use ADD_OVERFLOW() to be more resilient to very large values potentially passed to umap_add_region(). Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Bastien Simondi <bsimondi@netflix.com> [1.3] Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-25core: entry_std.c: clean memory type inline commentsEtienne Carriere
This change modifies inline comments. Replace "non sec" and "nonsecure" with "non-secure". Fixup "Rerefence" into "reference". Clarify contiguous shared memory comment. Minor rephrasing for consistency. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: minor edit to commit subject] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-02-25stm32mp1: embed BSEC driverEtienne Carriere
Embed BSEC driver in platform stm32mp1. The platform implements stm32mp_get_bsec_static_cfg() to provide BSEC static configuration. Add BSEC node in stm32mp157c.dtsi. Add BSEC node with some BSEC word definition and assignment (non-secure and/or secure) for board stm32mp157c-ed1 and stm32mp157c-ev1. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25stm32_bsec: OTP driver for stm32mp platformsEtienne Carriere
BSEC is a one time programmable (OTP) memory interface for stm32mp SoCs. OTPs are grouped into 32bit words identified by a incremental ID starting from 0. Shadowed OTPs are loaded in a volatile memory yet used as OTP values by the software. The platform shall implement stm32mp_get_bsec_static_cfg() to provide BSEC driver some information as the BSEC memory size and its lower/upper threshold ID that split non-secure from secure OTPs. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Christophe Montaud <christophe.montaud@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@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: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-25plat-ls: updated conf.mk to set CFG_USER_TA_TARGETSPankaj Gupta
from R3.4.0 onwards, CFG_USER_TA_TARGETS = "ta_arm32 ta_arm64" is set by default, if the CFG_USER_TA_TARGETS is not set. Updating the conf.mk for plat-ls devices to set the default value to CFG_USER_TA_TARGETS as per platform. Value to CFG_USER_TA_TARGETS can be overridden using the make cmd. Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-02-22drivers: GICv3: Configure native secure interruptSandeep Tripathy
OP-TEE dispatcher registers with TF-A to handle EL1S interrupts by design. OP-TEE should own the G1S interrupts in GICv3. -gic_it_add() should result in configuring a given interrupt to G1S instead of G0 for GICv3. -G1S interrupts to be enabled at distributor interface. -system interface register ICC_IGRPEN1_EL1 to be used to enable G1S interrupts. Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com> Reviewed-by: Soby Mathew <soby.mathew@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-22Add support for Hisilicon Hi3519AV100 DEMO boardZeng Tao
Hi3519AV100 is a high-performance and low-power 4K Smart IP Camera SoC designed for IP cameras, action cameras, panoramic cameras, rear view mirrors, and UAVs. Hi3519A V100 introduces H.265/H.264 encoding and decoding, with performance up to 4K x 2K@60 fps and 1080p@240 fps. For more information: http://www.hisilicon.com/en/Products/ProductList/Surveillance This patch has been tested using the following step, 1. Patch the uboot and Linux kernel with OP-TEE support if required 2. build step: (1) make CROSS_COMPILE=arm-himix200-linux- PLATFORM=hisilicon PLATFORM_FLAVOR=hi3519av100_demo (OPTEE-OS build) (2) make CROSS_COMPILE_HOST=arm-himix200-linux- (OPTEE_CLIENT build) (3) cross_compile openssl and replace optee_test/host/libopenssl (4) make CROSS_COMPILE_HOST=arm-himix200-linux- CROSS_COMPILE_TA=arm-himix200-linux- TA_DEV_KIT_DIR=../optee_os/out/arm-plat-hisilicon/export-ta_arm32 COMPILE_NS_USER=32 (OPTEE_TEST build) 3. mkimage -A arm -T kernel -O tee -C none -d tee.bin uTee.optee 4. Boot setting in uboot: nand read 0x22007fc0 0x100000 0x400000; /* load kernel */ tftp 0x30000000 uTee.optee;bootm 0x30000000; 5. after Linux startup, run daemon tee-supplicant 6. run xtest Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>
2019-02-21core: mm: simplify overlap checkPeng Fan
Overlap region check could be simplified as below: "(StartA <= EndB) and (StartB <= EndA)" Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-15Revert "core_mmu: phys_to_virt_io(): warn if PA has both S and NS mappings"Jerome Forissier
This reverts commit 53c1131c3dee546d6d618a0f7f20586598ca032c. The original change breaks platforms that map their console UART in both security domains [1]. In this case, the platform won't boot because the error message causes infinite recursion. Since add_phys_mem() warns about overlaps already, there is really no need for more checks. Link: [1] https://github.com/OP-TEE/optee_os/issues/2821 Reported-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14plat-rcar: add support for H3 module with 8GB memoryVolodymyr Babchuk
Renesas calls this flavor "salvator-h3-4x2g", in OP-TEE flavor will be named "salvator_h3_4x2g". Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Joakim Bech <joakim.bech@linaro.org>
2019-02-14plat-rcar: virtualization port for RCAR platformVolodymyr Babchuk
Put platform information into nexus sections, so they are available at all times. Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-02-14mmu_lpae: flush TLBs when switching partitionsVolodymyr Babchuk
Missed TLB flush caused random page faults on Renesas HW. Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
2019-02-14stm32mp1: fix missing ETZPC mappingEtienne Carriere
Fixes commit 1095cc2ec739 ("stm32mp1: platform enables STM32 ETZPC driver") that did not define ETZPC interface registers mapping. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14core: deprecate read32(), write32() and friendsEtienne Carriere
read8(), read16(), read32() write8(), write16() and write32() are deprecated since the equivalent, prefixed with io_ were introduced are aligns functions API with other memory cell accesses util functions as io_mask32() or pub_be32(). This change fully removes support for the deprecated functions. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14zynq7k: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14ti: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14synquancer: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14sunxi: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14stm32mp1: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14stm: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14sam: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14rockchip: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14marvell: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14ls: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14imx: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-02-14hikey: upgrade from write32() to io_write32() and friendsEtienne Carriere
Replace use of readX() and writeX() with io_readX() and io_writeX(). The former are about to be deprecated in favor to the later. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>