| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
| |
Since the SD3.0 kernel driver needs M4 image support, this causes problem to mfgtool.
To decouple the relationship, we modify the FDT file in u-boot to disable
SD3.0 when booting for mfgtool. So the kernel won't depend on M4 image.
Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit 1826d6e4dc732521190c742f812193be95eea211)
|
|
|
|
|
|
|
|
| |
i.MX7ULP has no ENET controller, and kernel enable wlan0 and USB eth0
interface by default, set the net args interface to eth0 to force kernel
NFS boot from USB ethernet.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|
|
|
|
|
|
|
| |
Enable the module disable fuse checking configurations, and ENET fuse checking during
ENET setup.
Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Bai Ping <ping.bai@nxp.com>
|
|
|
|
|
|
|
|
| |
Add fuse checking for EPDC module. Once the fused is programmed, the
EPDC module is disabled, can't to access it.
Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Bai Ping <ping.bai@nxp.com>
|
|
|
|
|
|
|
| |
Add the modules disable fuses mapping with FDT nodes and devices name.
Signed-off-by: Ye Li <ye.li@nxp.com>
Tested-by: Bai Ping <ping.bai@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To improve the performance, enable the bank interleave for DDR3. Update
the DDR3 settings to new script IMX7D_DDR3_533MHz_1GB_32bit_V2.0.ds
Changes:
1. Enable bank interleave
2. Improve the drive strength for non-TO1.1 chips.
3. Updates ZQ_CON0 settings.
4. For 19x19 DDR3 ARM2 and 12x12 DDR3 ARM2, they are using old version scripts which
were not upgrade with SABRESD script. According to DDR owner suggestion, to use same version
script for all of them.
File:
http://compass.freescale.net/livelink/livelink?func=ll&objid=233861153&objAction=browse&sort=name&viewType=1
Test:
Passed stress test on one TO1.2 SABRESD, one TO1.1 SABRESD and one TO1.0 SABRESD.
Passed stress test on one 12x12 ddr3 ARM2.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To improve the performance, enable the bank interleave for LPDDR3. Update
the LPDDR3 settings to new script IMX7D_LPDDR3_533MHz_2GB_32bit_V2.0.ds5.
Changes:
1. Enable bank interleave
2. Improve the drive strength for non-TO1.1 chips.
3. Updates ZQ_CON0 settings.
4. Change to 0 for reserved bits.
File:
http://compass.freescale.net/livelink/livelink?func=ll&objid=233861153&objAction=browse&sort=name&viewType=1
Test:
Passed stress test on one 19x19 lpddr3 arm2 and one 12x12 lpddr3 arm2.
Passed LPSR test on one 12x12 lpddr3 arm2.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Support for the i.MX SX SCM QWKS rev3. The new revision
has support for ov5642 camera, bluetooth and wifi support.
Providing configuration files for:
- Regular 1gb board
- spinor
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Some adjustment to the ddr configuration like:
- Precharge all commands per JEDEC
- Fix the space partition values for 2Gb
- Fix other values that reduce yield of scm parts
per testing perfomed
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Enable Realtek usb-net dongle support in default for below platforms
that have no Ethernet controller:
- mx7ulp evk
- mx6sll evk
- mx6sll arm2
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|
|
|
|
|
|
|
| |
buffers
Transfer the cache-aligned buffer for usb transfer buffer.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addes board level codes for MX7ULP ARM2 board. Since only 14x14
ARM2 board is ready, we only support this board. 10x10 board will support
in future.
eMMC/SD1/UART are ready in this patch. Other modules need board rework to
test.
Build target: mx7ulp_14x14_arm2_config
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script IMX6ULL_9X9_LPDDR2_400MHz_16bit_V1.2.inc
Updated to add precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script IMX6UL_LPDDR2_400MHz_16bit_V1.1.inc
Updated to add precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script IMX6UL_LPDDR2_400MHz_16bit_V1.1.inc
Updated to add precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script MX6SX_19x19_LPDDR2_JEDEC.inc
Updated to add Precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script MX6SX_19x19_LPDDR2_JEDEC.inc
Updated to add Precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM
initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
LPDDR2 script MX6SL_MMDC_LPDDR2_register_programming_aid_v0.9.inc
Updated to add Precharge all command per JEDEC
The memory controller may optionally issue a precharge-all command
prior to the MRW reset command
This is strongly recommended to ensure robust DRAM initialization
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
The definition of the SWBST_MODE_AUTO at the pfuze100_pmic.h file
changed between uboot versions. On the previous version the shift
to the proper bit field was part of the macro. In the uboot v2016
this macro does not include the shift and needs to be performed
explicitly to properly modify the SWBST_MODE bit field.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Intially this parameter was added to fix a video stuttering but
with L4.1 the video issue is not present so we can safely get rid
of this parameter.
When using both ldb interfaces in separate mode and passing the
dmfc argument as boot parameter to the kernel, a distortion on
both displays is observed when rendering to the secondary display.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
USB_OTG_ID iomux pad was missconfigured and not selecting the
GPIO1 Alternative for QWKS and the ENET_RX_ERR for EVB, as
a consequence when connecting a USB device the PWR_EN was
disabled. So usb function like "usb start" was not working
as it should.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Add CAAM clock functions, SEC_CONFIG[1] fuse checking, and default CSF
size for HAB support boot on mx7ulp.
Users need to uncomment the CONFIG_SECURE_BOOT in mx7ulp_evk.h to build
secure uboot.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
| |
This patch modifies MX7ULP arch codes to reuse some functions already in
imx-common, like cache and HAB. To do this, we need to add a dummy SOC type
and chip type for MX7ULP and its relevant checking.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
| |
Since we can use USB ethernet instead of local ethernet, add ethernet support
for it. To use USB ethernet function at u-boot, just plug in Micro-AB cable
at USBOTG1 port with USB2Ethernet adapter connected.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
|
|
|
|
|
|
| |
There is no hole in i.MX7ULP1 OCOTP space, so the phy_index
is the same one with index.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
|
|
|
|
|
| |
Add plugin boot support for EVK board. The DDR init codes are
updated to v1.2 DDR script.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
| |
Add common plugin codes to call ROM's hwcnfg_setup and generate IVT2
header.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DDR script is updated to v1.2 for EVK board to fix DQS gating issue
and add pre-charge .That DQS sampling may have problem after we enabling
the SDE_0/SDE_1 in MDCTL.
Changes:
-Issue a Precharge-All command prior to the MRW Reset command.
setmem /32 0x40AB001C = 0x00008050 // [MMDC_MDSCR] precharge all to CS0
-Based on V1.1, move the "Read DQS Gating Disable" to the step after "MR setting",
to avoid potential DDR initializaiton failures (especially in Plugin Mode).
File:
EVK_IMX7ULP1_LPDDR3_320MHz_1GB_32bit_V1.2.inc
Test:
Passed stress test on 1 board.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DDR scripts are updated to fix DQS gating issue commonly for LPDDR2 and
LPDDR3. That DQS sampling may have problem after enabling the
SDE_0/SDE_1 in MDCTL.
Changes:
-Based on V2.2, move the "Read DQS Gating Disable" to the step after
"MR setting", to avoid potential DDR initializaiton failures
(especially in Plugin Mode).
File:
http://compass.freescale.net/livelink/livelink?func=ll&objid=235701297&objAction=browse&sort=name&viewType=1
Test:
Passed stress test on 1 LPDDR2 ARM2 board and 1 LPDDR3 ARM2 board.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DDR script is updated to v2.2 to fix potential DQS gating issue. That DQS sampling
may have problem after enabling the SDE_0/SDE_1 in MDCTL.
Changes:
-Based on V2.1.1, move the "Read DQS Gating Disable" to the step after
"MR setting", to avoid potential DDR initializaiton failures
(especially in Plugin Mode).
File:
http://compass.freescale.net/livelink/livelink?func=ll&objid=235701297&objAction=browse&sort=name&viewType=1
Test:
Passed stress test on two boards.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add basic support for i.MX7ULP EVK board.
I2C, SD/eMMC, UART, QSPI and USB are added.
Use target mx7ulp_evk_config to select the configuration.
Use mx7ulp_evk_emmc_config for eMMC boot.
Use mx7ulp_evk_m4boot_config for binding and booting m4 image in
single boot mode.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This driver implements the HW WATCHDOG functions. Which needs
to set CONFIG_HW_WATCHDOG to use them. This is disabled by default for
mx7ulp.
We will use watchdog for reset cpu. Implement this in the driver.
Need to define CONFIG_ULP_WATCHDOG to build it.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
| |
On mx7ulp EVK board, we use MX25R6435F NOR flash, add its parameters
and IDs to flash parameter array. Otherwise, the flash probe will fails.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The mx7ulp has small TX/RX FIFO (64Bytes) and AHB buffer size (128Bytes)
than other i.MX. Change some parameters for it.
Also found when the DDR_EN bit is set, sometime the page programming will fail
during large data programming. The 64 bytes data is not programmed into flash.
But when DDR_EN is clear, there is no such issue. Suspect this is a IC issue.
We have disable the DDR_EN for mx7ulp.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing port reset, the PR bit of PORTSC1 will be automatically
cleared by our IP, but standard EHCI needs explicit clear by software. The
EHCI-HCD driver follow the EHCI specification, so after 50ms wait, it
clear the PR bit by writting to the PORTSC1 register with value loaded before
setting PR.
This sequence is ok for our IP when the delay time is exact. But when the timer
is slower, some bits like PE, PSPD have been set by controller automatically
after the PR is automatically cleared. So the writing to the PORTSC1 will overwrite
these bits set by controller. And eventually the driver gets wrong status.
We implement the powerup_fixup operation which delays 50ms and will check
the PR until it is cleared by controller. And will update the reg value which is written
to PORTSC register by EHCI-HCD driver. This is much safer than depending on the delay
time to be accurate and aligining with controller's behaiver.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The ULP has two USB controllers. These two controllers have similar NC
registers layout as i.MX7D. But OTG0 uses UTMI PHY simliar as i.MX6, not
the integrated PHY on i.MX7D. The OTG1 needs off-chip HSIC PHY or ULPI PHY
to work.
This patch only supports OTG0 with UTMI PHY.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
| |
Update the mxc_ocotp driver to support i.MX7ULP. The read/write sequence
has some changes due to PDN and OUT_STATUS registers added and TIME register is
removed. Also update the bank size and number.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the imx_rgpio2p driver for Rapid GPIO2P controllers on i.MX7ULP. Have added
all ports on RGPIO2P_0 and RGPIO2P_1.
The configurations CONFIG_IMX_RGPIO2P and CONFIG_DM_GPIO must be set to y to
enable the drivers.
To use the GPIO function, the IBE and OBE needs to set in IOMUXC. We did
not set the bits in driver, but leave them to IOMUXC settings of the GPIO pins.
User should use IMX_GPIO_NR to generate the GPIO number for gpio APIs access.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
| |
Implement the i2c clock enable and get function for mx7ulp. These
functions are required by imx_lpi2c driver.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The i.MX7ULP uses LPI2C as i2c module. It has 8 instances and A7 core
domain owns the LPI2C4 to LPI2C7. Add this driver working for the
LPI2C module.
Users need to define CONFIG_SYS_I2C_IMX to enable the driver and
define CONFIG_SYS_I2C_IMX_LPI2Cx for the i2c instance.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
|
|
|
|
|
|
|
| |
Add the DM device and re-implement the imx_get_uartclk according to
the LPUART_BASE configuration.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify the lpuart to support the register access in little endian way
with 32bits for i.MX7ULP. Need to enable CONFIG_LPUART_32LE_REG for the
using.
Also add the lpuart_fsl register structure and registers bits definitions
in registers header file.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Teo Hall <teo.hall@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The single boot mode in MX7ULP will only boot up A7, the M4 is running in ROM
by checking entry from SIM0 GP register.
In this patch, We bind M4 image with u-boot.bin before attaching the imx header.
So the whole image (included M4 image) will be loaded by A7 ROM into DDR. Then
when u-boot is up, it will try to load M4 image into TCML and boot it there.
Since M4 image will not be relocated in u-boot codes, we must load it during
board_f. Current implementation put it in arch_cpu_init to get M4 booted
as quick as possible.
We requires the M4 image with IVT head and padding embedded, not a RAW binary. The
image should be same as what is used for M4 QSPI boot in dual boot mode.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement soc level functions to get cpu rev, reset cause, enable cache,
etc. We will disable the wdog and init clocks in s_init at very early u-boot
phase.
Since the we are seeking the way to get chip id for mx7ulp, the get_cpu_rev
is hard coded to a fixed value. This may change in future.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a clock framework to support SCG1/PCC2/PCC3 for A7 to support get/set
clock source, divider, clock rate and parent source.
Users need to include pcc.h to use the APIs to for peripherals clock. Each
peripheral clock is defined in enum pcc_clk type.
SCG relevants APIs are defined in scg.h which supports clock rate get, PLL/PFD
enablement and settings, and all SCG clock initialization. User need use enum
scg_clk to access each clock source.
In clock.c, we initialize necessary clocks at u-boot s_init and implement the
clock functions used by driver modules to operate clocks dynamically.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the iomux pins header file from iomux tool team. Change the IOMUXC0 pins
to add IOMUX_CONFIG_MPORTS flags.
Note: The IOMUXC0 offset provided in this file is from 0xD000, this is not
aligned with IOMUXC0 base address. We have adjusted the IOMUXC0 base address
to aligin with it.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Add a new driver under ULP directory to support its IOMUXC controllers.
The ULP has two IOMUXC, the IOMUXC0 is used for M4 domain, while IOMUXC1 is
for A7. We set IOMUXC1 as the default IOMUX in this driver. Any pins in
IOMUXC0 needs to configure with IOMUX_CONFIG_MPORTS in its mux_mode field.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
Add imx-regs.h for i.MX7ULP registers addresses definitions and some
registers structures.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
Since mx7ulp is a new series which have different architecture as previous
i.MX platforms. We create a new cpu folder for it. This patch addes it to
Kconfig.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
Use NXP logo.
The vendor and board dir not changed, only replace the contents
of freescale.bmp.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|