summaryrefslogtreecommitdiff
path: root/drivers/imx
AgeCommit message (Collapse)Author
2019-08-01Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__Julius Werner
NOTE: __ASSEMBLY__ macro is now deprecated in favor of __ASSEMBLER__. All common C compilers predefine a macro called __ASSEMBLER__ when preprocessing a .S file. There is no reason for TF-A to define it's own __ASSEMBLY__ macro for this purpose instead. To unify code with the export headers (which use __ASSEMBLER__ to avoid one extra dependency), let's deprecate __ASSEMBLY__ and switch the code base over to the predefined standard. Change-Id: Id7d0ec8cf330195da80499c68562b65cb5ab7417 Signed-off-by: Julius Werner <jwerner@chromium.org>
2019-02-12imx: warp7: Migrate to MULTI_CONSOLE_APIYing-Chun Liu (PaulLiu)
This commit migrates to MULTI_CONSOLE_API for IMX Warp7 board. We also rename the functions in imx_uart driver to more specific one. Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
2019-01-04Sanitise includes across codebaseAntonio Nino Diaz
Enforce full include path for includes. Deprecate old paths. The following folders inside include/lib have been left unchanged: - include/lib/cpus/${ARCH} - include/lib/el3_runtime/${ARCH} The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them). For example, this patch had to be created because two headers were called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform to avoid collision."). More recently, this patch has had similar problems: 46f9b2c3a282 ("drivers: add tzc380 support"). This problem was introduced in commit 4ecca33988b9 ("Move include and source files to logical locations"). At that time, there weren't too many headers so it wasn't a real issue. However, time has shown that this creates problems. Platforms that want to preserve the way they include headers may add the removed paths to PLAT_INCLUDES, but this is discouraged. Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-11-08Standardise header guards across codebaseAntonio Nino Diaz
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards. The style that this project is now to use the full name of the file in capital letters followed by 'H'. For example, for a file called "uart_example.h", the header guard is UART_EXAMPLE_H. The exceptions are files that are imported from other projects: - CryptoCell driver - dt-bindings folders - zlib headers Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-10-10drivers: imx: mxc_usdhc: Do not set MMC_RSP_48 for MMC_RESPONSE_R2Bryan O'Donoghue
commit 97d5db8c5cb95c7ce69ff4d36bcda2aeda143576 reverts an update to the MMC layer that accompanied the original submission of this MMC driver this is the right-thing-to-do in terms of the MMC spec. Unfortunately the reversion also breaks this driver. The issue is the i.MX controller doesn't want MMC_RSP_48 set for MMC_RESPONSE_R2. The appropriate place to place that constraint is obviously in drivers/imx/usdhc/imx_usdhc.c not in the shared MMC codebase. This patch restores the logic the i.MX controller requires without breaking it for everyone else. Fixes: 97d5db8c5cb95c7ce69ff4d36bcda2aeda143576 Fixes: 2a82a9c95f6c06079f58d69315544a6b49cf64a4 Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Jun Nie <jun.nie@linaro.org>
2018-09-04drivers: imx: mxc_usdhc: Add USDHC driver to support boot EMMCJun Nie
Add USDHC driver to support boot EMMC. Only initialization and single/multiple block read are tested. [bod: fixed checkpatch.pl complaints] [bod: changed name to imx_usdhc for namespace consistency] [bod: squashed antecedent fixes into this one patch] Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2018-09-04drivers: imx: imx_gpt: Add general purpose timer API bindingJun Nie
Add delay timer API so that it can be called by delay timer layer and used as delay timer globally. [bod: changed name from imx_delay_timer -> imx_gpt ] Signed-off-by: Jun Nie <jun.nie@linaro.org> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2018-08-30drivers: imx: crash-console: Add a mxc_crash_console driverBryan O'Donoghue
This patch does two main things - It implements the crash console UART init in assembly, as a hard-coded 115200 8N1 assumed from the 24 MHz clock. If the clock setup code has not run yet, this code can't work but, setting up clocks and clock-gates is way out of scope for this type of recovery function. - It adds code to write a character out of the NXP UART without using any stack-based operations when doing so. - Provides support for crash console in DCE or DTE mode. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2018-08-30drivers: imx: uart: Add mxc_consoleBryan O'Donoghue
- Adds a simple register read/write abstraction to cut-down on the amount of typing and text required to access UART registers in this driver. - Adds a console getc() callback. - Adds a console putc() callback, translating '\n' to '\r' + '\n'. - Initializes the MXC UART, take a crude method of calculating the BAUD rate generator. The UART clock-gates must have been enabled prior to launching the UART init code. Special care needs to be taken to ensure the UBIR is initialized before the UBMR and we need to ensure that UCR2.SRST comes good before trying to program other registers associated with the UART. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>