summaryrefslogtreecommitdiff
path: root/board/toradex/colibri_imx7/colibri_imx7.c
AgeCommit message (Collapse)Author
2018-11-27colibri_imx7: explicitly set flash detection pin as inputStefan Agner
If the SoC is fused with eMMC reset enabled, the detection GPIO is still set as an output. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-11-27colibri_imx7: fix comments about memory alignment requirementsStefan Agner
Linux seems to require memory to be aligned by 2MiB to properly use it as lowmem. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-09-13board: toradex: turn off lcd backlight before OS handoverGerard Salvatella
U-Boot typically tears down the display controller before handing control over to Linux. On LCD displays disabling pixel clock leads to a fading out effect with vertical/horizontal lines. Make sure to disable back light before booting Linux. Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-07-27colibri_imx7: add configuration for tezi recoveryStefan Agner
Modify configuration for Tezi unified recovery mode: - Enable SDP in U-Boot - Enable FDT relocation (in-place is causing issues with FIT images) - Remove video output - Currently only for recovery (no flash/eMMC support) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-03-20colibri_imx7: do not mux SODIMM 169 as NAND chip selectStefan Agner
The pad SAI1_RX_DATA can be used as second chip select for dual-die NAND. However, with an assembly option the pad is available as GPIO on SODIMM 169. All current version of Colibri iMX7 modules have the pad available as GPIO hence do not mux the pin so that it is available as GPIO by default. This follows a similar commit in Linux ("arm: dts: imx7: mux pad of SODIMM 169 as GPIO") Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7_emmc: add Colibri iMX7 Dual 1GB (eMMC) supportStefan Agner
This adds support for Colibri iMX7 Dual 1GB modules which come with on-board eMMC storage (whereas the other Colibri iMX7 modules use raw NAND). A subselection (variant) for the Colibri iMX7 target is used to maximize sharing. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7: use SDP if USB serial downloader has been usedStefan Agner
In case USB serial downloader has been used to load U-Boot start the serial download protocol (SDP) emulation. This allows to download complete images such as Toradex Easy Installer over USB SDP as well. This code uses the boot ROM provided boot information to reliably detect USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-01colibri_imx7: carve out PMD aligned amount of memoryStefan Agner
If the Cortex-M4 is running we carve out 1MiB of memory for rpmsg communication and/or the firmware running from DDR. On the Colibri iMX7D this area is in the middle of its 512MiB of memory. Linux seems not to handle the sparse memory area well and shows only the first 254MiB of memory as available. Enabling highmem seems to work around this issue. However, enabling highmem is not ideal since memory from the highmem area is more restricted then lowmem. Aligning the carved out memory to ARM Linux' PMD (page middle directory) size of 2MiB seem to allow allocating all available memory as lowmem. Hence increase the carveout region to 2MiB. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-05-29colibri_imx7: discard unused usdhc3_emmc_pads iomuxMarcel Ziswiler
Discard the unused usdhc3_emmc_pads iomux table to prevent the following build time warning: u-boot-toradex.git/board/toradex/colibri_imx7/colibri_imx7.c:112:29: warning: ‘usdhc3_emmc_pads’ defined but not used [-Wunused-const-variable=] static iomux_v3_cfg_t const usdhc3_emmc_pads[] = { ^~~~~~~~~~~~~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-03-30colibri_imx7: use device-tree for MTD partitionsStefan Agner
Use device-tree fixup to communicate the MTD partitions to the kernel. Remove mtdparts from the kernel command line. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-21colibri_imx7: setup PMIC sleep mode configurationStefan Agner
Disable 3.3V Ethernet and ARM rail when entering sleep mode. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-03-16colibri_imx7: implement board level USB PHY modeStefan Agner
Implement board level USB PHY mode callback. On USB OTG Port 1 the Colibri standard foresees GPIO USBC_DET to decide whether the port should run in Host or Device mode. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11board: colibri_imx7: avoid using DDR reserved for Cortex-M4Stefan Agner
Using linux,usable-memory the board code carves out 1MiB of memory for the Cortex-M4 core at the end of the 256MiB block. However, in case a board has 256MiB of memory (Colibri iMX7S), that is the area where U-Boot gets relocated to... Use board_get_usable_ram_top to avoid using that area as relocation target. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11board: colibri_imx7: reserve DDR memory for Cortex-M4Stefan Agner
i.MX 7's Cortex-M4 core can run from DDR and uses DDR memory for the rpmsg communication. Both use cases need a fixed location of memory reserved. For the rpmsg use case the reserved area needs to be in sync with the kernel's hardcoded vring descriptor location. Use the linux,usable-memory property to carve out 1MB of memory in case the M4 core is running. Also make sure that the i.MX 7 specific rpmsg driver does not get loaded in case we do not carve out memory. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11toradex: allow custom fdt board setup in board fileStefan Agner
The config block support currently uses the ft_board_setup function to patch the device tree with config block information. However, this does not allow to patch the device tree with board specific information. Rename the common setup function to ft_common_board_setup and use the call it from the board files directly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 37fa41256bd756f3652e7479b976982092a4f9bc)
2016-10-07colibri_imx7: use Ricoh RN5T567 to reboot the boardStefan Agner
Use the external PMIC Ricoh RN5T567 to reliably restart the system. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-10-07colibri_imx7: remove legancy UART platform dataStefan Agner
We now use device tree to provide SoC data to the UART driver, there is no need for the legancy UART platform data. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-10-07colibri_imx7: remove legancy I2C supportStefan Agner
Remove legancy I2C config and code in favor of upcomming DM/DT enable I2C support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-07-28colibri_imx7: add Colibri iMX7S/iMX7D module supportStefan Agner
This commit adds support for the Toradex Computer on Modules Colibri iMX7S/iMX7D. The two modules/SoC's are very similar hence can be easily supported by one board. The board code detects RAM size at runtime which is one of the differences between the two boards. The board also uses the UART's in DTE mode, hence making use of the new DTE support via serial DM. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>