From patchwork Tue Jan 28 13:42:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcel Ziswiler X-Patchwork-Id: 240420 List-Id: U-Boot discussion From: marcel at ziswiler.com (Marcel Ziswiler) Date: Tue, 28 Jan 2020 14:42:21 +0100 Subject: [PATCH v3 0/7] board: toradex: prepare and add Verdin iMX8M Mini support Message-ID: <20200128134229.106794-1-marcel@ziswiler.com> Some preparational steps and then adding initial minimal support for the Toradex Verdin iMX8M Mini Quad 2GB WB IT V1.0A module. They are now strapped to boot from eFuses which are factory fused to properly boot from their on-module eMMC. U-Boot supports booting from the on-module eMMC only, SDP support is disabled for now due to missing i.MX 8M Mini USB support. Functionality wise the following is known to be working: - eMMC, 8-bit and 4-bit MMC/SD card slots - Ethernet - GPIOs - I2C Boot sequence is: SPL ---> ATF (TF-A) ---> U-boot proper ATF, U-boot proper and u-boot.dtb images are packed into a FIT image, loaded by SPL. Boot: U-Boot SPL 2020.01-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100) Normal Boot Trying to boot from MMC1 NOTICE: Configuring TZASC380 NOTICE: RDC off NOTICE: BL31: v2.0(release):rel_imx_4.14.98_2.3.0-0-g09c5cc994-dirty NOTICE: BL31: Built : 01:11:41, Jan 25 2020 NOTICE: sip svc init U-Boot 2020.01-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100) CPU: Freescale i.MX8MMQ rev1.0 at 0 MHz Reset cause: POR DRAM: 2 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial Out: serial Err: serial Model: Toradex Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT V1.0A, Serial# 06535149 Net: eth0: ethernet at 30be0000 Hit any key to stop autoboot: 0 Verdin iMX8MM # Changes in v3: - Drop pinfunc patches and just sync with linux-next as suggested by Fabio, Frieder and Oleksandr. - Drop AG resp. Inc. in copyright notices as adviced by our legal. - Add Oleksandr's reviewed-by tags. - Add missing config block information for Verdin iMX8M Nano as well. - Use pin names from the linux-next pinfunc sync as suggested by Oleksandr. Changes in v2: - Newly added this patch to the series splitting Verdin one as suggested by Oleksandr. - Split Apalis iMX8X off from this one as suggested by Oleksandr. - Further clean-up as announced on the mailing list. - Update cover letter with updated SKU naming and few clarifications. Igor Opaniuk (3): board: toradex: Add Verdin iMX8M Mini support board: toradex: verdin-imx8mm: add README board: toradex: verdin-imx8mm: add MAINTAINERS Marcel Ziswiler (4): arm: dts: imx8mm-pinfunc: sync latest linux-next pin func header toradex: tdx-cfg-block: add Apalis iMX8X support toradex: tdx-cfg-block: add Verdin iMX8M Mini/Nano support imx: imx8mm_evk: spelling in readme file arch/arm/dts/Makefile | 1 + arch/arm/dts/imx8mm-pinfunc.h | 20 +- arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 103 ++ arch/arm/dts/imx8mm-verdin.dts | 1007 ++++++++++ arch/arm/mach-imx/imx8m/Kconfig | 7 + board/freescale/imx8mm_evk/README | 2 +- board/toradex/common/tdx-cfg-block.c | 39 +- board/toradex/common/tdx-cfg-block.h | 7 +- board/toradex/verdin-imx8mm/Kconfig | 30 + board/toradex/verdin-imx8mm/MAINTAINERS | 9 + board/toradex/verdin-imx8mm/Makefile | 11 + board/toradex/verdin-imx8mm/README | 88 + board/toradex/verdin-imx8mm/imximage.cfg | 16 + board/toradex/verdin-imx8mm/lpddr4_timing.c | 1850 +++++++++++++++++++ board/toradex/verdin-imx8mm/spl.c | 180 ++ board/toradex/verdin-imx8mm/verdin-imx8mm.c | 73 + configs/verdin-imx8mm_defconfig | 98 + include/configs/verdin-imx8mm.h | 128 ++ 18 files changed, 3662 insertions(+), 7 deletions(-) create mode 100644 arch/arm/dts/imx8mm-verdin-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-verdin.dts create mode 100644 board/toradex/verdin-imx8mm/Kconfig create mode 100644 board/toradex/verdin-imx8mm/MAINTAINERS create mode 100644 board/toradex/verdin-imx8mm/Makefile create mode 100644 board/toradex/verdin-imx8mm/README create mode 100644 board/toradex/verdin-imx8mm/imximage.cfg create mode 100644 board/toradex/verdin-imx8mm/lpddr4_timing.c create mode 100644 board/toradex/verdin-imx8mm/spl.c create mode 100644 board/toradex/verdin-imx8mm/verdin-imx8mm.c create mode 100644 configs/verdin-imx8mm_defconfig create mode 100644 include/configs/verdin-imx8mm.h