summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* imx: add i.MX8QXP MEK board supportPeng Fan2018-10-2211-0/+819
| | | | | | | | | | | Add i.MX8QXP MEK board support Enabled pinctrl/clk/power-domain/mmc/i2c/fec driver. Added README file. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com>
* arm: dts: introduce dtsi for i.MX8QXPPeng Fan2018-10-224-0/+627
| | | | | | | | Introduce dtsi for i.MX8QXP, since there is other variants i.MX8DX(P), so add them there, because i.MX8QXP includes the dtsi of them. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de>
* mmc: fsl_esdhc: add uclass clk supportPeng Fan2018-10-221-4/+22
| | | | | | | | | | When CONIFG_CLK is enabled, use uclass clk api to handle the clock. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Jaehoon Chung <jh80.chung@samsung.com> Cc: Stefano Babic <sbabic@denx.de>
* fsl_esdhc: Update usdhc driver to support i.MX8Ye Li2018-10-221-4/+4
| | | | | | | | | Add CONFIG_ARCH_IMX8 to use the 64bits support in usdhc driver. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Jaehoon Chung <jh80.chung@samsung.com>
* serial: lpuart: support uclass clk apiPeng Fan2018-10-221-19/+76
| | | | | | | | | | Modify most APIs to use udevice as the first parameter, then it will be easy to get the clk reference by using udevice pointer. Use uclass api to get lpuart clk when CONFIG_CLK is enabled. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* serial: lpuart: Enable RX and TX FIFOYe Li2018-10-221-7/+26
| | | | | | | | | | Enable the RX and TX FIFO in LPUART driver to avoid the input lost during U-Boot boot up. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* serial_lpuart: Update lpuart driver to support i.MX8Peng Fan2018-10-222-4/+13
| | | | | | | | | | | | | Add i.MX8 compatible string and cpu type support to lpuart driver, to use little endian 32 bits configurations. Also, according to RM, the Receive FIFO Enable (RXFE) field in LPUART FIFO register is bit 3, so this definition should change to 0x08 (not 0x40) for i.MX8, otherwise the Receive FIFO is not disabled. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* clk: imx: add clk driver for i.MX8QXPPeng Fan2018-10-225-0/+406
| | | | | | | | | | Add clk driver for i.MX8QXP. This basic version supports clk enable/disable/get_rate/set_rate operations for I2C, ENET, SDHC0 and UART clocks. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* power: Add power domain driver for i.MX8Peng Fan2018-10-224-1/+338
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the power domain DM driver for i.MX8, that it depends on the DTB power domain trees to generate the power domain provider devices. Users need to add power domain trees with property "compatible = "nxp,imx8-pd";" When power on a PD device, the driver will power on its ancestor PD devices in power domain tree. When power off a PD device, the driver will check its child PD devices first. Only if all child PD devices are off, then power off the current PD device. Then the driver checks sibling PD devices. If sibling PD devices are off, then it will power off parent PD device. There is no counter maintained in this driver, but a state to hold current on/off state. So the request and free functions are empty. The power domain implementation in i.MX8 DTB set the "#power-domain-cells" to 0, so there is no ID binding with each PD device. We don't use "id" variable in struct power_domain. At the same time, we have to set of_xlate to empty to bypass standard of_xlate in uclass driver. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* pinctrl: Add pinctrl driver for i.MX8Peng Fan2018-10-226-93/+258
| | | | | | | | | | | | | Add pinctrl driver for i.MX8. The pads configuration is controlled by SCU, so need to ask SCU to configure pads through scfw API. Add pinctrl-scu to invoke sc_pad_set to configure pads. Add a new flag IMX8_USE_SCU to differentiate i.MX8 from other platforms which could directly configure pads from Acore side. Add CONFIG_PINCTRL_IMX8 as the built gate. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* gpio: mxc_gpio: add support for i.MX8Peng Fan2018-10-222-9/+42
| | | | | | | | Add i.MX8 support, there are 8 GPIO banks. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add dummy clockPeng Fan2018-10-222-0/+48
| | | | | | | | | This driver is mostly used to avoid build errors. We use uclass clk driver for clk related operations. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add iomux configuration apiPeng Fan2018-10-223-1/+84
| | | | | | | | Add iomux configuration api. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: cpu: add uclass based CPU driverAnatolij Gustschin2018-10-222-78/+142
| | | | | | | | | | | | | print_cpuinfo() in board init code requires uclass CPU driver, add it to be able to display CPU info when CONFIG_DISPLAY_CPUINFO option is enabled. CPU node in DT will have to include 'clocks' and 'u-boot,dm-pre-reloc' properties for generic print_cpuinfo() to work as expected. The driver outputs info for i.MX8QXP Rev A and Rev B CPUs. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
* imx8: cpu: add function for reading FEC MAC from fuseAnatolij Gustschin2018-10-221-0/+38
| | | | | | | | | FEC driver requires imx_get_mac_from_fuse(). Add it in preparation for ENETx support. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
* imx8: add arch_cpu_init arch_cpu_init_dmPeng Fan2018-10-222-1/+61
| | | | | | | | Add arch_cpu_init(_dm) mainly to open the channel between ACore and SCU. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add mmu and dram related functionsPeng Fan2018-10-221-0/+284
| | | | | | | | | | | | Add mmu memmap, some memory regions are reserved by M4, Arm Trusted Firmware, so need to get memreg using SCFW API and setup the memmap. Add dram_init, dram_init_banksize, get_effective_memsize functions, according to the memreg. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: implement mmc_get_env_devPeng Fan2018-10-221-0/+32
| | | | | | | | Implement mmc_get_env_dev for i.MX8. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add boot device detectionPeng Fan2018-10-222-0/+95
| | | | | | | | | Add get_boot_device to detect boot device. Add print_bootinfo to print the boot device info. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add basic cpu supportPeng Fan2018-10-222-0/+100
| | | | | | | | | Add basic cpu support, including cpu revision, cpu type, cpu core detection. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* armv8: add cpu core helper functionsPeng Fan2018-10-221-0/+26
| | | | | | | | Add helper functions to identify different armv8 variants. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx: add i.MX8 cpu typePeng Fan2018-10-222-0/+8
| | | | | | | Add i.MX8 cpu type and is_imx8/is_imx8qxp help macros. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
* imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP definedPeng Fan2018-10-221-0/+15
| | | | | | | | | Include i.MX8QXP pin header when CONFIG_IMX8QXP defined, if no SoC macro defined, report error. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add imx-regs header filePeng Fan2018-10-221-0/+46
| | | | | | | | Add imx-regs header file to include the register base definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx: boot_mode: Add FLEXSPI boot entryPeng Fan2018-10-221-0/+1
| | | | | | | | i.MX8 support FLEXSPI boot support. So add FLEXSPI boot entry. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* misc: imx8: add scfw api impementationPeng Fan2018-10-223-1/+398
| | | | | | | | | | Add clk/misc/pad/pm/rm scfw api implementaion for different drivers to invoke. The low level code is using misc_call to invoke imx8_scu driver. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* misc: add i.MX8 misc driverPeng Fan2018-10-223-0/+270
| | | | | | | | | Add i.MX8 MISC driver to handle the communication between A35 Core and SCU. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* arm: global_data: add scu_dev for i.MX8Peng Fan2018-10-221-0/+4
| | | | | | | | | Add scu_dev for i.MX8, this will be used as a handle to communite with SCU from A35. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* arm: build mach-imx for i.MX8Peng Fan2018-10-221-1/+1
| | | | | | | | Build mach-imx for i.MX8 Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx: add Kconfig entry for i.MX8QXPPeng Fan2018-10-223-0/+22
| | | | | | | | Add Kconfig entry for i.MX8QXP Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* imx8: add scfw macro definitionPeng Fan2018-10-227-0/+636
| | | | | | | | Add SCFW macro definition. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* dt-bindings: soc: add i.MX8QXP pm and rsrc definitionPeng Fan2018-10-222-0/+745
| | | | | | | | Add i.MX8QXP power and resource definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks definitionPeng Fan2018-10-221-0/+583
| | | | | | | | Add i.MX8QXP clocks definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* dt-bindings: pinctrl: add i.MX8QXP pads definitionPeng Fan2018-10-221-0/+757
| | | | | | | | Add i.MX8QXP pads definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* arm: mx5: Add M53Menlo boardMarek Vasut2018-10-168-0/+947
| | | | | | | | Add Menlosystems M53 board, based on the M53 SoM. This board has Ethernet, USB host, USB gadget, UART and LCD on it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* arm: mx5: Add LDB clock config codeMarek Vasut2018-10-162-0/+30
| | | | | | | | Add code to configure PLL4, from which the LDB clock are directly derived. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* arm: imx: mx5: Make videoskip available on MX5Marek Vasut2018-10-161-1/+3
| | | | | | | | | The board_video_skip() implementation in imx-common/video.c works on i.MX5x as well, so loosen the SoC filter in Makefile to make it available. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* ARM: opos6ul: make the board boot againSébastien Szymanski2018-10-094-4/+52
| | | | | | | | | | | | | Commit 9faa43c4b5e5 ("ARM: dts: i.MX6UL: U-Boot specific dts for u-boot, dm-spl") removes the u-boot,dm-spl properties from the imx6ul.dtsi file and breaks the OPOS6UL board. Add the u-boot,dm-spl properties into *-u-boot.dts files to make the board boot again. Fixes: commit 9faa43c4b5e5 ("ARM: dts: i.MX6UL: U-Boot specific dts for u-boot, dm-spl") Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
* configs: mx7: Remove CONFIG_DBG_MONITORFabio Estevam2018-10-095-7/+0
| | | | | | | Remove all CONFIG_DBG_MONITOR references as it is not used anywhere. Signed-off-by: Fabio Estevam <festevam@gmail.com>
* colibri_imx7: prime get_ram_size() using imx_ddr_size()Fabio Estevam2018-10-092-2/+1
| | | | | | | | | | | | | | | Rather than passing a hardcoded maxsize to the generic get_ram_size() function use the i.MX 7 specific imx_ddr_size() function, which extracts the memory size at runtime by reading the DDR controller registers. This is a purely cosmetic change as the generic get_ram_size() function already took care of properly automatically detecting 256MB, 512MB or 1GB modules. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
* imx: mx7: fix potential overflow in imx_ddr_size()Marcel Ziswiler2018-10-091-0/+4
| | | | | | | | | The imx_ddr_size() function may overflow as it is possible to kind of over provision the DDR controller. Fix this by capping it to 2 GB which is the maximum allowed size as per reference manual. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
* pico-imx7d: Add USB Host supportFabio Estevam2018-10-091-1/+28
| | | | | | | | | USB OTG2 port is connected to the USB host connector. Add support for it. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* pico-imx7d: Make SPL binary fit into 64kBFabio Estevam2018-10-093-3/+0
| | | | | | | | | | | | | Currently SPL binary is larger than 64kB, which is larger than CONFIG_SPL_MAX_SIZE defined in imx7_spl.h. This causes boot failure on the pico-mx7 targets. Remove CONFIG_SPL_LIBDISK_SUPPORT option for now, so that the SPL binary can fit into the 64kB range. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* pico-imx6ul, pico-imx7d: Enable USB and PXE boot supportOtavio Salvador2018-10-092-0/+4
| | | | | | | | | This allow the use of a USB storage or PXE network booting as fallback, allowing for example for manufacturing installation of eMMC storage in an easy way. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* pico-imx6ul, pico-imx7d: Use eMMC user partition by defaultOtavio Salvador2018-10-092-4/+4
| | | | | | | | | After discussing with TechNexion about how its default setting, it is better to install on the eMMC user partition by default, when using DFU, so it works out of box for majority of users. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* Kconfig: sandbox: enable cmd_avb and dependenciesJens Wiklander2018-10-073-1/+7
| | | | | | | | | Enables cmd_avb and its dependencies need to run the AVB tests. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> [trini: Disable for sandbox_noblk] Signed-off-by: Tom Rini <trini@konsulko.com>
* avb_verify: support sandbox configurationJens Wiklander2018-10-071-1/+2
| | | | | | | | Change get_sector_buf() to use map_sysmem() to get a pointer to the CONFIG_FASTBOOT_BUF_ADDR in memory. Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* test_avb: Update pymark.buildconfigspec information for the AVB testsJens Wiklander2018-10-071-3/+5
| | | | | | | | | Update the pymark.buildconfigspec to depend on 'cmd_mmc' in addition to 'cmd_avb' for those tests that needs more a more complete MMC implementation or the "mmc" command. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
* avb_verify: support using OP-TEE TA AVBJens Wiklander2018-10-073-1/+134
| | | | | | | | With CONFIG_OPTEE_TA_AVB use the trusted application AVB provided by OP-TEE to manage rollback indexes and device-lock status. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
* test: tee: test TEE uclassJens Wiklander2018-10-072-0/+99
| | | | | | | | | Tests the TEE uclass with a sandbox tee driver. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> [trini: initialize session to 0 in dm_test_tee] Signed-off-by: Tom Rini <trini@konsulko.com>