- Jan 03, 2016
-
-
Stefano Babic authored
Check for bmode before reading the boot device to check if a serial downloader is started, and returns UART if the serial downloader is set, letting SPL to wait for an image if CONFIG_SPL_YMODEM_SUPPORT is set. This allows to load again a SPL based board with imx_usb_loader together with a tool such as kermit. Signed-off-by:
Stefano Babic <sbabic@denx.de> CC: Tim Harvey <tharvey@gateworks.com> CC: Fabio Estevam <Fabio.Estevam@freescale.com> CC: Eric Nelson <eric.nelson@boundarydevices.com> Reviewed-by:
Eric Nelson <eric@nelint.com> Tested-by:
Eric Nelson <eric@nelint.com>
-
- Nov 12, 2015
-
-
Compile misc.c for mx7, since we need related function for lcdif and nand. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Sanchayan Maity <maitysanchayan@gmail.com> Cc: Stefan Agner <stefan@agner.ch> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com>
-
Need to call lcdif_power_down to make lcdif in initial state before kernel boot. Similar issue for uboot reset with lcdif enabled, system will hang after serveral times resetting. Need to let lcdif initial state to make all go well. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Fabio Estevam <fabio.estevam@freescale.com>
-
- Oct 30, 2015
-
-
Add mx7 secure boot support, add helper macro IS_HAB_ENABLED_BIT to get the corresponding bit mask per SoC (mx7 or mx6) to identify if securue boot feature is enabled/disabled. On authenticate_image only check for mmu enabled on mx6 SoC to force pu_irom_mmu_enabled so ROM code can perform mmu cache flush mx7 SoC ROM code does not have this issue as ROM enables cache support based on fuse settings. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Use read_fuse api fuction call to read secure boot fuse settings (enabled/disabled). Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Add CONFIG_ROM_UNIFIED_SECTIONS for mx6sx and mx6ul target platforms to resolve corresponding HAB_RVT_BASE base address, the RVT table contains pointers to the HAB API functions in ROM code. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Rework secure boot support for imx6, move existing hab support for imx6 into imx-common for SoC reuse. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
We can reuse common functions in lib/time.c, but not reimplement functions in imx-common/time.c. Only keep timer_init ,get_tbclk and implement timer_read_counter in imx-common/time.c. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com>
-
- Oct 02, 2015
-
-
The VF610 DDRMC driver code contains settings which are board-specific. Move these out to boards so that new boards can define their own without having to modify the driver. Signed-off-by:
Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
-
- Sep 24, 2015
-
-
Fix coding style. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de>
-
boot_mode_apply should be applied only with CONFIG_CMD_BMODE enabled. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de>
-
Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch only take i.MX6/7 into consideration. "c3c8a574 imx-common: fix iomux settings" Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when setting mux_mode. In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid build break for "is_soc_type" for vf610 and mx25. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Acked-by:
Stefano Babic <sbabic@denx.de> Reviewed-by:
Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
-
- Sep 20, 2015
-
-
When setting iomux for a pin mux, there is no need to check mux_ctrl_ofs. Also If still checking mux_ctrl_ofs, we have no chance to set iomux for i.MX7D IOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO1_IO00, because the mux_ctrl_ofs for this register is 0. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Tested-by:
Fabio Estevam <fabio.estevam@freescale.com>
-
- Sep 13, 2015
-
-
It is not very useful to have the message below on every boot (especially when we are using early silicon): U-Boot 2015.10-rc2-23945-g37cf215 (Sep 08 2015 - 14:12:14 -0300) CPU: Freescale i.MX6UL rev1.0 792 MHz (running at 396 MHz) CPU: Commercial temperature grade (0C to 95C)CPU: Thermal invalid data, fuse: 0x0 - invalid sensor device , so turn the error message into debug level. Signed-off-by:
Fabio Estevam <fabio.estevam@freescale.com>
-
Add imx-common cpu support for imx7d SoC - Update reset_cause for imx7d - Enable watchdog driver built for imx7d Signed-off-by:
Adrian Alonso <aalonso@freescale.com> Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
Rework imx_set_wdog_powerdown to be reused by imx6 and imx7 Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Extend init_aips to support imx7 SoC, use is_soc_type and is_cpu_type to resolve at run time aips3 settings Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Add system counter driver for imx7d and mx6ul imx7 and imx6ul supports system counter timer as well as GPT timer (arch/arm/imx-common/timer.c); The default for imx7 is systemcounter timer. Signed-off-by:
Ye.Li <B37916@freescale.com> Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Move common imx6 arch init setup, init.c can be extended and reused to support imx7 SoC keeping init arch common code. Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Rework cache settings for imx6, move cache configuration to imx-common/cache.c so it can be reused for newer SoC Signed-off-by:
Adrian Alonso <aalonso@freescale.com>
-
Rework imx_thermal driver to be used across i.MX processor that support thermal sensor Signed-off-by:
Adrian Alonso <aalonso@freescale.com> Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
- Sep 02, 2015
-
-
* Add imx7d support for iomux controller * imx7d has two iomux controllers iomuxc (0x3033000) and iomuxc-lpsr (0x302C0000) each conroller provides control and mux mode pad registers but shares iomuxc input select register with iomuxc-lpsr IOMUX_CONFIG_LPSR flag is used to properly set daisy chain settings for iomuxc-lpsr pads. * Since mx7d introduces LPSR IOMUX pins, add new base to IOMUX v3 driver for these LPSR pins. Signed-off-by:
Adrian Alonso <aalonso@freescale.com> Signed-off-by:
Fugang Duan <B38611@freescale.com> Signed-off-by:
Ye.Li <B37916@freescale.com>
-
- Aug 02, 2015
-
-
Add i.MX6UL GPT timer support. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
Add MXC_CPU_MX6UL for i.MX6UL CPU type which is got at runtime from DIGPROG register. But the value has been occupied by MXC_CPU_MX6D which is not real id from DIGPROG register, so change i.MX6D to value 0x67 which was not occupied. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Signed-off-by:
Ye.Li <B37916@freescale.com>
-
Add cpu type for i.MX6QP/DP. This patch also fix is_mx6dqp(), since get_cpu_rev can return MXC_CPU_MX6QP and MXC_CPU_MX6DP, we should use: (is_cpu_type(MXC_CPU_MX6QP) || is_cpu_type(MXC_CPU_MX6DP)). Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Acked-by:
Stefano Babic <sbabic@denx.de>
-
- Jun 27, 2015
-
-
is_soc_rev should return a bool value, so use "==", but not "-", change (is_soc_rev(CHIP_REV_1_0) > 0) to (soc_rev() > CHIP_REV_1_0). This patch also add space between "&" for cpu_type(rev) macro. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
- Jun 08, 2015
-
-
Stefano Babic authored
max_freq in print_cpuinfo is used only with imx6. Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
Add GPIO driver support to Freescale VF610 Signed-off-by:
Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
-
- May 28, 2015
-
-
Stefano Babic authored
This reverts commit a0117a5e. Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
- May 27, 2015
-
-
Stefano Babic authored
max_freq in print_cpuinfo is used only with imx6. Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
- May 26, 2015
-
-
add I2C4 modul for MX6DL based boards. Signed-off-by:
Heiko Schocher <hs@denx.de>
-
- May 19, 2015
-
-
When CONFIG_IMX6_THERMAL is defined print the CPU temperature grade info along with the current temperature. Before: CPU: Temperature 42 C After: CPU: Automotive temperature grade (-40C to 125C) at 42C CPU: Industrial temperature grade (-40C to 105C) at 42C CPU: Extended Commercial temperature grade (-20C to 105C) at 42C Cc: Stefan Roese <sr@denx.de> Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Heiko Schocher <hs@denx.de> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Jon Nettleton <jon.nettleton@gmail.com> Cc: Jason Liu <r64343@freescale.com> Cc: Ye Li <b37916@freescale.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Peng Fan <b51431@freescale.com> Tested-by:
Nikolay Dimitrov <picmaster@mail.bg> Signed-off-by:
Tim Harvey <tharvey@gateworks.com>
-
Display the max CPU frequency as well as the current running CPU frequency if the max CPU frequency is available and differs from the current CPU frequency. Before: CPU: Freescale i.MX6Q rev1.2 at 792 MHz After - using an 800MHz IMX6DL (running at its max) CPU: Freescale i.MX6DL rev1.1 at 792 MHz After - using a 1GHz IMX6Q (not running at its max): CPU: Freescale i.MX6Q rev1.2 996 MHz (running at 792 MHz) Cc: Stefan Roese <sr@denx.de> Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Heiko Schocher <hs@denx.de> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Jon Nettleton <jon.nettleton@gmail.com> Cc: Jason Liu <r64343@freescale.com> Cc: Ye Li <b37916@freescale.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: Markus Niebel <Markus.Niebel@tq-group.com> Cc: Peng Fan <b51431@freescale.com> Tested-by:
Nikolay Dimitrov <picmaster@mail.bg> Signed-off-by:
Tim Harvey <tharvey@gateworks.com>
-
Fix below warning arch/arm/imx-common/cpu.c:29:14: warning: ‘get_reset_cause’ defined but not used static char *get_reset_cause(void) Signed-off-by:
Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by:
Eric Nelson <eric.nelson@boundarydevices.com> Acked-by:
Stefano Babic <sbabic@denx.de>
-
- May 15, 2015
-
-
Boards such as imx6q_sabresd might not have mapmem.h as part of their common library. This causes a build error if the DEK blob command is enabled. Fix: make explicit the include of mapmem.h Signed-off-by:
Ulises Cardenas <Ulises.Cardenas@freescale.com> Reviewed-by:
Ruchika Gupta <Ruchika.gupta@freescale.com>
-
Peng Fan authored
1. Introduce a new structure `struct mxc_i2c_bus`, this structure will used for non-DM and DM. 2. Remove `struct mxc_i2c_regs` structure, but use register offset to access registers based on `base` entry of `struct mxc_i2c_bus`. 3. Remove most `#ifdef I2C_QUIRK_REG`. Using driver_data to contain platform flags. A new flag is introduced, I2C_QUIRK_FLAG. 4. Most functions use `struct mxc_i2c_bus` as one of the parameters. Make most functions common to DM and non-DM, try to avoid duplicated code. 5. Support DM, but pinctrl is not included. Pinmux setting is still set by setup_i2c, but we do not need bus_i2c_init for DM. 6. struct i2c_parms and struct sram_data are removed. 7. Remove bus_i2c_read bus_i2c_write prototype in header file. The frist paramter of bus_i2c_init is modified to i2c index. Add new prototype i2c_idle_bus and force_bus_idle. Since bus_i2c_init is not good for DM I2C and pinctrl is missed, we use a weak function for i2c_idle_bus. Board file take the responsibility to implement this function, like this: " int i2c_idle_bus(struct mxc_i2c_bus *i2c_bus) { if (i2c_bus->index == 0) force_bus_idle(i2c_pads_info0); else if (i2c_bus->index == 1) force_bus_idle(i2c_pads_info1); else xxxxxx } " 8. Introduce a weak function, enable_i2c_clk 9. Tested on an i.MX7 platform. Log info: => dm tree Class Probed Name ---------------------------------------- root [ + ] root_driver simple_bus [ ] |-- soc simple_bus [ ] | |-- aips-bus@30000000 simple_bus [ ] | | |-- anatop@30360000 simple_bus [ ] | | `-- snvs@30370000 simple_bus [ ] | |-- aips-bus@30400000 simple_bus [ ] | `-- aips-bus@30800000 i2c [ ] | |-- i2c@30a20000 i2c [ ] | `-- i2c@30a40000 simple_bus [ ] `-- regulators => i2c dev 0 Setting bus to 0 => i2c probe Valid chip addresses: 08 50 => i2c md 8 31 0031: 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
- Apr 23, 2015
-
-
Sanchayan Maity authored
In order to avoid code duplication, move the DDR3 initialization to the common place under imx-common. Currently ROW_DIFF and COL_DIFF can be chosen from the board file. The JEDEC timings are specified using a common ddr3_jedec_timings structure. Signed-off-by:
Stefan Agner <stefan@agner.ch> Signed-off-by:
Sanchayan Maity <maitysanchayan@gmail.com>
-
- Mar 23, 2015
-
-
IMX_CONFIG is currently passed via the SYS_EXTRA_OPTIONS which is marked as deprecated. Add a new Kconfig file under arch/arm/imx-common and define the IMX_CONFIG Kconfig in there. Each board is supposed to provide a default value pointing to the appropriate imximage.cfg file. Signed-off-by:
Boris Brezillon <boris.brezillon@free-electrons.com>
-
- Mar 02, 2015
-
-
Freescale's SEC block has built-in Data Encryption Key(DEK) Blob Protocol which provides a method for protecting a DEK for non-secure memory storage. SEC block protects data in a data structure called a Secret Key Blob, which provides both confidentiality and integrity protection. Every time the blob encapsulation is executed, a AES-256 key is randomly generated to encrypt the DEK. This key is encrypted with the OTP Secret key from SoC. The resulting blob consists of the encrypted AES-256 key, the encrypted DEK, and a 16-bit MAC. During decapsulation, the reverse process is performed to get back the original DEK. A caveat to the blob decapsulation process, is that the DEK is decrypted in secure-memory and can only be read by FSL SEC HW. The DEK is used to decrypt data during encrypted boot. Commands added -------------- dek_blob - encapsulating DEK as a cryptgraphic blob Commands Syntax --------------- dek_blob src dst len Encapsulate and create blob of a len-bits DEK at address src and store the result at address dst. Signed-off-by:
Raul Cardenas <Ulises.Cardenas@freescale.com> Signed-off-by:
Nitin Garg <nitin.garg@freescale.com> Signed-off-by:
Ulises Cardenas <ulises.cardenas@freescale.com> Signed-off-by:
Ulises Cardenas-B45798 <Ulises.Cardenas@freescale.com>
-
- Feb 17, 2015
-
-
Signed-off-by:
Eric Nelson <eric.nelson@boundarydevices.com>
-