summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-19colibri_imx7/colibri_imx6/apalis_imx6: limit bootm memoryStefan Agner
Limit memory used for relocation of FDT or initrd. This is required to make sure that relocated artifacts are within lowmem. If fdt_high or initrd_high are not set, U-Boot automatically relocates artifacts to the end of memory. But this area won't be part of lowmem and hence will not be accessible by the kernel during early boot. With VM split set to 2G/2G (i.MX default), only the 2GB Apalis iMX6 is affected by that issue. With VM split set to 3G/1G (ARM default) also modules with 1GB of memory are affected. With the latter the amount of lowmem will be 760MiB. The value must also not exceed available memory! Use a safe value of 512MiB for Apalis and 256MiB for Colibri. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-19toradex apalis/colibri: add device tree overlay supportStefan Agner
Device tree overlays might prove useful in the future, enable it by default on all Toradex modules. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-03-19toradex apalis/colibri: use common USB product id fallbackStefan Agner
All modules use the common g_dnl_bind_fixup implementaton which calculates the PID according to product id (read from the config block) plus offset of 0x4000. In case there is no config block support (e.g. SPL) or in case the config block is not readable, fall back to a generic product id (product id 0, which can be interpreted as "Unknown Module"). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-03-19mx7: Add 1.2GHz speed grade entryFabio Estevam
There are recent MX7 parts that have a 1.2GHz speed grade. Add support for it. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-03-19mx7: Fix the get_cpu_speed_grade_hz() return valuesFabio Estevam
According to the MX7D fuse map the following speed grades are available: 800 MHz 500 MHz 1000 MHz 1200 MHz So simply return the real frequency that corresponds to the speed grade. With this change we see on boot: CPU: Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz) Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-03-19mx7: Fix speed grade entryFabio Estevam
According to the MX7D fuse map the speed grade of the parts, which return '1' is 500MHz instead of 850MHz, so fix it accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-03-19arm: dts: imx6ul: add usbotg aliasesSébastien Szymanski
This is needed to make the UMS command work again as it fails with the following error: BIOS> ums 0 mmc 0 UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x748000 g_dnl_register: failed!, error: -19 ERROR: g_dnl_register failed at cmd/usb_mass_storage.c:179/do_usb_mass_storage() That's because usb_setup_ehci_gadget() function is looking for the usb device using the req_sed number. This change makes the usb device have a req_seq number and the UMS command work again: BIOS> ums 0 mmc 0 UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x748000 CTRL+C - Operation aborted Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
2017-03-19arm: i.MX6UL: add Armadeus Systems OPOS6UL SoM and OPOS6ULDev carrier boardSébastien Szymanski
OPOS6UL is an i.MX6UL based SoM with 256MB RAM, 4GB eMMC and an ethernet phy. OPOS6ULDev is carrier board for the OPOS6UL. U-Boot SPL 2017.03-rc3-00002-g5085c26 (Mar 07 2017 - 09:48:09) Trying to boot from MMC1 U-Boot 2017.03-rc3-00002-g5085c26 (Mar 07 2017 - 09:48:09 +0100) CPU: Freescale i.MX6UL rev1.0 528 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 40C Reset cause: POR Model: Armadeus Systems OPOS6UL SoM on OPOS6ULDev board DRAM: 256 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 Video: 800x480x18 In: serial Out: serial Err: serial Net: FEC [PRIME] Hit any key to stop autoboot: 0 Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-03-19dm: imx: serial: add i.MX6UL supportSébastien Szymanski
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
2017-03-19MCCMON6: defconfig: Move 'quiet' console parameter to 'console' env variableLukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2017-03-17arm: imx6: tqma6: add support for TQMa6DL variantMarkus Niebel
This adds support for TQMa6DL using i.MX6DL and 1GiB DRAM Since The module will use the same devicetree, we patch the ram size in ft_board_setup. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17arm: imx6: tqma6: use CONFIG_TQM6x for SOM specific settingsMarkus Niebel
We have a Kconfig name for the module types. Let's Use it. Some feature selections and configurations are based on the module. Module selection selects the CPU type. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17i.MX6Q: isiot: Switch the mmc env based on devnoJagan Teki
Add board_mmc_get_env_dev Switch the mmc env based on the mmc devno, instead of separately defining a config item in include/configs using board_mmc_get_env_dev - devno 0: sd/esd - devno 1: mmc/emmc Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6Q: icorem6_rqs: Add mmc_late_initJagan Teki
Let the runtime code can set the mmcdev and mmcroot based on the devno using mmc_get_env_dev instead of defining separately in build-time configs using mmc_late_init func. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6Q: icorem6_rqs: Add modeboot env via board_late_initJagan Teki
Add runtime, modeboot env which is setting mmcboot based on the bootdevice so-that conditional macros for MMC via CONFIG_BOOTCOMMAND should be avoided in config files. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: icorem6_rqs: Add eMMC boot supportJagan Teki
Boot from eMMC: -------------- U-Boot SPL 2017.01-00318-g8e243f8 (Jan 26 2017 - 11:53:21) Trying to boot from MMC2 U-Boot 2017.01-00318-g8e243f8 (Jan 26 2017 - 11:53:21 +0100) CPU: Freescale i.MX6D rev1.2 at 792 MHz Reset cause: POR Model: Engicam i.CoreM6 Quad/Dual RQS Starter Kit DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial switch to partitions #0, OK mmc1(part 0) is current device Net: No ethernet found. Hit any key to stop autoboot: 0 Booting from mmc ... switch to partitions #0, OK mmc1(part 0) is current device Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17mx6: tqma6: clear enet clk sel for mba6Markus Niebel
we have external ref clock from phy. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17imx6: tqma6: adjust ethernet phy reset delayMarkus Niebel
fix the reset delay which was to short Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17imx6: tqma6: disable spi CS unused in U-BootMarkus Niebel
Since the CS are not in use, do not map them. User of starterkit mainboard is free to use them otherwise. When using these pins later in the OS for instance as GPIO IRQ pin, they need to be input. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17imx6: tqma6: use lower driver stength for I2C pinsMarkus Niebel
The current driver stength is too high, leading to spec violations on the falling edge. Fix it with values from HW Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17imx6: tqma6: implement power_init_boardMarkus Niebel
PMIC implements proper I2C bus switching, implement power_init_board instead handling in board_late_init. Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
2017-03-17imx6: icorem6_rqs: Update SPL board boot order for eMMCJagan Teki
SPL mmc device index is get based on the boot device, like - BOOT_DEVICE_MMC1 for mmc device 0 - BOOT_DEVICE_MMC2 for mmc device 1 Currently BOOT_DEVICE_MMC1 is setting both SD/eSD and MMC/eMMC boot devices in i.MX, So u-boot is loading from mmc device 0 even "if the board booting from SD/eSD or MMC/eMMC" So, this patch set BOOT_DEVICE_MMC2 for MMC/eMMC so for MMC/eMMC the u-boot is loading from mmc device 1 and the board file need to take care if the board have different mmc device order intialization. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17arm: dts: imx6qdl-icore-rqs: Add eMMC nodeJagan Teki
Add usdhc4 node, which is eMMC for Engicam i.CoreM6 RQS modules. eMMC Log: -------- icorem6qdl-rqs> mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device icorem6qdl-rqs> mmcinfo Device: FSL_SDHC Manufacturer ID: fe OEM: 14e Name: MMC04 Tran Speed: 52000000 Rd Block Len: 512 MMC version 4.4.1 High Capacity: Yes Capacity: 3.5 GiB Bus Width: 4-bit Erase Group Size: 512 KiB HC WP Group Size: 4 MiB User Capacity: 3.5 GiB Boot Capacity: 16 MiB ENH RPMB Capacity: 128 KiB ENH Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6UL: isiot: Switch the mmc env based on devnoJagan Teki
Add board_mmc_get_env_dev Switch the mmc env based on the mmc devno, instead of separately defining a config item in include/configs using board_mmc_get_env_dev - devno 0: sd/esd - devno 1: mmc/emmc Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6UL: isiot: Add mmc_late_initJagan Teki
Let the runtime code can set the mmcdev and mmcroot based on the devno using mmc_get_env_dev instead of defining separately in build-time configs using mmc_late_init func. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6UL: isiot: Add modeboot env via board_late_initJagan Teki
Add runtime, modeboot env which is setting mmcboot, or nandboot based on the bootdevice so-that conditional macros b/w MMC and NAND for CONFIG_BOOTCOMMAND should be avoided in config files. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17i.MX6UL: isiot: Add eMMC boot supportJagan Teki
Boot from eMMC: -------------- U-Boot SPL 2017.01-00314-gd0cd9cd-dirty (Jan 25 2017 - 13:25:27) Trying to boot from MMC2 U-Boot 2017.01-00314-gd0cd9cd-dirty (Jan 25 2017 - 13:25:27 +0100) CPU: Freescale i.MX6UL rev1.1 528 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 36C Reset cause: POR Model: Engicam Is.IoT MX6UL eMMC Starterkit DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial switch to partitions #0, OK mmc1(part 0) is current device Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: isiotmx6ul: Update SPL board boot order for eMMCJagan Teki
SPL mmc device index is get based on the boot device, like - BOOT_DEVICE_MMC1 for mmc device 0 - BOOT_DEVICE_MMC2 for mmc device 1 Currently BOOT_DEVICE_MMC1 is setting both SD/eSD and MMC/eMMC boot devices in i.MX, So u-boot is loading from mmc device 0 even "if the board booting from SD/eSD or MMC/eMMC" So, this patch set BOOT_DEVICE_MMC2 for MMC/eMMC so for MMC/eMMC the u-boot is loading from mmc device 1 and the board file need to take care if the board have different mmc device order intialization. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: Add src_base structure define macroJagan Teki
Instead of initializing 'struct src' to SRC_BASE_ADDR on every function better to have global define macro. Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@openedev.com>
2017-03-17imx: Use IMX6_BMODE_* macros instead of numericalsJagan Teki
Use meaningful macros IMX6_BMODE_*, instead of numerical number in boot mode detection code. Cc: Tim Harvey <tharvey@gateworks.com> Acked-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@openedev.com>
2017-03-17imx: spl: Update NAND bootmode detection bitJagan Teki
BOOT_CFG1[7:4] the NAND boot mode selection is done only when BOOT_CFG1[7] is 1 hence update the NAND boot mode detection bit case. This information available on Table 8-11. NAND Boot eFUSE Descriptions, from IMX6DQRM. Cc: Tim Harvey <tharvey@gateworks.com> Reviewed by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@openedev.com>
2017-03-17imx6: Add imx6_src_get_boot_modeJagan Teki
For i.MX6, the bootmode determine code is part of spl_boot_device, but there is might be a possibility for other part the code need to check the desired boot mode for adding new functionalities like modeboot env variable, or changing boot order etc. So introduced imx6_src_get_boot_mode which actually reading the boot mode register for desired modes. More cleanup will be add in future patches. Cc: Stefano Babic <sbabic@denx.de> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@openedev.com> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-03-17i.MX6: engicam: Include dts files under MAINTAINERSJagan Teki
dts files related to i.MX6 engicam boards are maintined under board, so include them under board/engicam/*/MAINTAINERS Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6ul: isiotmx6ul: Enable I2C supportJagan Teki
Enable I2C support for Engicam Is.IoT NAND module. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: isiotmx6ul: Add nandboot env supportJagan Teki
Add config options for booting Linux from NAND in UBI format. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: isiotmx6ul: Add NAND supportJagan Teki
Add NAND support for Engicam Is.IoT MX6UL board. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: isiotmx6ul: Add FEC supportJagan Teki
Add FEC support for Engicam Is.IoT MX6UL module. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17arm: dts: imx6ul-isiot: Add FEC nodeJagan Teki
Add FEC node for Engicam Is.IoT MX6UL module. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx6: isiotmx6ul: Add I2C supportJagan Teki
Add I2C support for Engicam Is.IoT MX6UL module. isiotmx6ul> i2c bus Bus 0: i2c@021a0000 Bus 1: i2c@021a4000 isiotmx6ul> i2c dev 0 Setting bus to 0 isiotmx6ul> i2c dev Current bus is 0 isiotmx6ul> i2c speed 100000 Setting bus speed to 100000 Hz isiotmx6ul> i2c probe Valid chip addresses: 00 2C 44 78 isiotmx6ul> i2c md 2C 0xff 00ff: 00 00 00 00 0f f0 01 64 ff ff 00 00 00 00 00 00 .......d........ Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17arm: dts: imx6ul-isiot: Add I2C nodesJagan Teki
Add I2C nodes for Engicam Is.IoT MX6UL module. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17arm: imx6ul: Add Engicam Is.IoT MX6UL Starter Kit initial supportJagan Teki
Boot from MMC: ------------- U-Boot SPL 2017.01-rc2-gba3c151-dirty (Jan 02 2017 - 16:59:33) Trying to boot from MMC1 U-Boot 2017.01-rc2-gba3c151-dirty (Jan 02 2017 - 16:59:33 +0100) CPU: Freescale i.MX6UL rev1.1 528 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 33C Reset cause: POR Model: Engicam Is.IoT MX6UL Starterkit DRAM: 512 MiB MMC: FSL_SDHC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: CPU Net Initialization Failed No ethernet found. Hit any key to stop autoboot: 0 isiotmx6ul> Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17configs: imx6: Don't define USDHC2_BASE_ADDRJagan Teki
USDHC base address will assigned by SPL using fsl_esdhc_initialize and u-boot with devicetree, hence no remove base address assignment in config files. Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2017-03-17imx: mx7ulp_evk: enable mmc/regulator supportPeng Fan
Enable MMC support. The fsl sdhc driver needs regulator to enable power, so enable regulator support. And bootcmd and more env. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2017-03-17imx: imx7ulp: add EVK board supportPeng Fan
Add EVK board support. Add the evk dts file. LOG: U-Boot 2017.03-rc2-00038-gab86c1d (Feb 22 2017 - 15:59:58 +0800) CPU: Freescale i.MX7ULP rev1.0 at 500 MHz Reset cause: POR Boot mode: Dual boot Model: NXP i.MX7ULP EVK DRAM: 1 GiB MMC: FSL_SDHC: 0 In: serial@402D0000 Out: serial@402D0000 Err: serial@402D0000 Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2017-03-17mmc: fsl_esdhc: support i.MX7ULPPeng Fan
Add compatible property for i.MX7ULP. Add a weak init_usdhc_clk function, i.MX7ULP use this to init the clock. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by : Stefano Babic <sbabic@denx.de>
2017-03-17arm: dts: add i.MX7ULP dtsi filePeng Fan
Add i.MX7ULP dtsi file. Add clock and pinfun header files. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2017-03-17mx7ulp: Add HAB boot supportPeng Fan
Add CAAM clock functions, SEC_CONFIG[1] fuse checking, and default CSF size for HAB support boot on mx7ulp. Users need to uncomment the CONFIG_SECURE_BOOT in mx7ulp_evk.h to build secure uboot. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by : Stefano Babic <sbabic@denx.de>
2017-03-17serial: lpuart: add i.MX7ULP supportPeng Fan
Add i.MX7ULP support. The buadrate calculation on i.MX7ULP is different,so add a new setbrg function for i.MX7ULP. Add a enum lpuart_devtype for runtime check for different platforms. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Cc: York Sun <york.sun@nxp.com> Cc: Shaohui Xie <Shaohui.Xie@nxp.com> Cc: Alison Wang <b18965@freescale.com>
2017-03-17serial: lpuart: restructure lpuart driverPeng Fan
Drop CONFIG_LPUART_32B_REG. Move the register structure to a common file include/fsl_lpuart.h Define lpuart_serial_platdata structure which includes the reg base and flags. For 32Bit register access, use lpuart_read32/lpuart_write32 which handles big/little endian. For 8Bit register access, still use the orignal code. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by : Stefano Babic <sbabic@denx.de> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Cc: York Sun <york.sun@nxp.com> Cc: Shaohui Xie <Shaohui.Xie@nxp.com> Cc: Alison Wang <b18965@freescale.com>
2017-03-17i2c: lpi2c: add lpi2c driver for i.MX7ULPPeng Fan
Add lpi2c driver for i.MX7ULP. Need to enable the two options to use this driver: CONFIG_DM_I2C=y CONFIG_SYS_I2C_IMX_LPI2C=y Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Stefano Babic <sbabic@denx.de>