| Commit message (Collapse) | Author | Age | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original secure boot implementation make a consumption that
u-boot.bin will not exceed 0x2F000. With this consumption, the hab data
is hard coded in linker script file to relative address 0x2F000 without
causing any problem.
But when this consumption don't hold, the hard coded way will cause
memory region overlap and break build. So we need to change to a dynamic
way of allocating hab_data. The new implementation put hab data at the
next 0x1000 alignment after u-boot data and text section, instead of
hard coded to 0x2F000.
Similar changes is made to uImage authentication implementation.
Changes in U-Boot includes:
- in u-boot.lds file, change "__hab_data" to dynamic align to 0x1000
- change authenticate_image implementation, originally the uImage
parameters are hard coded, now they are retrived from the
"load_addr" and the image_hdr
The new secure image layout:
U-Boot
+-------------------+ DDR_START
| |
| U-Boot Image |
| |
+-------------------+ DDR_START + UBOOT_SIZE
| PADDING |
+-------------------+ align to 0x1000
| CSF Data | -
+-------------------+ +-- CSF + Pad, Size : 0x2000
| PADDING | -
+-------------------+
uImage
+-------------------+ DDR_START
| |
| uImage |
| |
+-------------------+ DDR_START + UIMAGE_SIZE
| PADDING |
+-------------------+ align to 0x1000
| IVT | ---- Size : 0x20
+-------------------+
| CSF Data | -
+-------------------+ +-- CSF + Pad, Size : 0x2000
| PADDING | -
+-------------------+
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
| |
This patch configures iomux gpr3 register to enable LVDS1
via IPU1 DI1 if user chooses to use it.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The silicon revision is not printed correctly, on ARM2
and sabrelite board, the log is just as the following:
CPU: Freescale i.MX6 family TO0.0 at 792 MHz
We need print the silicon revision correctly as:
CPU: Freescale i.MX6 family TO1.2 at 792 MHz
with i.mx6q TO1.2 chip
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
|
|
|
| |
Fix the build warning in uboot build.
Fix bug of incorrect dereference to periph2 clock pre divider.
Fix incorrect type of maxpackage size assign, even it's
not used at all in fastboot.
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fix the linker error when enable more function(like CONFIG_NAND,
CONFIG_SPASHSCREEN,etc) in uboot ARM2 board, and a possable linker error for
other MX6 boards:
/home/lambert/share/SATA2/R13.3/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/
bin/arm-eabi-ld: section .bss [27831000 -> 278666e7] overlaps section
.rodata [2782387c -> 278609eb]
/home/lambert/share/SATA2/R13.3/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/
bin/arm-eabi-ld: section .rodata.str1.1 [278609ec -> 27867803] overlaps
section .bss [27831000 -> 278666e7]
One issue here is:
A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
which needs to be added the the linker script. Instead of just adding this
one section, we use a wildcard ".rodata*" to get all rodata linker section
gcc has now and might add in the future.
Another issue is:
The secure boot feature require __hab_data section in uboot linker script,
but it's have a hard coding magic number, but if we enable more code, cause
.text section bigger, it will cross the line, so it report the
first linker error.
This commit disable SECURE_BOOT feature by default for android,
and comments if user want to use this feature, it needs change the
.lds by there configure.
Also, enlarge the magic number that this feature needs to cover
if more code is build in.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the secure boot patch. MX6 NAND Boot is not functional. The root
cause is that, the original secure boot patch fills "0xFF' to spacing
regions, due to a issue in ROM code, read pages of all "0xff" will be
treated as a critical error. Thus prevent the U-Boot from booting
normally.
The fix adjust image copy size in IVT so that when secure boot is not
enabled, no unuseful data is copied by ROM code. Also the secure boot
option is default disabled. The end user won't enable it unless they
know what they are doing.
These prevent the ROM code from copied pages of "0xff" data, and fix the
issue.
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
| |
enable SD3.0 support on SD1 and SD2 on mx6sl arm2 cpu board.
Signed-off-by: Ryan QIAN <b32804@freescale.com>
|
|
|
|
|
|
|
|
| |
Move the secure boot related implementation code from mx6q_arm2.c to
mx6/generic.c. In this way the HAB feature can be shared by all MX6
platforms
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
|
| |
IC Validation team release new LPDDR2 script V0.93 in the following link,
"http://compass.freescale.net/livelink/livelink?func=ll&objId=226733834/"
Make changes to align to it
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
| |
1.enable I2C and I2C bus recovery support on mx6sl_arm2
2.enable LDO bypass on u-boot, by configuring 'CONFIG_MX6_INTER_LDO_BYPASS'
Signed-off-by: Robin Gong <B38343@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For MX6DL LPDDR2 board, in order to use both the 2 channels of the memory, the
"PL301_FAST2" must be set to 0x1. However this bit is not accessible using
DCD. Plugin mode must be utilized for this purpose.
The patch can be verified this way:
Enter U-boot console
> mw.l 0x80000000 0xC0 10
> mw.l 0x10000000 0xC1 10
> md.l 0x10000000 10
> md.l 0x80000000 10
Before the patch, 0x10000000 and 0x80000000 in fact point to the
same memory location. So the last 2 dump will show memory content of
both 0x000000C1
After the patch, 0x80000000 ponit to channel 0, 0x10000000 point to
channel 1. the last 2 dump will show memory content of 0x000000C0
and 0x000000C1 respectively
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
| |
Move IPU QoS and VDOA/IPU/VPU AXI Cache config
to linux kernel in order to reduce code duplicate
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Validation team released lateset LPDDR2 script V0.91, See
"http://compass.freescale.net/livelink/livelin
k?func=ll&objId=226435628&objAction=browse&viewType=1"
This change is necessary for bus freq scaling
Apply it for both DCD mode and plugin mode.
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can use weak ODT setting, it will save about 50% DDR
power in runtime. Now we use 0x00007
MMDC0_MPODTCTRL MMDC1_MPODTCTRL, (Ohm)
Setting DDR_ODT imx_ODT Max_overclocking
0x22227 120 060 615MHz
0x11117 120 120 604MHz
0x00007 120 000 576MHz
0x00000 000 000 556MHz
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
|
|
|
|
|
|
|
| |
- EPDC Splash support for MX6DL/S Sabre SD
- EPDC Splash support for MX6DL/S ARM2
- Currently, splash screen consists of a simple black border
around a white screen. Done this way to save in memory footprint.
Signed-off-by: Danny Nold <dannynold@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
- move recovery.h to common inlcude place.
- move supported_reco_envs to soc related, not board related,
- user can change this via configure header,
don't needs this in every board file.
- pass build for all mx5/mx6 android configs.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
- add android build config for mx6sl_arm2 board.
- add gpio support for mx6sl
- add boot image support
- add android recovery support
- add fastboot support, but fastboot cannot transfer file.
Signed-off-by Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add generic gpio interface in uboot.
Seems more and more gpio operation invoke in uboot,
without RAW register operation, we should
use generic gpio interface.
you should define the CONFIG_MXC_GPIO
use generic gpio interface:
gpio_request,
gpio_direction_output,
gpio_direction_input,
gpio_set_value,
gpio_get_value, etc.
Test on MX6Q, MX6DL.
Other MX6X should also define this config.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
| |
set IPU AXI-id0 Qos=0xf(bypass) and AXI-id1 Qos=0x7,
mx6q use AXI-id0 for IPU display channel, it should has
highest priority(bypass), and AXI-id1 for other IPU channel,
it has high priority.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
1. add check asrc register to enter recovery mode,
rather then check the file.
2. fix the boot.img can not fastboot flash function.
3. consolidate and cleanup fastboot code.
4. clean up many build warnning message.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
This issue have been found in mx53_smd(ENGR00163704), and found in sabresd
if accessing pfuze while system reboot or reset, I2C bus will be blocked
even if reboot,then pfuze will be failed to be probed, all device driver
which use pfuze regulator will be impacted. In u-boot, we can check the
SDA line low or high, if low, generate SCL and STOP signal to tell I2C
device release I2C bus. Please check ENGR00163704
Signed-off-by: Robin Gong <B38343@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1.fix build error :
mx6q_sabresd.c: In function 'setup_i2c':
mx6q_sabresd.c:382: error: expected ')' before ';' token
mx6q_sabresd.c:393: error: expected ';' before '}' token
mx6q_sabresd.c: In function 'setup_pmic_voltages':
mx6q_sabresd.c:399: warning: unused variable 'val'
make[1]: *** [mx6q_sabresd.o] Error 1
2.modify mx6dl_sabresd_config to support pfuze on mx6dl sabresd board
Signed-off-by: Robin Gong <B38343@freescale.com>
|
|
|
|
|
|
| |
add pfuze and I2C support, support cpu internal LDO bypass which can be
enabled by CONFIG_MX6_INTER_LDO_BYPASS
Signed-off-by: Robin Gong <B38343@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Since FEC_RX_ER is not connected with PHY(LAN8720A), we need
either configure FEC_RX_ER PAD to other mode than FEC_RX_ER,
or configure FEC_RX_ER PAD to FEC_RX_ER but need pull it down,
otherwise, FEC MAC will report CRC error always. We configure
FEC_RX_ER PAD to GPIO mode here and remove the SW hack which
ignore the CRC error in fec driver
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is to add the initial support for i.mx6sl ARM2 board, the patch does:
- implemention of LPDDR2 init script
- Plug-in/DCD mode support to do DDR initialization
- Debug UART(UART1) support
- SPI-NOR(M25P32, 4MB) flash support
- FEC support, PHY(LAN8720A, RMII mode)
- SD/MMC card support, SD1/SD2/SD3
Signed-off-by: Danny Nold <dannynold@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Terry Lv <r65388@freescale.com>
Signed-off-by: Nancy Chen <Nancy.Chen@freescale.com>
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Need set Power Supply Glitch to 0x41736166 and clear Power Supply Glitch
Detect bit when POR or reboot or power on, otherwise system could not be
power off anymore, it will power up auto agian. These steps may be move to
ROM code or fix by soc team in the future(PDM ticket number:TKT104835),
anyway,u-boot fix the issue firsly.
Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Robin Gong <B38343@freescale.com>
|
|
|
|
|
|
|
|
| |
add fastboot function back in MX6Q_SABERSD board.
the MX6DL_SABERSD have usb init related issue which will
keep RESET, but left as later developement.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
For example: The soc rev on i.mx6dl rev 1.0 not print correctly:
CPU: Freescale i.MX 6 family 0.0V at 792 MHz
This patch help u-boot print out the SOC revision correctly:
CPU: Freescale i.MX6 family TO1.0 at 792 MHz
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Added u-boot config CONFIG_CMD_WEIMNOR for MX6Solo/Quad SABREAUTO to
support WEIM NOR.
- CONFIG_FLASH_HEADER_OFFSET is 0x1000 for WEIM NOR.
-SPI NOR and WEIM NOR has pin conflicts, either one can be enabled.
- mx6q_sabreauto_config, mx6solo_sabreauto_config configured default
for SPI NOR.
-In order to enable the read/write commands and to boot from WEIM NOR,
need to enable the CONFIG_CMD_WEIMNOR. This will disable SPI-NOR
Signed-off-by: Prabhu Sundararaj <b36876@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will add the splash screen support for the
i.mx6q/dl splash screen support.
In order to enable the splash screen, you need make sure
the following env variable has been set correctly:
splashimage=0x30000000
splashpos=m,m
lvds_num=0
The splash screen is default OFF, to enable it, please add:
on i.mx6dq sabresd platform:
define CONFIG_SPLASH_SCREEN in include/configs/mx6q_sabresd.h
or on i.mx6dl sabresd platform:
define CONFIG_SPLASH_SCREEN in include/configs/mx6dl_sabresd.h
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
|
|
|
| |
Before running authentication on uImage in DDR, u-boot first check if
SEC_CONFIG[1] (OTP_CFG5[1]) is burned. If so, it means the chip is in
secure configuration, the authentication continues; if not, the chip
in not in secure configuration, just bypass the authentication
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
* In RevB boards a steer logic circuit enables the
route path of I2C3_SDA signal and is controlled by
EIM_A24__GPIO_5_4 pad.
* Configure GPIO_5_4 as as output and enable steer logic
circuit.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first stage of High Assurance Boot (HAB) is the authentication of
U-boot. A CST tool is used to generate the CSF data, which include
public key, certificate and instruction of authentication process. Then
it is attached to the original u-boot.bin
The IVT should be modified to contain a pointer to the CSF data. The original
u-boot.bin is with size between 0x27000 to 0x28000. For convinence, we first
extend the u-boot.bin to 0x2F000 (with fill 0xFF). Then concatenate it with
the CSF data. The combined image is again extend to a fixed length (0x31000),
which is used as the IVT size parameter.
The new memory layout is as the following.
U-Boot Image
+-------------+
| Blank |
|-------------| 0x400
| IVT |-----------------------+
|-------------| |
| | |
| | |
| | |
|Remaining UB | | CSF pointer
| | |
| | |
| | |
|-------------| |
| | |
| Fill Data | |
| | |
|-------------| 0x2F000 <-------------+
| |
| CSF Data |
| |
|-------------|
| |
| Fill Data |
| |
+-------------+ 0x31000
HAB APIs are ROM implemented, the entry table is located in a fixed
location in the ROM. We export them so that during the HAB we can
have some information about the secure boot process. For convinience
some wrapper API is implemented based on the HAB APIs.
- get_hab_status : used to dump information of authentication result
- authenticate_image : used by u-boot to authenticate uImage
For security hardware to function, CAAM related clock (CG0[4~6]) must
be open. They are default closed in the original U-boot.
"hab_caam_clock_enable" and "hab_caam_clock_disable" are created to
open and close these clock gates.
The generation of CSF data is not in the scope of this patch. CST tool
will be used for this purpose. The procedure will be introduced in
another document.
Signed-off-by: Eric Sun <jian.sun@freescale.com>
|
|
|
|
|
|
|
| |
- Different chip will include different head file, so add macro
define to limit the use range.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
| |
This patch is used to integrate DDR3 script V1.1 of mx6solo
sabreauto MX6DL_init_DDR3_400MHZ_32bit_sabre_1_1.inc under
http://compass.freescale.net/livelink/livelink?func=ll&objid
=225128962&objAction=browse&sort=name
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
| |
Remove MMDC1 setting from DDR script of mx6solo sabreauto
if it's not used.
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
|
|
| |
Update the DDR3 script on i.mx6dl SabreSD revB board, the
script got from:
http://wiki.freescale.net/download/attachments/33954617/MX6DL_init_DDR3
_400MHz_64bit_1_2_For_SD_RevB.inc?version=1&modificationDate=1332495827000
Signed-off-by: Jason Liu <r64343@freescale.com>
|
|
|
|
|
|
| |
- Add i2c3_SDA iomux config for the change of signal traces.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
| |
- In imx6 sabreauto board REVB Ethernet phy adopt AR8031. Add
phy init rework.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
| |
- Use fsl_sys_rev to check Sebreauto board reversion.
- Add macro define for expedient print the board and chip name.
mx6_chip_name()
mx6_board_rev_name()
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the ddr init script “MX6DL_init_DDR3_400MHz_64bit_1.2.inc”
for SD revB with Rigel mounted, and update the calibration parameters
(write leveling, DQS gating, read delay, write delay),
which is located at:
http://compass.freescale.net/livelink/livelink?func=ll&
objid=225128962&objAction=browse&sort=name
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The serial of patches adds the initial support for mx6dl
sabra sd board:
- DDR3 400MHz@64bit, 1G, 256M*4
- SD/MMC basic operations
- Add PIN/IOMUX support for mmx6dl sabresd.
- Ethernet is ok for 100/1000Mbps.
- OTP fuse
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add fsl_system_rev to distinguish chip ID and board reversion.
- Add some api:
mx6_chip_is_dq()
mx6_chip_is_dl()
mx6_chip_is_solo()
mx6_chip_is_sololite()
mx6_board_is_reva()
mx6_board_is_revb()
mx6_board_is_revc()
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove the excrescent code in enet_board_init function.
- KSZ9021 phy auto-negotiation in mx6solo sabreauto RevA
is used to establish link with the remote hub or switch.
In general, the negotiation time is about 3-5 senconds
But connecting to Gbps hub, the time
is range from 8s to 15s. So, changing the MAX link waiting time
to 20s.
According to repetitious tests, solo ARD ethernet is ok in 100Mbps
environment. It is not stable in 1000Mbps mode.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
|
|
|
|
|
|
|
|
| |
Remove the following build warning:
mx6q_sabreauto.c: In function 'enet_board_init':
mx6q_sabreauto.c:999: warning: unused variable 'reg'
mx6q_sabreauto.c: At top level:
mx6q_sabreauto.c:921: warning: 'phy_read' defined but not used
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add set_system_rev function. The layout of system_rev is:
bit 0-7: Chip Revision ID. Read from Anatop register
bit 8-11: Board Revision ID. Read from fuse OCOTP_GP1[15:8]
1: RevA Board
0: RevB board, Unknown board
bit 12-19: Chip Silicon ID. Read from Anatop register
0x63: i.MX 6Dual/Quad
0x61: i.MX 6Solo/DualLite
board_is_rev(system_rev,BOARD_REV_1) can be used to
distinguish RevB board.
board_is_rev(system_rev,BOARD_REV_2) is for RevA board.
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
|
| |
- Add PIN/IOMUX support for mx6solo sabreauto board
- Remove GPIO_9 codes because GPIO_9 is not the backlight
- change system_rev as 0x610000
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
|
| |
Add DDR3 script (400MHz@32 bit) in mx6solo sabre auto
board. MX6Solo_DDR3_400MHZ_32bit.inc was delivered
on Mar 7, 2012 by Fan Chongbin-B32609
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds splash screen support for MX6 ARD.
Changes:
- Configure GPIO_3 as I2C3_SCL
- Change MAX7310 I2C address as 0x30
- Enable LVDS power
Usage:
1. To enable splash screen by default, define
CONFIG_SPLASH_SCREEN in mx6q_sabreauto.h
2. Config U-boot with followed command:()
setenv splashimage '0x30000000'
#Set splash position as Center
setenv splashpos 'm,m'
#Set LVDS via LVDS bridge 0
setenv lvds_num 0
Signed-off-by: Lily Zhang <r58066@freescale.com>
|
|
|
|
|
|
| |
Add MFG tool support for i.MX6DQ ARD board
Signed-off-by: Lily Zhang <r58066@freescale.com>
|