summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-27mtd: nand: mxs_nand_spl: add mxs_flash_full_identJörg Krause
For now, the existing SPL MXS NAND driver only supports to identify ONFi-compliant NAND chips. In order to allow identifying non-ONFi-compliant chips add `mxs_flash_full_ident()` which uses the `nand_get_flash_type()` functionality from `nand_base.c` to lookup for supported NAND chips in the chip ID list. For compatibility reason the full identification support is only available if the config option `CONFIG_SPL_NAND_IDENT` is enabled. The lookup was tested on a custom i.MX6ULL board with a Toshiba TC58NVG1S3HTAI0 NAND chip. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2018-06-27mtd: nand: mxs_nand_spl: refactor mxs_flash_identJörg Krause
The existing `mxs_flash_ident()` is limited to identify ONFi compliant NAND chips only. In order to support non-ONFi NAND chips refactor the function and rename it to `mxs_flash_onfi_ident()`. A follow-up patch will add `mxs_flash_full_ident()` which allows to use the chip ID list to lookup for supported NAND flashs. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2018-06-27spl, nand: add option CONFIG_SPL_NAND_IDENT to lookup for supported NAND chipsJörg Krause
Add the config option `CONFIG_SPL_NAND_IDENT` for using the NAND chip ID list to identify the NAND flash in SPL. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2018-06-27mtd: nand: export nand_get_flash_type functionJörg Krause
`nand_get_flash_type()` allows identification of supported NAND flashs. The function is useful in SPL (like mxs_nand_spl.c) to lookup for a NAND flash (which does not support ONFi) instead of using nand_simple.c and hard-coding all required NAND parameters. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2018-06-27cl-som-imx7: Remove CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=yFabio Estevam
Since commit 1da1938d57b3 ("spl: Add default values for ARCH_MX7") CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is selected by default on i.MX7 platforms, so remove it from the board defconfig. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-27imx6ul: geam: Fix fdt_file mismatchJagan Teki
fdt_file is looking for imx6ul-geam-kit.dtb but Linux has imx6ul-geam.dtb, since Linux skipped -kit on file name by below commit. "ARM: dts: imx6ul-geam: Skip suffix -kit from dts name" (sha1: 182de5ebce71e469cfa686fcdf08c9cbe11ece97) So, due to this mismatch U-Boot failed to pick the proper dtb which eventually break the Linux boot. This patch fixed this mismatch by - renaming dts files - update config option to use new dtb file - update fdt_file to new dtb file name Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-27power: pmic: Let PFUZE3000 see all 256 registersTrent Piepho
The PFUZE3000 uses registers addresses up to 0xff. The DM pfuze100 driver supports both pfuze100 and pfuze3000. Allow it to use the device type to return the correct number of registers. Also rename the too generic PMIC_NUM_OF_REGS enumeration value for pfuze3000 to match the other "PFUZE3000_" prefixed enumerations and the pfuze100 enumeration value PFUZE100_NUM_OF_REGS. Cc: Peng Fan <Peng.Fan@freescale.com> Cc: Jaehoon Chung <jh80.chung@samsung.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Trent Piepho <tpiepho@impinj.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-27arm: dts: imx7: colibri: add raw NAND supportStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27arm: dts: imx7: sync with LinuxStefan Agner
Sync with Linux commit 60cc43fc8884 ("Linux 4.17-rc1"). Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: add support for specific ECC strengthStefan Agner
Add support for specified ECC strength/size using device tree properties nand-ecc-strength/nand-ecc-step-size. This aligns behavior with the mainline driver, such that: - If fsl,use-minimal-ecc is requested it will use data from data sheet/ONFI. If this is not available the driver will fail. - If nand-ecc-strength/nand-ecc-step-size are specified those value will be used. - By default maximum possible ECC strength is used Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: add device tree supportStefan Agner
Support driver data from device tree. Also support fsl,use-minimal-ecc similar to Linux' GPMI NAND driver. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: move structs into header fileStefan Agner
Move structs into header file so we can use a separate compile unit for device tree support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: add use_minimum_ecc to structStefan Agner
Add use_minimum_ecc as struct mxs_nand_info field in preparation for device tree support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: separate board/controller initStefan Agner
In preparation for device tree support separate board init from controller init similar to other raw NAND drivers. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: use more precise function nameStefan Agner
This function initializes DMA descriptors so mxs_nand_init_dma is more precise. It also frees up the rather generic name mxs_nand_init. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: move register structs to driver dataStefan Agner
Move GPMI and BCH register structs to the driver struct mxs_nand_info in prepartion for device tree support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: add minimal ECC supportStefan Agner
Add support for minimum ECC strength supported by the NAND chip. This aligns with the behavior when using the fsl,use-minimum-ecc device tree property in Linux. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: report correct ECC parametersStefan Agner
Report correct ECC parameters back to the stack. Do not report bytes as we have it not immeaditly available and the Linux version also does not report it. It seems to have no aversive effect. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: use structure for BCH geometryStefan Agner
Calculate BCH geometry at start and store the information in a structure. This avoids recalculation on every page access and allows to calculate ECC relevant information in one place. This patch does not change ECC layout or driver behavior in any way. The patch aligns the driver somewhat with the Linux GPMI NAND driver which drives the same IP. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: allow to enable BBT supportStefan Agner
Add config option which allows to enable on flash bad block table support. This has the same effect as when using the device tree property "nand-on-flash-bbt" in Linux. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: use self initStefan Agner
Instead of completing initialization via scan_bbt callback use NAND self init to initialize the GPMI (MXS) NAND controller. Suggested-by: Scott Wood <oss@buserror.net> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-27mtd: nand: mxs_nand: introduce SPL specific initStefan Agner
In preparation to convert the driver to use NAND self init provide a new minimal init for SPL builds. As a side effect this also reduces size of SPL by about 4KiB. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2018-06-18mx6cuboxi: fix 4GB ddr memory detectionJon Nettleton
The soms with 4GB ddr have a rowaddr of 16 not 15, this allows the detection mechanism to properly identify them as 4GB. However these soms can be populated with whatever amount of memory the customer requests therefor we need a ram stride test. We can not use the get_ram_size() function because not all 4GB's of DDR is addressable on a 32-bit architecture. Therefore instead we use a memory stride of 128MB's and look for the address that the memory wraps. This function is used for all som types to catch most memory configurations. This is a revised version of Rabeeh Khoury's original code. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-18mx6cuboxi: consolidate board detection and add som revision checkingJon Nettleton
In order to properly detect the board the checks need to be done in a specific order. Move these tests back into a single enum function that will always return the proper the board it is checking. This also adds the best test we have for detecting the rev 1.5 som, and it simplifies the device-tree filename building. Signed-off-by: Jon Nettleton <jon@solid-run.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-18drivers/gpio/mxc: fix MXC GPIO name in KConfigHannes Schmelzer
The naming with "UART" is obviously wrong, we fix this here. Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-18board: engicam: spl: match icore-mipi fit-configJagan Teki
Match imx6q-icore-mipi and imx6dl-icore-mipi dtb in board_fit_config_name_match. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-06-18config: Update defconfig for imx53 K+P boardsLukasz Majewski
This commit updates the defconfig for the HSC and DDC boards. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18board: Remove not needed function for the K+P's imx53 boardLukasz Majewski
The get_board_rev() is not needed anymore as a generic function for the imx53 SoC has been used instead. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18board: Silent out the console on the K+P's imx53 boardsLukasz Majewski
Disable console output by default on imx53 based boards from K+P. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18board: Add support for KEY1 status detection on K+P's HSC|DDC boardsLukasz Majewski
This code provides information if the K+P's imx53 boards had KEY1 pressed. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18board: Adjust K+P script to run misc (per board) adjustmentsLukasz Majewski
This change gives the opportunity to adjust Linux command line for the imx53 device with some legacy data. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18board: imx53: Always disable display before starting kernelLukasz Majewski
This patch prevents from the situation where we may end up with garbage displayed on the LCD panel. Such situation occurs when one performs "reboot -f" in Linux and then stop in U-boot (or observe the garbage on the screen during boot up). To prevent from such situation - the PWM pin is configured as GPIO and set to LOW. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18pico-imx7d: Adjust the dtb nameFabio Estevam
Since kernel commit 41bbeadceb03 ("ARM: dts: imx7d-pico-pi: Separate into cpu and baseboard dts") the dtb name has changed. Fix it accordingly. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-06-18spl: Add default values for ARCH_MX7Fabio Estevam
ARCH_MX6 has default values for SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR and SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR. Do the same for ARCH_MX7 so that users may have a consistent experience through the i.MX families. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-06-18wandboard: Remove hardcoded baudrate from "console" variableOtavio Salvador
We should use the baudrate variable available inside U-Boot environment to allow it to be changed dynamically. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-06-18ARM: mxs: let boards override entire dram parameter tableMans Rullgard
If many values differ from the defaults, overriding the full table is simpler and more space efficient than tweaking it through mxs_adjust_memory_params(). Signed-off-by: Mans Rullgard <mans@mansr.com>
2018-06-18imx: Enable ACTLR.SMP bit for all i.MX cortex-a7 platformsYe Li
According to the Cortex-A7 TRM, for ACTLR.SMP bit "You must ensure this bit is set to 1 before the caches and MMU are enabled, or any cache and TLB maintenance operations are performed". ROM sets this bit in normal boot flow, but when in serial download mode, it is not set. Here we add it in u-boot as a common flow for all i.MX cortex-a7 platforms, including mx7d, mx6ul/ull and mx7ulp. Signed-off-by: Ye Li <ye.li@nxp.com> [fabio: adapted to U-Boot mainline codebase and make checkpatch happy] Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2018-06-18display5: Add missing environment.h include to avoid warningLukasz Majewski
Without this change the following warning shows up when building: board/liebherr/display5/display5.c:270:3: warning: implicit declaration of function ‘eth_env_set_enetaddr’ [-Wimplicit-function-declaration] This commit fixes this issue. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: Add GPT verification and restoration code on SWUpdate entryLukasz Majewski
If GPT gets broken, then after N boot attempts we will run the SWUpdate restoration image. On its enter we will check GPT and restore it if needed. To test it: display5 > mmc write 0x12000000 4 8 It will overwrite the primary GPT table. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: display5_defconfig: Enable support for gpt command (CMD_GPT) in ↵Lukasz Majewski
production u-boot After this change one can run 'gpt' command on production u-boot. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: Reduce rootfs2 (BACKUP) size from 1528M to 512MLukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: Add cma=256M to command line argumentsLukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: net: Add function to read ethaddr from iMX6 fusesLukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: ddr: Enable support for DDR3 auto calibrationLukasz Majewski
This code performs DDR3 memory calibration for display5 board. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: Update swupdate initramfs file name (now supporting ext4)Lukasz Majewski
After moving to swupdate 2017.07, the default fs for swupdate rootfs is ext4, not ext3. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: factory: Update BACKUP rootfs in factory modeLukasz Majewski
After splitting rootfs images to BACKUP and ACTIVE, the "factory" u-boot also needs to update the former. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: Provide 'tftp_mmc_rootfs_bkp' command to write BACKUP rootfsLukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: wdt: Enable WDT support (both SPL and u-boot)Lukasz Majewski
Test case: The fitImage gets corrupted: truncate -c -s 3M fitImage run tftp_mmc_fitImg setenv boot_os y reset [board shall hang in SPL with "Trying to boot from MMC1" information] Then after X seconds WDT is causing board to reset. After N boot attempts we enter recovery mode. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: Support for the emergency PAD pressingLukasz Majewski
To enter the special mode, one needs to short cut two pads with e.g. screw driver. After power up the SPL will execute u-boot in which proper actions will be taken. It is worth noting that we do not alter envs (even the BOOT_FROM variable) and unconditionally go to recovery. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2018-06-18display5: config: factory: Extend mtdparts to support LEG factory partitionLukasz Majewski
This special partition has been added solely for production purpose. Signed-off-by: Lukasz Majewski <lukma@denx.de>