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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>