| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
| |
Under very rare timing circumstances, transitioning into streaming
mode might create a data corruption. Present on Two or more processors
or 1 core with ACP, all revisions. This erratum can be worked round
by setting bit[22] of the undocumented Diagnostic Control Register to 1.
Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
|
|
|
|
|
|
| |
add this parameter in u-boot as a temporary workaround.
Signed-off-by: Han Xu <b45815@freescale.com>
|
|
|
|
|
|
|
| |
Incorrect hab_rvt addresses were used for getting HAB functions.
Need to change to addresses in unified section.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Add nand config for android imx6qp sabreauto board
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
|
|
|
|
| |
is_mx6dqp should be only applied for MX6
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
|
|
|
|
|
|
| |
We should print "MX6QP Rev1.0", but not "MX6Q Rev2.0".
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Apply errata based on PL310 version instead of compile
time. Also set Prefetch offset to 15, since it improves
memcpy performance by 35%. Don't enable Incr double
Linefill enable since it adversely affects memcpy
performance by about 32MB/s and reads by 90MB/s. Tested
with 4K to 16MB sized src and dst aligned buffer.
Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
|
|
|
|
|
|
|
| |
The mx7dsabresd uses new LCD TFT43AB which has 480 x 272 pixels.
Update panel info for this LCD.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
| |
To support lower clock frequency, needs to set post divider and
test divider in PLL_VIDEO. So update LCDIF clock settings function
to support this feature.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To enable the EPDC feature:
1. Uncomments CONFIG_SPLASH_SCREEN and CONFIG_MXC_EPDC settings
in mx7dsabresd.h
2. cd <kernel_dir>/firmware/imx
3. python ihex2bin.py -i epdc_ED060XD4C1_TC.fw.ihex -o epdc_splash.bin
4. cp epdc_splash.bin to [FAT partition on SD card]
Since the EPDC has pinmux conflicts with ENET and QSPI. These two
modules can't work at same time.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
To enable the EPDC feature:
1. Uncomments CONFIG_SPLASH_SCREEN and CONFIG_MXC_EPDC settings
in mx7d_12x12_lpddr3_arm2.h
2. cd <kernel_dir>/firmware/imx
3. python ihex2bin.py -i epdc_ED060XD4C1_TC.fw.ihex -o epdc_splash.bin
4. cp epdc_splash.bin to [FAT partition on SD card]
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
To support EPDC V2 on mx7d, update the mxc_epdc_fb.h for new registers
layout.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Ungate the EPDC clock at system up if the EPDC is enabled
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Add the QoS settings function which is used for EPDC
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
Change to load EPDC waveform from FAT partition and allocate waveform
buffer, framebuffer and working buffer in dynamic manner not static.
So many EPDC configurations are removed.
To enable the EPDC feature, must define CONFIG_MXC_EPDC and CONFIG_SPLASH_SCREEN.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
| |
Add targets for building u-boot to support QSPI booting and NAND booting.
NAND booting can't work on mx7d TO1.0
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
| |
Add Android build target for mx6qpsabreauto board to support android
u-boot.
target: mx6qpsabreautoandroid_config
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
Should write the bits to SDI in reverse order because of the bits
will be shifted.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is to add atmel AT45DB021E spi flash support.
Since this flash is different from the spi flash that we previous use such
as m25p32 and spanion spi nor flashes, pieces of code are added.
1.
The default page size is 264 bytes, but the mtd/spi framework can not
handle such page. So we need to configure the page size from 264 to 256 bytes.
Page Size command seq
“Power of 2” binary page size (256 bytes)| 3Dh 2Ah 80h A6h
DataFlash page size (264 bytes) | 3Dh 2Ah 80h A7h
And when probe the flash, configure the flash to 256 bytes page size, if
the page size is already 256bytes, just return and do not configure it again.
The page size configuration times is only about 10000, so to avoid configuring
it each time.
2.
Add the flash params in sf_params.c.
3.
This flash support 2K block erase, add this flag.
4.
The status command is 0xD7, different from others. It's polling status
bit is Bit 7
-> 0 Device is busy with an internal operation.
-> 1 Device is ready.
This patch has been tested on mx7d 19x19 ddr3 arm2 board. And tested
on mx7d 12x12 lpddr3 board. All works fine.
Note:
Since this flash is only 256KB, we can not test spi boot on mx7d 19x19 arm2
board. If want to test this flash, open CONFIG_SYS_USE_SPINOR.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
|
|
|
|
|
|
|
|
| |
boot.img includes kernel image, ramdisk img, dtb, and bootargs.
All are critical for android security. Protect the whole boot.img
with HAB.
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit ca4113da25b42bce44a2e7998966a47352f11613
"mmc: fix OCR Polling"
does not consider cmd structure, and may leave it in uninitialized state.
We can directly use op_cond_response here, since until here,
op_cond_response already get the OCR value from chip.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Suggested-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Add DDR script v1.04 for i.MX6DQP SABREAUTO board.
2. On CPU3 board, enet RGMII tx clock is from internal PLL. Set the GPR5[9]
and init the enet pll output to 125Mhz.
3. On CPU3 board, SW1ABC=VDDSOC_IN, SW2=VDDARM_IN.
Build target: mx6qpsabreauto_config
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
| |
The i.MX6QP has a PRG module, need to enable its clock for using
IPU.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Brown Oliver <B37094@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
Since the i.MX6QP has fixed the issue in boot ROM, so remove the workaround
for i.MX6QP.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
Since i.MX6QP changes some CCM registers, so modify the clocks settings to
follow the hardware changes.
A new CONFIG_MX6QP is introduced here and is used for the CCM difference.
At default CONFIG_MX6Q is enabled along with the CONFIG_MX6QP.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
Since i.MX6DQP has fixed the L2 cache issue, enable the double line
fill feature to provide better performance.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
| |
Add new cpu type for i.MX6DQP and providing a dynamical
detecting function.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
According the latest datasheet Rev.0,2/2015, the VDDSOC_IN voltage in standby/DSM
mode is 1.05V. As we use PFM mode of pFuse and this mode has 3% tolerance issue,
so the standby mode voltage should be (1.05 * 1.03) = 1.0815, we use 1.10V as the
minimal step is 25mV. For i.MX6sx SDB RevB boards, the VDDARM and VDDSOC use the
same supply, so the DSM voltage for VDDARM also need to be updated.
Signed-off-by: Bai Ping <b51503@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Leave the OCOTP turned on, so that we subsequent access do not fail.
After enabling the thermal driver on a mx6sxsabresd board:
U-Boot 2015.01-rc1-18267-g99d4189-dirty (Nov 24 2014 - 12:59:01)
CPU: Freescale i.MX6SX rev1.0 at 792 MHz
CPU: Temperature 48 C
Reset cause: POR
Board: MX6SX SABRE SDB
I2C: ready
DRAM: 1 GiB
PMIC: PFUZE100 ID=0x10
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
00:01.0 - 16c3:abcd - Bridge device
01:00.0 - 8086:08b1 - Network controller
In: serial
Out: serial
Err: serial
Net:
(hang)
As the thermal driver accesses the ocotp registers, its clock will be disabled
afterwards.
Then when the MAC address is read (also from ocotp registers) it will cause a
hang.
Do not disable the ocotp clock to prevent this problem.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
|
|
|
|
|
|
|
|
| |
Enable 1.8V on PHY control, so that Gigabit PHY operation
can be functional.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If in mmc_send_op_cond, OCR_BUSY is set in CMD1's response, then
state is transfered to Ready state, and there is no need to send
CMD1 again. Otherwise following CMD1 will recieve no response, or
timeour error from driver such as fsl_esdhc.c.
If not into Ready state in previous CMD1, then continue CMD1 command.
In mmc_complete_op_cond, we use the value mmc->op_cond_response
from mmc_send_op_cond, since there should be no CMD1 command between
mmc_send_op_cond and mmc_complete_op_cond
Before fixing this, uboot log shows:
"
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:8
ARG 0x000001AA
MMC_RSP_R1,5,6,7 0x18EC1504
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x18EC1504
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:1
ARG 0x00000000
MMC_RSP_R3,4 0x00FF8080
CMD_SEND:1
ARG 0x40300000
MMC_RSP_R3,4 0xC0FF8080 --> Already OCR_BUSY set
CMD_SEND:1
ARG 0x40300000
MMC_RSP_R3,4 0x0096850A --> Failed CMD1
MMC init failed
"
Using this patch, this issue is fixed, emmc can be detected correctly.
This issue exists on mx7dsabresd and mx7d_12x12_lpddr3_arm2 board.
Upstream Patchwork:
https://patchwork.ozlabs.org/patch/451775/
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
|
|
|
|
|
|
|
|
| |
Change QSPI FLASH vendor config from to MACRONIX, otherwise the flash
device can't be recognized.
Also change default sf probe parameter to 0:0 which means bus 0, cs 0.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update board codes to support GPMI NAND flash. Since the GPMI NAND needs
board rework, it is disabled at default. Two ways to enable GPMI NAND:
1. Define CONFIG_SYS_BOOT_NAND for NAND boot case
2. Modify the line 306 in mx7dsabresd.h from QSPI to NAND.
#define CONFIG_SYS_USE_QSPI /* Enable the QSPI flash at default */
to
#define CONFIG_SYS_USE_NAND /* Enable the NAND flash at default */
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
For APBH-DMA enabled case, we have to enable rawnand clock for mxs_dma_init.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Update GPMI NAND driver and BCH head file with definitions for CONFIG_MX7
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Update APBH-DMA driver and head files with definitions for CONFIG_MX7
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
| |
The default DTB file name used for i.MX6SX 14x14 lpddr2 arm2 board is
17x17 arm2, since kernel has added a new dtb for 14x14 board,
change the default file name to the new imx6sx-14x14-arm2.dtb
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EPDC board contain a elan touch screen, this screen is a i2c
slave. If this EPDC board connect to i.MX6SL-EVK board, after
uboot boot up, if we do i2c operation, like i2c probe, then
the i2c bus block. This is due to the elan touch screen i2c slave.
This device needs to do some initialization opearation before its
i2c operation, otherwise this i2c device pull down the i2c clk line,
and make the i2c bus hang. This means elan needs a special flow on
i2c before its address is acked, otherwise the i2c bus will be hang.
This patch is a workaround, it add a void function which is defined
as a weak symbol in i2c driver, and it is called before every i2c
operation. In mx6slevk, this function was overwrite to execute elan
initialization. So that, for mx6slevk board, it will initialize
elan before every i2c operation, but for other boards, it just work
as before.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
|
|
|
|
|
|
|
|
|
| |
* Update DCD table for lpddr3 @400Mhz
* Boot kernel linux and run memtester for memory stress
memtester 1G 100000
Signedoff-by: Ye.Li <B37916@freescale.com>
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
|
|
|
|
|
| |
Enable android fastboot, recovery, booti features for mx7d sabresd
board by using new build target: mx7devkandroid_config
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Enable SNVS clock in clock_init function as default enabled clock.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
Update driver codes and registers define for MX7. Implement udc callback
function in MX7 arch.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Add i.MX7D SABRESD board BSP codes, with enabled modules:
UART, PMIC, USB/OTG, SD, eMMC, ENET, I2C, 74LV IOX.
Build target: mx7dsabresd_config
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default u-boot reset is a internal WDOG reset (warm reset on i.MX6) which
does not have power and DDR reset. So the peripherals and DDR may meet problem.
When using the internal WDOG reset on i.MX7D ARM2 boards,
we meets two DDR issues:
1. On 12x12 ARM2, sometimes the system may hang in DCD because the DDRC Operating Mode
does not become to normal.
2. On 19x19 ARM2, the reset always brings system to USB download because the
DDR3 turns to unstable.
On the i.MX7D ARM2 board, the WDOG_B signal connects to POR_B or PMIC_PWRON. This gives
a chance to use a stronger reset. So in this patch, we set the IOMUX for WDOG_B pin and
enable WDOG_B signal output in WDOG WCR register.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The IOMUX-v3 driver checks the MUX_CTL register offset. If the
offset is zero, it will skip the MUX_CTL register setting.
This behavior is correct for previous platforms like i.MX6,
but on i.MX7, the IOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO1_IO00 is at offset 0.
Thus, it causes the MUX setting to this pin always not working.
This fix removes this condition checking since it is unnecessary.
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
| |
Add the i.MX6SX 17x17wp ARM2 board support. SCH: SPF-28432
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
Add BSP codes, configuration head file and build target for
19x19 DDR3L ARM2 board with basic functions:
ENET2, I2C, SD/eMMC/MMC, USB, QSPI, ECSPI, pfuze3000 PMIC.
Build target: mx7d_19x19_ddr3_arm2_config
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
|
| |
change the target name from mx7d_12x12_lpddr3_arm2_qspi to
mx7d_12x12_lpddr3_arm2_qspi1, it could be more convenient for yocto
build
Signed-off-by: Han Xu <b45815@freescale.com>
|
|
|
|
|
|
|
|
|
| |
The SD3 CD pin is changed to DNP, so hardcode the CD pin to always connected.
Enable the SD3 VSELECT pin, because the 1.8/3.3v selection works on
this board.
Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|
|
|
|
|
|
|
| |
The DDR encapsulated in MX6DQ POP is 256M bytes not the 1G.
Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
|