summaryrefslogtreecommitdiff
path: root/board
AgeCommit message (Collapse)Author
2018-06-19colibri-imx6ull: set module variant depending on config blockStefan Agner
Using CPU temperature grading as a discriminator if the Wi-Fi / Bluetooth chip is populated is no longer possible due to upcoming SKUs. Set variant to -wifi only if a valid config block is present and the product id mentions a SKU with Wi-Fi / Bluetooth. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-19tdx-cfg-block: simplify i.MX 6 module detectionStefan Agner
Use CONFIG_TARGET_... at compile time to differentiate between Apalis iMX6, Colibri iMX6 and Colibri iMX6ULL. Avoid code duplication by moving question about Wi-Fi / Bluetooth before IT/non-IT decision. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18tdx-cfg-block: add support for new Colibri iMX6ULL SKUsGerard Salvatella
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18colibri-vf: use leveling evaluated by DDR validation toolsStefan Agner
The DDR validation tool (which is part of Processor Expert) allows to evaluate leveling parameters for CR105/CR106/CR110. Several runs have been made with Colibri VF50 and VF61 and it seems to evaluate very similar values. Use this values by default. Note: The newly evaluated parameters seem to require CTLUPD_AREF to be enabled! Note 2: The tool also evaluated 6 as a new value for PHY02/18 GATE_CFG (Coarse adjust of gate open time). However, this seems not to work in practise. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18colibri-vf: adjust timing according to data sheetStefan Agner
Using the DDR Validation tool in Processor Expert uncovered two timing inconsistencies. Since those timings are related to the suspend mode they do not affect or change regular memory behavior. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6: added nreset gpio on rebootGerard Salvatella
RGMII_RD1 pin (active high, GPIO6_IO27) is triggered on reboot during the SPL phase. This asserts (active low) nReset_Out from the PMIC. Only V1.1 and later Colibri iMX6 modules implement this in hw. Previous versions do not use this pin, so it is safe to leave it enabled at all times. Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6ull: fix card detect GPIO of SD cardStefan Agner
Use GPIO 0 of instance GPIO5 which is used as card detect on Colibri iMX6ULL. This fixes SD card detection. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6ull: Set the DDR RAM ASR bitSven Guggisberg
Set the ASR bit to enable auto self refresh for RAM in mode register 2. In ASR the refresh rate is dynamically adjusted to temperature which is more power efficient in suspend to RAM. Signed-off-by: Sven Guggisberg <sven.guggisberg@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-06-06tdx-cfg-block: fix off by one issueMarcel Ziswiler
Fix toradex_modules array off by one issue potentially leading to spurious printout during boot e.g. Model: Toradex V1.2A, instead of Model: Toradex UNKNOWN MODULE V1.2A. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-03-21colibri_t20: fix passing mac address via dtColibri-iMX7_LXDE-Image_2.8b2.97-20180331Colibri-iMX6_LXDE-Image_2.8b2.97-20180331Colibri-iMX6ULL_LXDE-Image_2.8b2.97-20180331Colibri-VF_LXDE-Image_2.8b2.97-20180331Colibri-T30_LXDE-Image_2.8b2.97-20180331Colibri-T20_LXDE-Image_2.8b2.97-20180331Apalis-iMX6_LXDE-Image_2.8b2.97-20180331Apalis-TK1_LXDE-Image_2.8b2.97-20180331Apalis-TK1-Mainline_LXDE-Image_2.8b2.97-20180331Apalis-T30_LXDE-Image_2.8b2.97-20180331Marcel Ziswiler
T20 uses different addresses for its EHCI controllers which I missed. Fix this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21apalis_t30/tk1/colibri_t20/t30: integrate mac address via dtMarcel Ziswiler
Use device tree to set MAC address of the Ethernet chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21colibri_t20: integrate mtd partitions via dtMarcel Ziswiler
Use device tree to set MTD partitions of the NAND chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21tdx-cfg-block: add new SKUsStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-03-21colibri-imx6ull: add MTD fixup compatible for mainline kernelsStefan Agner
In upstream Linux the GPMI NAND node of i.MX 6UL/6ULL uses "fsl,imx6q-gpmi-nand" as compatible string. Add both to make sure U-Boot fixups the MTD partitions for downstream and upstream kernels. 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-11-27colibri_imx6ull: add dtb for wifi variantMax Krummenacher
Add handling for the device tree for the Colibri iMX6ULL 512MB Wi-Fi / BT Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-11-27colibri_imx6ull.c: remove dead codeMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-10-03apalis-tk1: support v1.2 hardware revisionColibri-iMX7_LXDE-Image_2.7b4-20171005Colibri-iMX6_LXDE-Image_2.7b4-20171005Colibri-VF_LXDE-Image_2.7b4-20171005Colibri-T30_LXDE-Image_2.7b4-20171005Colibri-T20_LXDE-Image_2.7b4-20171005Apalis-iMX6_LXDE-Image_2.7b4-20171005Apalis-TK1_LXDE-Image_2.7b4-20171007Apalis-TK1-Mainline_LXDE-Image_2.7b4-20171005Apalis-T30_LXDE-Image_2.7b4-20171005Marcel Ziswiler
Support the V1.2 hardware revision with the following pin muxing changes: Ddc_scl_pv4 and ddc_sda_pv5 previously used as Apalis GPIO3 and GPIO4 are now used as DDC pins. Gen2_i2c_scl_pt5 and gen2_i2c_sda_pt6 previously used as DDC pins are now used as USB power enable signals. Usb_vbus_en0_pn4 and usb_vbus_en1_pn5 previously used as USB power enable signals are now used as GPIO3 and GPIO4. Additionally a new device tree file tegra124-apalis-v1.2-eval.dtb is loaded on V1.2 and later modules and resp. USB power enable signals activated. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-03apalis-tk1: rename fan enable gpio signalMarcel Ziswiler
Rename IXORA_FAN_GPIO to FAN_EN as per schematics. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri-imx6ull: make sure MTD partitions get passedStefan Agner
Use the correct compatible string for the i.MX6ULL GPMI device tree node to make sure MTD partition passing to the Linux kernel works. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri-imx6ull: 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: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7: improve DDR3 timingStefan Agner
This makes sure that all Colibri iMX7 modules work with the same timing. The changes are: - Disable ODT on read (JEDEC standard JESD79-3F says in chapter 5.2.3 ODT during Reads: "As the DDR3 SDRAM can not terminate and drive at the same time, RTT must be disabled at least half a clock cycle..." and also MX7D SABRESD is disabling it) This alone fixed memory issues for two Colibri iMX7 1GB modules which showed issues before - Make sure tRFC(min) is at least 260ns - Make sure tRC is >50.625ns - tRP needs to be >13.125ns, we can lower from 18.75ns to 15ns - tFAW is not relevant, leave at reset 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_imx6ull.c: setup all used uart to dte modeMax Krummenacher
Setup all UARTs in DTE mode, so that when Linux does the pinmuxing the data direction is already correct and no two outputs are working against each other. Make sure that with the switch also the UARTs' RI and DCD interrupts are masked. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri-imx6ull: add initialMax Krummenacher
The resulting U-Boot boots at least from serial downloader mode. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31tdx-cfg-block: add new sku'sMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri-vf: sync the board info messageBhuvanchandra DV
Use similar info message as on other modules. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31toradex: common: unify behaviour when config block is missingBhuvanchandra DV
If the config block is missing, various things may fail or behave strangely on certain modules. This patch unifies that behaviour by using a fake MAC address, until user updates the config block. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx6: 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-08-31apalis_imx6: 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-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-08-31apalis_t30: fix optional pcie port reset for reliable pcie operationMarcel Ziswiler
Allow optionally bringing up the Apalis type specific 4 lane PCIe port as well as the PCIe switch as found on the Apalis Evaluation board. In order to avoid violating the PCIe reset timing do this by overriding the tegra_pcie_board_port_reset() function. Note however that both the Apalis type specific 4 lane PCIe port as well as the regular Apalis PCIe port are also left disabled in the device tree by default. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-31apalis_t30: fix pcie port 2 pin muxingMarcel Ziswiler
Fix PCIe port 2 on-module connected to the Intel i210 gigabit Ethernet chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-31pci: tegra: introduce weak tegra_pcie_board_port_reset() functionMarcel Ziswiler
Introduce a weak tegra_pcie_board_port_reset() function by default calling the existing tegra_pcie_port_reset() function. Additionally add a tegra_pcie_port_index_of_port() function to retrieve the specific PCIe port index if required. This allows overriding the PCIe port reset functionality from board specific code as e.g. required for Apalis T30 and Apalis TK1. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-09-01apalis-tk1: set apalis gpio 8 aka fan_enDominik Sliwa
Make sure the Apalis GPIO 8 aka FAN_EN is on when using Apalis TK1 modules. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Stefan Agner <stefan.agner@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-09-01toradex: configblock: add an -y parameter to 'cfgblock create’Dominik Sliwa
Add an optional -y parameter to 'cfgblock create’ to simplify automation. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-28apalis-tk1: do not explicitly release reset_moci#Marcel Ziswiler
By keeping RESET_MOCI_CTRL low we avoid explicitly releasing RESET_MOCI#. Please note that module hardware versions up to V1.1A will already release RESET_MOCI# in hardware coming out of reset. Please further note that with this change the USB hub on the Apalis Evaluation board is kept in reset in U-Boot and therefore none of its ports are operational in U-Boot. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-25apalis_t30: fix usb otg power enableMarcel Ziswiler
Fix USB OTG power enable aka USBO1_EN which on Apalis T30 is connected to the T30 ball GEN2_I2C_SCL. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-06-18toradex: colibri_imx6: overwrite CMA memory set in device treeBhuvanchandra DV
Make sure CMA memory is not greater than 50% of available physical memory. Allow user to change the CMA memory via 'cma-size' U-Boot environment variable. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-05toradex: make USB PID from config block optionalStefan Agner
If config block support is enabled, USB gadget modes unconditionally use Toradex Product ID as USB PID. Some applications might prefer a different and/or static USB PID. Add a Kconfig configuration option to descide whether to use USB PID from config block or the fallback config option CONFIG_G_DNL_PRODUCT_NUM. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Brandon Shibley <brandon.shibley@toradex.com>
2017-06-05apalis/colibri-imx6: revert fuse value set in mfgr_fuseMax Krummenacher
We have two commands to change the bootmode fuses: mfgr_fuse which set fuse 0/5 and 0/6 and updt_fuse which burns bit 4 of 0/5. Before Image 2.6 we fused in mfgr_fuse 0x5062, which boots from the user partition of the eMMC. To workaround certain hangs we moved to fastboot mode and using the first bootpartition of the eMMC requiring a fuse value of 0x5072 which could be achived by the then added updt_fuse command. At the same time the mfgr_fuse command was changed to also fuse 0x5072, revert that second change so that one can fuse both values, one with just mfgr_fuse and the later with mfgr_fuse;updt_fuse. Note that the mfgr_fuse command is only needed at module production time, a customer might need to use updt_fuse when upgrading an older module to be compatible with a newer image. The command is integrated into the image update scripts. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-06-05colibri-imx6: change pmic fusing according to hw 1.1 requirementsMax Krummenacher
Colibri iMX6 V1.1 HW can use the PMIC GEN3 to power the NVCC_SD1. Change the settings fused into the PMIC's OTP to powerup with GEN3 set to output 3.3V. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@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-05-29apalis_imx6: discard unused vga_pads iomuxMarcel Ziswiler
Discard the unused vga_pads iomux table to prevent the following build time warning: u-boot-toradex.git/board/toradex/apalis_imx6/apalis_imx6.c:580:29: warning: ‘vga_pads’ defined but not used [-Wunused-const-variable=] static iomux_v3_cfg_t const vga_pads[] = { ^~~~~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-04-04apalis/colibri imx6: disable ri and dcd irq in uartsMax Krummenacher
If the UART is used in DTE mode the RI and DCD bits in UCR3 become irq enable bits. Both are set to enabled after reset and both likely are pending. Disable the bits also on UARTs not used in the boot loader to prevent an interrupt storm when Linux enables the UART interrupts. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-30common: apalis/colibri imx6: spl: add config to silence console outputMax Krummenacher
This adds a Kconfig SPL_SILENCE_CONSOLE which allows to suppress any console output which in the normal program flow is printed in the SPL. Error messages and the likes will still be printed. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-30ARM: vf610: move to standard arch/board approachStefan Agner
Move Freescale/NXP Vybrid to a standard arch/board approach, similar to what has been done to i.MX 6 earlier in commit 89ebc82137be ("ARM: mx6: move to a standard arch/board approach"). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@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>