Commit Graph

36364 Commits

Author SHA1 Message Date
f66842f79d MLK-12531 mx6sxsabresd: Add CM4 fast boot up demo
This is a demo that CM4 will boot up by u-boot without typing any
command. It boots up at u-boot early init, try to minimize the time
from power up to the CM4 running.
Since CM4 runs on QSPI NOR XIP, we have to disable the QSPI driver in
u-boot to avoid conflict.

RDC for shared GPIO1 is added, but not enabled, because the kernel is
not ready for shared GPIO1. Users can uncomment the CONFIG_IMX_RDC to
enable it.

Some legacy codes in mx6sxsabreauto are removed. We only need this work
on mx6sxsabresd as a demo.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 16:01:45 +08:00
43fe988af2 MLK-12527-3 android: Add board support to enable android fastboot
Add board level support for android fastboot feature. Each board has
a android specified header file for defining android related configuraitons.
And add build targets for their android uboot images building.

For mx6qsabreauto, mx6sabresd and mx7dsabresd, we enable the android
fastboot exclusive with DFU.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 16:01:36 +08:00
23d63ff185 MLK-12527-2 android: Add FSL android fastboot support
Integrate the FSL android fastboot features into community's fastboot.

1. Use USB gadget g_dnl driver
2. Integrate the FSL SD/SATA/NAND flash operations, since the GPT and
   EFI partitions are not support by i.MX.
3. Add FDT support to community's android image.
4. Add a new boot command "boota" for android image boot. The boota
   implements to load ramdisk and fdt to their loading addresses
   specified in boot.img header, while bootm won't do it for android image.
5. Support the authentication of boot.img at the "load_addr" for
   both SD and NAND.
6. We use new configuration CONFIG_FSL_FASTBOOT for Freescale's fastboot
   with relevant header file "fsl_fastboot.h". While disabling the
   configuration, the community fastboot is used.
7. Overwrite the cmdline in boot.img by using bootargs saved in local environment.
8. Add recovery and reboot-bootloader support.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:59:38 +08:00
5096e57266 MLK-12527-1 mxc_keyb: Add MXC keyboard driver
The i.MX6SL EVK needs this driver in android fastboot support. Add
this driver to u-boot.

To use the driver, user must define:

CONFIG_MXC_KPD          Enable the driver
CONFIG_MXC_KEYMAPPING   Key mapping matrix
CONFIG_MXC_KPD_COLMAX   The column size of key mapping matrix
CONFIG_MXC_KPD_ROWMAX   The row size of the key mapping matrix

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:53:30 +08:00
fb3437de60 MLK-12530 ehci: Fix OTG ID detection issue on mx7
There are two problems in EHCI driver for mx7, and cause the OTG ID detection
failed to work.

1. The offset for phy_status register in usbnc_regs is not correct.
2. We should clear the USBNC_PHYCFG2_ACAENB bit to enable the OTG ID detection,
   not set it.  When the bit is set, the ACA Resistance Detection is enabled,
   which disables the OTG ID detection, because the internal pull up is off.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:53:19 +08:00
6723fda2be MLK-12529 mx7dsabresd: Fix soc revision check issue
The is_soc_rev returns true when the revision is matched, this is opposited
with uboot v2015 which returns 0. Have to fix this for mx7dsabresd

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:52:40 +08:00
4efa01ec28 MLK-12528 mx7: Enable secure mode for mx7 platforms
The CONFIG_MX7_SEC is not set at default, so the MX7 goes to non-secure mode
before jumping to kernel, and needs PSCI works for secure mode operations.
We have to set the CONFIG_MX7_SEC to enable the secure mode, otherwise we
will get some kernel panic issues.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:52:22 +08:00
7f43a79956 MA-7455-1 Pico: modify Pico configuration for Brillo.
Modify the picosom to be suit for Brillo configurations.

Signed-off-by: Haoran Wang <Haoran.Wang@freescale.com>
(cherry picked from commit 864fd4f019)
To align with 2016.03, fix several places.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:48:56 +08:00
59c76a7c82 MA-7455 Import picosom boot codes
Imported the picosom boot codes and board
configs from technexion.

Signed-off-by: Tapani Utriainen <tapani@technexion.com>
Signed-off-by: Haoran Wang <Haoran.Wang@freescale.com>
(cherry picked from commit d102c193f3)
2016-03-25 15:48:44 +08:00
daa2f1771a MLK-12416-6 imx: rdc: misc fix and update
Change CONFIG_MXC_RDC to CONFIG_IMX_RDC.
Do misc update in board header file to support RDC for M4 usage.
Fix rdc interface imx_rdc_check_permission change in mxc_gpio.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:48:32 +08:00
01cc7d9bc2 MLK-12500-2 HAB: Add commented secure boot configurations
CONFIG_SECURE_BOOT is used for signed image building, this configuration is
not enabled at default. Comment it in board header files. Users can
uncomment it to enable.

Also add CONFIG_CSF_SIZE for defining the CSF reserved size

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:48:12 +08:00
3c118b8d6b MLK-12500-1 HAB: Add kernel image authentication in image loading
To support the trust boot chain, we integrate the authentication
into the kernel image loading process. The kernel image will be verified
at its load address. So when signing the kernel image, we need to
use this load address which may change on different platforms.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:48:00 +08:00
d7e218133f MLK-12497-2 mx7d: Add reference DDR script for mx7d TO1.0
On i.MX7D TO1.1, design team adds a mux cell at the CKE path to fix the suspend
mode reset issue, but seems it add extra delay on CKE path, so CKE-CK timing violated.
When DDR enters self-refresh or retention for long time(> 15seconds per testing on some boards),
DDR data corruption occured, not able to decrease CKE delay, so we have to add extra
delay on all other signals to balance it.
DDR script needs to be fine-tuned according to this hardware change.

For DDR3, since the timing margin is not good, we have to decrease the DDR frequency from
533Mhz to 400Mhz.

We uses TO1.1 script at default, and retains the TO1.0 script for reference.

Compass link:
http://compass.freescale.net/livelink/livelink?func=ll&objid=235010235&objAction=browse&sort=name

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:47:52 +08:00
349137a296 MLK-12497-1 mx7d: Add support for all mx7d arm2 boards
Porting all mx7d arm2 boards (mx7d 12x12 lpddr3, 12x12 ddr3,
19x19 ddr3, 19x19 lpddr2, 19x19 lpddr3) support from u-boot v2015.04.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:47:41 +08:00
5b87d04dba MLK-12495 mx6: Add LDO bypass support
Port LDO bypass support from v2015 to support the features:

1. Add check for 1.2GHz core speed. If Speed grading fuse is for 1.2GHz,
   enable LDO bypass and setup PMIC voltages. LDO bypass is dependent
   on the flatten device tree file.

2. We set WDOG_B in set_anatop_bypass() before, because it is the only case, but now
   on i.mx6sabreauto board, we didn't use ldo-bypass mode, but have to use WDOG_B to
   reboot whole board, so split these code to independent function so that board file
   can call it freely.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:21:23 +08:00
32ad830243 MLK-12493-2 mx6ulevk: Use CONFIG_TARGET_MX6UL_9X9_EVK for 9x9 LPDDR2 script
Change to use CONFIG_TARGET_MX6UL_9X9_EVK for selecting DDR script.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:20:55 +08:00
72c35e80b8 MLK-12493-1 Add support for various boot device
Add support for various boot devices like NAND, QSPINOR, SPINOR,
eMMC, EIMNOR, SATA.

Modify board level files to support the feature and add corresponding defconfig files

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:20:27 +08:00
72702903ed MLK-12486-2 imx6: Add i.mx6sx/ul arm2 boards
Add i.MX6SX/UL arm2 boards support.
Most code are from imx_v2015.04, but adapted to 2016.03 release.

Tested on mx6ul_14x14_ddr3_arm2 and mx6sx_19x19_ddr3_arm2.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:20:00 +08:00
f39d809ef9 MLK-12486-1: switch to use setup_gpmi_io_clk for i.MX6UL
Add i.MX6UL support in setup_gpmi_io_clk and change
mx6ul_14x14_evk to use it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:05:12 +08:00
4789f07a80 MLK-12564-2 imx: mx7d: move MX7D to Kconfig entry
If including MX7D in CONFIG_SYS_EXTRA_OPTIONS, CONFIG_ROM_UNIFIED_SECTIONS
 will not effect.So move MX7D to Kconfig entry from CONFIG_SYS_EXTRA_OPTIONS to
"select MX7D" to boards using i.MX7 Dual.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:05:01 +08:00
64ac5fefb6 MLK-12564-1 imx: mx6sx: move MX6SX to Kconfig entry
If including MX6SX in CONFIG_SYS_EXTRA_OPTIONS, CONFIG_ROM_UNIFIED_SECTIONS
will not effect.So move MX6SX to Kconfig entry from CONFIG_SYS_EXTRA_OPTIONS to
"select MX6SX" to boards using i.MX6 SoloX.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:04:32 +08:00
4dfd06dc64 MLK-12452-4 mx6sxsabreauto: Add secondary enet support
Add configurations and board codes for second enet.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:04:20 +08:00
b646262f1f MLK-12452-3 mx6sxsabresd: Add secondary enet support
Add configurations and board codes for second enet.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:04:06 +08:00
8807bf82da MLK-12452-2 mx7dsabresd: Add secondary enet support
Add configurations and board codes for second enet.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:03:54 +08:00
088afc073c MLK-12452-1 FEC: Update fec driver to support two MDIO
On i.MX6SX, 6UL and 7D, there are two enet controllers each has a
MDIO port. Some boards share the MDIO port for the two enets. So
introduce a configuration CONFIG_FEC_MXC_MDIO_BASE to indicate
the MDIO port for sharing.

Without defining this configuration, the enet will uses own MDIO port.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 15:03:42 +08:00
0816a496fb MLK-12436-17: imx: mx6sxauto: update board and header
Align with imx_v2015.04
Update pmic settings.
Update imximage.cfg.
Enable bmode.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:02:21 +08:00
9613a2d077 MLK-12436-16: imx: mx6sxsdb: update board and header
Align with imx_v2015.04.
Add emmc support which needs board rework.
Add I2C2.
Update pmic settings.
Add bmode.
Move partial code from board_early_init_f to board_init.
Disable PCI.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:01:36 +08:00
cc3a9c3f0a MLK-12436-15: imx: mx7dsdb: add RevB support
Add RevB board support and Align with imx_v2015.04.

imx_v2015.04 commit:
"
commit f026a65375094cc2c0e25ed11772aee9362ee63d
Author: Ye.Li <B37916@freescale.com>
Date:   Thu Dec 17 11:39:09 2015 +0800

    MLK-12034 imx: mx7dsabresd: Add RevB board support

Since i.MX7D SDB revB board has some HW changes, we have modify the BSP file to support new pinmux.
1. OTG2 PWR pin is changed to GPIO1_IO07.
2. A enet2_en pin is added for isolating enet2 signals with EPDC, we also add support for enet2.
3. pin6 of 74LV output is changed for CSI PWDN. Set output to high to power down it.

This patch also tries to get the board id and apply changes according with it. Since current
RevB board does not burn GP1 fuse for board id, we have to check the TO rev instead even it is not very
exact. Will update this if any new way implemented.
"

Also update pmic settings to align with datasheet.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
2016-03-25 15:01:27 +08:00
77a21ec5af MLK-12436-14: imx: mx7dsdb: update ddr script
On i.MX7D TO1.1, design team adds a mux cell at the CKE path to fix the suspend
mode reset issue, but seems it add extra delay on CKE path, so CKE-CK timing violated.
When DDR enters self-refresh or retention for long time(> 15seconds per testing on some boards),
DDR data corruption occured, not able to decrease CKE delay, so we have to add extra
delay on all other signals to balance it.
DDR script needs to be fine-tuned according to this hardware change.

For DDR3, since the timing margin is not good, we have to decrease the DDR frequency from
533Mhz to 400Mhz.

Compass link:
http://compass.freescale.net/livelink/livelink?func=ll&objid=235010235&objAction=browse&sort=name

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 15:00:12 +08:00
9811e3db89 MLK-12436-13: mx6ulevk: update board code
Align with imx_v2015.04.
Add nand related settings.
Update qspi pad electric settings.
Add usb ethernet support.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:58:27 +08:00
cb249aa1d5 MLK-12436-12: mx6slevk: update board code
Add elan code, to handle epdc which has i2c devices.

To imx_v2015.04, the two pathces are for elan.
b6ba68516b
MLK-10215 Add elan init in i.MX6SL-EVK board
0c600f6a67
MLK-10885 imx: mx6slevk ignore elan init when no epdc on board

Align ddr script and header file to imx_v2015.04.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:52:16 +08:00
1a2bbdea96 MLK-12436-11: mx6sabresd: add 6qp and solo build target
Add default build target for mx6qp and mx6solo.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:51:49 +08:00
bb35d09d14 MLK-12436-10: mx6sabresd: update board code and header file
Align board code and header file with imx_v2015.04.
Update pmic settings.
wrap spi code together using CONFIG_MXC_SPI macro.
To i.MX6SOLO, need to define CONFIG_MX6DL.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:50:37 +08:00
39c2989e6b MLK-12436-9: mx6sabresd: update ddr script
Align ddr script with imx_v2015.04 latest ddr script.

mx6qp.cfg is 1.13 version
8111e4d0cd
http://compass.freescale.net/livelink/livelink?func=ll&objId=234753630&objAction=browse&viewType=1
arik_r2_sabre_ddr3_528_1.13.inc is for sabre-AI
arik_r2_sdb_ddr3_528_1.13.inc is for sabresd

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:28:04 +08:00
f05f228154 MLK-12436-8: imx: mx6qsabreauto: misc board update
To Align with imx_v2015.04.
1. Add USDHC1 support on mother board
2. Add SPINOR flash support.
3. Add enet ref clk pinmux setting and enet settings
4. Use CONFIG_SYS_USE_EIMNOR to wrap eimnor settings.
5. update mmc board settings
6. update board_init and move nand settings to board_init, but not in
   board_early_init_f
7. update pmic settings to align with datasheet.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:27:44 +08:00
54af2f744c MLK-12436-7: imx: mx6qsabreauto: add solo board support
Add solo version ddr script and build target.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:27:28 +08:00
d756891b9d MLK-12436-6: imx: mx6dqpsabreauto: update ddr script to 1.13
DDR script:
8111e4d0cd
http://compass.freescale.net/livelink/livelink?func=ll&objId=234753630&objAction=browse&viewType=1
arik_r2_sabre_ddr3_528_1.13.inc is for sabre-AI

Patch in imx_v2015.04:
"
commit 5fb08a4dcc
Author: Peng Fan <Peng.Fan@freescale.com>
Date:   Wed Nov 4 16:30:47 2015 +0800

    "MLK-11825 imx: mx6dqp: update ddr script to 1.13"
"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:26:46 +08:00
c71c266af7 MLK-12436-5: imx: mx6qsabreauto: update ddr script file
Align script file with imx_v2015.04.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:26:19 +08:00
b06ddb7a09 MLK-12436-4: mx6qarm2: update board header
Define CONFIG_MMCROOT, CONFIG_SYS_MMC_ENV_PART
to align with imx_v2015.04.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:24:49 +08:00
b0ac10892c MLK-12436-3: mx6qarm2: add new board revision support
Add mx6qarm2 new board revision support using mx6q pop SoC
Enable DRAM support for imx6q PoP SoC with populated LPDDR2
MT42L128M64D2

DDR calibration script:
040ee38ba9

Test result: Stress test passed.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
2016-03-25 14:24:19 +08:00
febf98c688 MLK-12436-2: mx6qarm2: update ddr scripts
ALign with imx_v2015.04.
Also to lpddr2 support:
From commit: "620cf5f3d4cf37b065b5857a8ea91d61bf6c471d"
"
Current uboot supports for running LPDDR2 at 400MHz on MX6Q ARM2 board,
but there is a problem in switching pre_periph_clk_sel to pll2_pfd2.
We cannot directly change the parent of pre_periph_clk_sel as this mux
is not a glitchless mux. We need to follow the correct procedure and wait
for the busy bits to clear before switching.
Change to follow the procedure:
1. Set periph_clk2 to OSC.
2. Switch the periph_clk to periph_clk2, checking the CCM_CDHIPR for
periph_clk , ahb_podf and axi_podf busy bits.
3. Setting the pre_periph_clk to PLL2 PFD 396M.
4. Switch the periph_clk back to pre_periph_clk and checking CCM_CDHIPR
busy bits.
"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye.Li <ye.li@nxp.com>
2016-03-25 14:23:28 +08:00
e8777e91a2 MLK-12436-1: mx6qarm2: support lpddr2 board
Support lpddr2 board.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 14:23:10 +08:00
41a6f612f6 MLK-12444-2 mx6: Modify kernel and fdt load address to align with mfgtool
Change the CONFIG_LOADADDR to 0x80800000 and environment variable "fdt_addr"
to 0x83000000 for i.MX6SX, i.MX6SL and i.MX6UL to align the address
used in mfgtool.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:22:58 +08:00
a352ed3c51 MLK-12444-1 mfgtool: Add mfgtool support
If boot from usb, reset environment to default value.
Auto apply mfgtools setting and boot mfgtools kernel.
Porting this from fsl uboot to uboot 2016.

The 7dsabresd has already added the environment and usb boot
related functions. No need to add them more. Only need to add
NAND parts environment for mfgtools.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:21:48 +08:00
9ac2b7feea MLK-12440-10 mx6dq/dl: Add plugin boot support for arm2 boards
Add plugin.S for plugin boot initialization on mx6dq/dl arm2 board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:20:35 +08:00
f86a2d38ca MLK-12440-9 mx6dq/dl/dqp: Add plugin boot support for sabre boards
Add plugin.S for plugin boot initialization on mx6dq/dl/dqp sabresd board
and sabreauto board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:19:00 +08:00
9401668b6b MLK-12440-8 mx6slevk: Add plugin boot support
Add plugin.S for plugin boot initialization on mx6slevk board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:15:38 +08:00
cfd41031cb MLK-12440-7 mx6sxsabreauto: Add plugin boot support
Add plugin.S for plugin boot initialization on mx6sxsabreauto board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:14:37 +08:00
12dd41a124 MLK-12440-6 mx6sxsabresd: Add plugin boot support
Add plugin.S for plugin boot initialization on mx6sxsabresd board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:12:11 +08:00
fb3cb25e96 MLK-12440-5 mx7dsabresd: Add plugin boot support
Add plugin.S for plugin boot initialization on mx7dsabresd board.
Need to enable "CONFIG_USE_PLUGIN" for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:10:06 +08:00