Commit Graph

36364 Commits

Author SHA1 Message Date
3b76362776 MLK-12440-4 mx6ulevk: Add plugin boot support
Add plugin.S for plugin boot initialization. Need to enable "CONFIG_USE_PLUGIN"
for this feature.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 14:08:02 +08:00
baeb9cf125 MLK-12440-3 mkimage: Update imximage tool to support plugin
Update imximage for parsing and adding plugin codes to IVT.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:43:17 +08:00
d58a3d2a62 MLK-12440-2 mx7: Add plugin support
Add mx7_plugin.S which calls boot rom setup function, generate the second ivt,
and jump back to boot rom.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:42:06 +08:00
de2c67ce3d MLK-12440-1 mx6: Add plugin support
Add mx6_plugin.S which calls boot rom setup function, generate the second ivt,
and jump back to boot rom.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:41:37 +08:00
2271dcfee3 MLK-12439 mx6sxsabreauto: Enable GIS for the AI board
Enable the GIS feature for i.MX6SX sabreauto board. Need to define
the "gis=vadc" environment variable for the gis input. At default
this variable is not set.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:40:53 +08:00
02dfe2e4af ENGR00315894-81 gis: Add gis module
Add gis module, current gis is support vadc input.
Add power down function to lcdif driver.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit a007b00dd8)
(cherry picked from commit a31dcdafb0)
2016-03-25 13:40:43 +08:00
096a63e81a ENGR00315894-80 pxp: Add pxp module
Add pxp module.
Support csc between YUV444 and RGB888 and scaling.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 4c6e1f9ed1)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit 92295fafcd)
2016-03-25 13:40:01 +08:00
16960e59fa ENGR00315894-79 csi: Add csi module
Add csi module.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 854ae26758)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit 5f133bd942)
2016-03-25 13:39:50 +08:00
2377eb9fd2 ENGR00315894-78 vadc: Add vadc module
Add vadc module.
Both PAL and NTSC mode can work.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 03c31ae30c)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit b5d776ffc1)
2016-03-25 13:39:39 +08:00
2065b417ae ENGR00321299 gis: clean csi0 input mux set bit in GPR
When gis enable in uboot, the CSI0 input mux select setting
to vadc module, clean the bit when gis disabled.

Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit ae66b17b7da3be50dc81ca636b67e8e879f52e26)
(cherry picked from commit c83fd326e8)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit d6e803ed5f)
2016-03-25 13:39:24 +08:00
d50b53f138 ENGR00315894-77 mx6 soc: Add vadc power up/down function
Add vadc power up/down function.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 96d990ef75)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit 01b88201aa)
2016-03-25 13:39:01 +08:00
dc767fb7d5 ENGR00315894-76 mx6 clock: Add vadc clock enable function
Add vadc clock enable function.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 721c7a1448)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit 903a59ef94)
2016-03-25 13:38:29 +08:00
aaa55881de MLK-10655 Video: Fix second line string display issue
The string display on second line repeats the last word of
first line and does not show full.
This is the bug introduced by the fixing to MLK-10542.

Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit ac430cee8c)
(cherry picked from commit ff62c5b275)
(cherry picked from commit bd265a064c)
2016-03-25 13:38:16 +08:00
a12ec4c29b MLK-10542 video: Support multiple lines version string display
The caculation of left space for version string is not correct, should
use VIDEO_COLS not VIDEO_LINE_LEN / 2, otherwise we will get larger space
than actual have and cause string to overlay logo picture.

Also current version string display only supports two lines words at max.
This also causes overlay when the LCD pixel colume size is not enough.

Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit ed53487d36)
(cherry picked from commit 253936bb92)
2016-03-25 13:38:07 +08:00
acfeb43685 MLK-11211 lcd: fix build warning
Fix build warning:
common/lcd.c: In function 'lcd_clear':
common/lcd.c:166:6: warning: variable 'bg_color' set but not used [-Wunused-but-set-variable]
int bg_color;
      ^
common/lcd.c: In function 'lcd_setmem':
common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 2 has type 'u_long' [-Wformat=]
debug("LCD panel info: %d x %d, %d bit/pix\n", panel_info.vl_col,
  ^
common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u_long' [-Wformat=]

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
2016-03-25 13:37:18 +08:00
64ca304861 MLK-12437-6 mx7dsabresd: Update display to support panel selection
Change to panel environment for display at default. Align this feature to
v2015.04 uboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:36:51 +08:00
ea93a34a33 MLK-12437-5 mx6ulevk: Update display to support panel selection
Change to panel environment for display at default. Align this feature to
v2015.04 uboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:36:32 +08:00
d5f7833adf MLK-12437-4 mx6sxsabreauto: Update display to support panel selection
Support two display panels, one for LVDS, another for parallel LCD. Align
the feature to v2015.04 uboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:36:02 +08:00
d7f54f2260 MLK-12437-3 mx6sxsabresd: Update display to support panel selection
Support two display panels, one for LVDS, another for parallel LCD. Align the
feature to the v2015.04 uboot.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:35:25 +08:00
d6d0265b09 MLK-12437-2 Video: Update the common board_video_skip to support MXS LCD
Update the board_video_skip to use CONFIG_VIDEO_MXS for LCD display support.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:35:10 +08:00
763658d9b4 MLK-12437-1 mx6sx: Add support for LVDS display
The i.MX6SX uses a LVDS bridge to mux to the LCDIF interface. Implmement a
function for this muxing. So that on 6SX we can use a LVDS display.

Signed-off-by: Ye Li <ye.li@nxp.com>
2016-03-25 13:33:38 +08:00
e1343191b9 ENGR00315894-70 iMX6SX:Video Update MXS LCDIF driver
Add a new interface "mxs_lcd_panel_setup" to setup fb parameters and
specifies the LCDIF controller for multiple controllers of iMX6SX.
Pass fb parameters via "videomode" env remains work if the new interface
is not called before video initialization.

Modify LCDIF clock interface "mxs_set_lcdclk" to support multiple
LCDIF controllers on iMX6SX.

Signed-off-by: Ye.Li <B37916@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit d7f49b9378)
2016-03-25 13:32:09 +08:00
86135fb7e5 MLK-12434-9: mx6: define CONFIG_BOARD_LATE_INIT
Define CONFIG_BOARD_LATE_INIT for mx6qarm2/mx6slevk/mx6sxsabresd
to let mmcdev/mmcroot work as expected.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:29:20 +08:00
2fc0e6ccc9 MLK-12434-8: mx7dsabresd: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx7dsabresd.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:29:01 +08:00
95cf514bb3 MLK-12434-7: mx6ulevk: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6ul evk board.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:28:42 +08:00
3308f3c48c MLK-12434-6: mx6slevk: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6slevk.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:28:10 +08:00
ebb43ae292 MLK-12434-5: mx6sxsabreauto: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6sxsabresd.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:22:15 +08:00
fb53c90269 MLK-12434-4: mx6sxsabresd: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6sxsabresd.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:21:27 +08:00
14040e0754 MLK-12434-3: mx6sabre: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6sabresd and mx6qsabreauto.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:20:22 +08:00
54ea563dbe MLK-12434-2: mx6qarm2: dynamic setting mmcdev and mmcroot
Dynamic setting mmcdev and mmcroot for mx6qarm2.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:19:29 +08:00
b46b99a901 MLK-12434-1: imx: dynamic setting mmcdev and mmcroot
Align to imx_v2015.04, dynamic setting mmcdev and mmcroot.
Then when boot linux, we can have correct "root=/dev/mmcblk[x]p2"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:18:30 +08:00
fd16e3e978 MLK-12425-7: mx7dsabresd: support epdc
Support epdc for mx7dsabresd board.
Introduce a new configuration file mx7dsabresd_epdc_defconfig.
Add related settings.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:14:58 +08:00
1b32518d1c MLK-12425-6: mx7: add epdc qos settings
This EPDC/EPXP QoS setting is needed for EPDC stress test to pass.

Signed-off-by: Robby Cai <r63905@freescale.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:14:47 +08:00
49a7e82714 MLK-12425-5: mx7dsabresd: introduce iox74lv_set
Introduce iox74lv_set function.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:14:10 +08:00
467974ffda MLK-12425-4: mx6dlsabresd: support epdc
Support epdc for mx6dlsabresd board.
Introduce a new configuration file mx6dlsabresd_epdc_defconfig.
Add related settings.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:13:16 +08:00
8e4304c2ab MLK-12425-3: mx6slevk: support epdc
Support epdc for mx6slevk board.
Introduce a new configuration file mx6slevk_epdc_defconfig.
Add related settings.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 13:12:27 +08:00
a7244f279c MLK-12425-2: video: epdc: introduce epdc support
Support EPDC.
E-Ink feature is supported by i.MX6DL/SL and i.MX7D.
For now this driver only supports i.MX6DL/SL, because the
i.MX7D EPDC driver needs pxp support which is not included
in U-Boot.

Support user defined logo file, if there is no logo file, it will
draw a black border around a white screen.

If need to enable EPDC, a waveform file is required to let all
work.

Since we need LCD_MONOCHROME mode for EPDC, we introduce LCD_MONOCHROME
support.

Please refer to Linux Reference Manual for how to flash WAVEFORM file.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
2016-03-25 11:56:36 +08:00
06893558f2 MLK-12425-1: mx6sl/ul: introudce more pinmux macros
Introuduce more pinmux macros definitions.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 11:53:44 +08:00
b58ac15023 MLK-11952 Video: IPU: Fix dereferencing NULL pointer problem
By Coverity check,  the clk_set_rate function dereferences the clk pointer
without checking whether it is NULL. This may cause problem when clk is NULL.
Fix the problem by adding NULL check.

Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit ded2f2958d568411274eeecd265fcc1181638335)
2016-03-25 11:53:30 +08:00
b484d36882 MLK-11304 MX6 SabreSD: Disable HDMI detect
As the HDMI splash screen feature is not well supported,
we should not set it to be the default display. In case,
users leave the 'panel' uboot environment variable empty
and connect the board with a HDMI monitor, the HDMI detect
funtion will work and enable the HDMI splash screen. So,
this patch disables HDMI detect function so that users
may only explicitly set the 'panel' variable to be 'HDMI'
to use HDMI splash screen.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit d482c54a9f)
2016-03-25 11:53:07 +08:00
152192507c MLK-10747-2 video: ipu: Enable/disable LDB_DI clock when necessary
This patch adds enable/disable hooks support for ldb_di[0/1] clocks
and enables/disables them when necessary.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 615d4c5167)
2016-03-25 11:52:51 +08:00
0c47d4138f MLK-10747-1 video: ipu: Build ldb_di clock relevant code only for MX6 and MX53
The LDB is found in MX6 variants and MX53, so this patch makes the ldb_di clock
relevant code be built only for them.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 3e40c7466a)
2016-03-25 11:52:41 +08:00
8dcbd43b97 MLK-10774-2 HDMI: splash screen function enhancement
-Change HDMI video mode to VGA.
-Add pixel clock fraction part setting in IPU driver,
 fix video mode timing issue.
-Add overflow state clear workaround,
 fix kernel hang in HDMI driver issue.
-Correct IPU clock to 264MHz.

Signed-off-by: Sandor Yu <R01008@freescale.com>
Signed-off-by: Nitin Garg <nitin.garg@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit 5028519b43)
2016-03-25 11:50:25 +08:00
ff3923f294 MLK-12214 NAND:apbh_dma: Fix logically dead code issue
The list_first_entry always assumes the list is not empty, it won't return NULL pointer when
the list is empty. So the "if (pdesc == NULL)" becomes a dead code. Fix the issue by calling
the list_empty before the list_first_entry.

(Coverity CID 29934)

Signed-off-by: Ye.Li <ye.li@nxp.com>
2016-03-25 11:48:34 +08:00
78f620a6d6 MLK-11718-2: mtd: nand: change the BCH layout setting for large oob NAND
The cod change updated the NAND driver BCH ECC layout algorithm to
support large oob size NAND chips(oob > 1024 bytes).

Current implementation requires each chunk size larger than oob size so
the bad block marker (BBM) can be guaranteed located in data chunk. The
ECC layout always using the unbalanced layout(Ecc for both meta and
Data0 chunk), but for the NAND chips with oob larger than 1k, the driver
cannot support because BCH doesn’t support GF 15 for 2K chunk.

The change keeps the data chunk no larger than 1k and adjust the ECC
strength or ECC layout to locate the BBM in data chunk. General idea for
large oob NAND chips is

1.Try all ECC strength from the minimum value required by NAND spec to
the maximum one that works, any ECC makes the BBM locate in data chunk
can be chosen.

2.If none of them works, using separate ECC for meta, which will add one
extra ecc with the same ECC strength as other data chunks. This extra
ECC can guarantee BBM located in data chunk, of course, we need to check
if oob can afford it.

Signed-off-by: Han Xu <b45815@freescale.com>
2016-03-25 11:47:56 +08:00
a03afd52f7 MLK-11718-1: mtd: nand: change the maximum nange page size and oob size
enlarge the maximum nand page size and oob size to
16k byte and 1280byte.

Signed-off-by: Han Xu <b45815@freescale.com>
2016-03-25 11:47:05 +08:00
6c0474fe0e ENGR00315894-60 GPIO: Modify driver mxc_gpio to support RDC Semaphores
For GPIO group which shared by multiple masters, it may set in RDC
to shared and semaphore required. Before access the GPIO register,
the GPIO driver must get the RDC semaphore, and release the semaphore
after the GPIO register access.

When CONFIG_MXC_RDC is set, the features related to RDC semaphores
is enabled in mxc_gpio driver.

Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit 84d63e2e2c)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>

Conflicts:
	drivers/gpio/mxc_gpio.c

(cherry picked from commit c9943b9c8a78bb2c9886bfe582e82978387d8dee)
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit faf94726ca)
2016-03-25 11:45:56 +08:00
755f39b1f8 MLK-11528 imx: mx6ul check fuse before init bee
Need to check fuse bit 25 of bank 0 word 4 before initialize bee.
The bit: 0 means bee enabled, 1 means bee disabled.
If disabled, continuing initialize bee will cause system hang, so
need to check this bit before initialize bee.

Add macro to enable BEE in header file, default disabled.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit ef4cb7c534)
2016-03-25 11:43:23 +08:00
6d45292ff7 MLK-10958 imx: mx6ul support Bus Encryption Engine
This patch is to support Bus Encryption Engine(BEE) for i.MX 6UL.
Supported feature:
1. SNVS key and soft key
2. CTR and ECB mode
3. Specify address region to bee.

Two commands are included:
bee init [key] [mode] [start] [end] - BEE block initial
    "Example: bee init 1 1 0x80000000 0x80010000\n"
bee test [region]
    "Example: bee test 1\n"

Mapping:
[0x10000000 - (0x10000000 + size - 1)] : [start - (start + size - 1)]
[0x30000000 - (0x30000000 + IRAM_SIZE - 1)] : [IRAM_BASE_ADDR -
(IRAM_BASE_ADDR + IRAM_SIZE - 1)]

Whatever start is, start - (start + size -1) will be fixed mapping to
0x10000000 - (0x10000000 + size - 1)

Since default AES region's protected size is SZ_512M, so
on mx6ul evk board, you can not simply run 'bee init', it will
overlap with uboot execution environment, you can use
'bee init 0 0 0x80000000 0x81000000'.

If want to use bee, Need to define CONFIG_CMD_BEE in board configuration
header file, since CONFIG_CMD_BEE default is not enabled.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit 29b9bdbbda)
2016-03-25 11:41:17 +08:00
5805368af4 MLK-12416-5: spi: qspi: align to 2015.04
Switch to use 2015.04 qspi driver.
Change header file to adapt to the driver.
To i.mx6sx, move config to header file.

Tested read/write/erase on 6ulevk/sxai/sxsdb.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2016-03-25 11:41:03 +08:00