Bai Ping [Thu, 19 Jan 2017 06:07:38 +0000 (14:07 +0800)]
MLK-13774 ARM: imx: fix lpddr2 busfreq support on i.mx6ull
Fix busfreq support on i.MX6ULL LPDDR2 board.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Haibo Chen [Thu, 19 Jan 2017 06:14:36 +0000 (14:14 +0800)]
MLK-13766 ARM: dts: imx6ull-9x9-evk: correct the xnur pad setting
Setting the xnur-gpio to GPIO_ACTIVE_LOW, otherwise touch calibration
may has some issue.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Andy Duan [Wed, 18 Jan 2017 05:20:32 +0000 (13:20 +0800)]
MLK-13773 gpio: pca953x: correct device_reset() return value check on kernel 4.1
Correct device_reset() return value checking.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Peng Fan [Wed, 18 Jan 2017 02:56:10 +0000 (10:56 +0800)]
MLK-13538-2 char: otp: support i.MX7ULP1
Add ULP1 OTP support.
No timing required for ULP1 OTP.
The CTRL_ADDR is 8 bits width.
When finished access to OTP, gate the power to OTP memory to save power.
Fix store, when invalid args, not return 0, but return the error values.
To ULP, fuse only support being programmed once, so add a check before
program.
Test log:
root@imx6qdlsolo:/sys/fsl_otp# cat HW_OCOTP_GP84
0x0
root@imx6qdlsolo:/sys/fsl_otp# echo 1 > HW_OCOTP_GP84
root@imx6qdlsolo:/sys/fsl_otp# cat HW_OCOTP_GP84
0x1
root@imx6qdlsolo:/sys/fsl_otp# echo 1 > HW_OCOTP_GP84
-sh: echo: write error: Operation not permitted
root@imx6qdlsolo:/sys/fsl_otp# echo fg > HW_OCOTP_GP84
-sh: echo: write error: Invalid argument
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Peng Fan [Wed, 18 Jan 2017 02:54:58 +0000 (10:54 +0800)]
MLK-13538-1 arm: dts: imx7ulp1: add ocotp node
Add ocotp node.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Richard Liu [Fri, 13 Jan 2017 09:12:19 +0000 (17:12 +0800)]
MA-9165 fix kernel panic issue reported by some android stress test
The issue can be reproduced when run some android stress test, such as
monkey test, usb camera long time recording, AndroidSurface.apk.
When the issue happen we always found some zero memory is tampered
to 1, and then some kernel panic happen.
Two changes to fix the issue:
1. Requires mutex-lock in when reference gctSIGNAL in gckOS_MapSignal,
to fix concurrent issue. If the signal is already freed at this point,
atomic_inc_return may change zero memory to 1 and cause memory corruption.
if (atomic_inc_return(&signal->ref) <= 1)
{
/* The previous value is 0, it has been deleted. */
gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
}
2. Refine gckOS_UserSignal in kernel code, do not need reference and dereference
around gckOS_Signal.
Change-Id: Ib5970e86dbfbfd7d73f27a07d5e77a38c78a5fb6
Signed-off-by: Richard Liu <xuegang.liu@nxp.com>
Robin Gong [Fri, 6 Jan 2017 03:05:48 +0000 (11:05 +0800)]
MLK-13748: ARM: dts: imx6ull-9x9-evk-ldo: add ldo enable dts
Add ldo enable dts
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Yuchou Gan [Mon, 16 Jan 2017 16:04:31 +0000 (00:04 +0800)]
MLK-13751 [7ULP1]A7 mem mode suspend can't be resumed by M4 through M4 image after suspend/resume 1 time and effect by GPU.100%
This reverts commit
a6553be76f8368442bd976f39a6bc28352c57f99 and run power on before power off in gpu_suspend.
This issue happened in x11 because x11 gpu has more complicated power management than fb. Revert the commit which imported this issue and fix the former MGS-2513 in another way.
Date: Jan 16, 2017
Signed-off-by: yuchou.gan <yuchou.gan@nxp.com>
Han Xu [Fri, 13 Jan 2017 20:14:04 +0000 (14:14 -0600)]
MLK-13755: ARM: dts: fix the QSPI iomux issue
The iomux PAD setting for QSPI on i.MX7ULP should belong to
iomuxc0(refers to iomuxc in dtsi file) rather than iomuxc1.
Signed-off-by: Han Xu <han.xu@nxp.com>
Shengjiu Wang [Wed, 11 Jan 2017 07:48:46 +0000 (15:48 +0800)]
MLK-13724: ARM: dts: fix audio error log in kernel boot up
Below error happen when boot up imx6ul/imx6ull 9x9 board. which is caused by
that dts is not updated in commit
0a4c5844f91de8 ("MLK-12059 ARM: dts:
imx6ul-14x14-evk: add mic detect gpio to support headset Jack")
[ 1.871240] imx-wm8960 sound: ASoC: Failed to add route HP_L -> direct -> Headset Jack
[ 1.884002] imx-wm8960 sound: ASoC: Failed to add route HP_R -> direct -> Headset Jack
[ 1.896532] imx-wm8960 sound: ASoC: Failed to add route Hp MIC -> direct -> LINPUT2
[ 1.909936] imx-wm8960 sound: ASoC: Failed to add route Hp MIC -> direct -> LINPUT3
[ 1.923511] imx-wm8960 sound: ASoC: Failed to add route MICB -> direct -> Hp MIC
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Andy Duan [Wed, 11 Jan 2017 09:27:33 +0000 (17:27 +0800)]
MLK-13743-02 ARM: dtsi: imx7ulp-evk: add modem gpio reset
Add modem gpio reset for lpuart6 port.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Andy Duan [Mon, 9 Jan 2017 09:12:56 +0000 (17:12 +0800)]
MLK-13735 ARM: dtsi: imx7ulp: set the lpuart module clock to 48Mhz
The untrimmed chip firc clock is 50Mhz after manually tuning.
Now the trimmed chip firc clock is stable to 48Mhz, so change
the lpuart module clock rate to 48Mhz.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Robin Gong [Thu, 12 Jan 2017 05:55:21 +0000 (13:55 +0800)]
MLK-13745: ARM: dts: imx6sll: sync with i.mx6ul
Because i.mx6sll support mega_fast power off, sdma driver can sync
with i.mx6ul which support this feature. Modify compatible name
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Guoniu.Zhou [Wed, 11 Jan 2017 06:42:02 +0000 (14:42 +0800)]
MLK-13741: video: mxsfb: unchecked return value
In overlayfb_enable(), unchecked the return value of lock_fb_info function, if
it return zero, it maybe cause mistakes.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Robby Cai [Tue, 10 Jan 2017 09:02:17 +0000 (17:02 +0800)]
MLK-13737 pxp: refine dithering setting
- use different LUT setting and coefficient setting for different quantization
bits.
- clear CTRL0_MUX14_SEL to 0 only when use dithering algorithm, set to 1 for
not using dithering module.
- bypass PXP_OUT_AS for dithering and add DITHER_STORE_SIZE setting
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Guoniu.Zhou [Wed, 11 Jan 2017 02:07:28 +0000 (10:07 +0800)]
MLK-13739 video: mxsfb: use a pointer after free.
In mxsfb_overlay_exit, a pointer to freed memory is dereferenced, used as a
function argument, exchange the reference and freed function position.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Yuchou Gan [Tue, 10 Jan 2017 16:53:16 +0000 (00:53 +0800)]
MGS-2540 [#ccc] Need set baseAddress with RAM start address on IMX6Q
set the baseAddress with 0x10000000 on IMX6Q
Signed-off-by: Yuchou Gan <yuchou.gan@nxp.com>
Date: Jan 10, 2017
Richard Zhu [Tue, 27 Dec 2016 02:15:50 +0000 (10:15 +0800)]
MLK-13679-2 PCI: imx: workaround of ERR010728 for pcie on imx7d
Description: Initial VCO oscillation may fail under
corner conditions such as cold temperature. It causes
PCIe PLL fail to lock in initialization phase.
Project Impact: iMX7 PCIe PLL fails to lock and iMX7D
PCIe doesn't work.
Workarounds: To toggle internal PLL_PD signal to make
VCO oscillate after G_RST signal is de-asserted by
following the sequences:
- De-asserted G_RST signal
- Toggle internal PLL_PD signal:
- Write "0x04" to the address "0x306D_0054"
- Write "0xA4" to the address "0x306D_0054"
- Write "0x04" to the address "0x306D_0054"
- De-asserted CMN_RST signal
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Tue, 27 Dec 2016 08:58:03 +0000 (16:58 +0800)]
MLK-13679-1 ARM: imx: add the imx7d pcie phy node
add imx7d pcie phy node into 7d dts
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Fri, 6 Jan 2017 05:54:21 +0000 (13:54 +0800)]
MLK-13792-2 ARM: imx: remove the hardcoded vring buf
input the vring buffer by device tree node, and
remove the hard-coded vring buffer in the driver
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Fri, 6 Jan 2017 05:53:44 +0000 (13:53 +0800)]
MLK-13729-1 ARM: imx: add the reg into the rpmsg node
In order to remove the hard-coded vring buffer in
the driver, input the vring buffer by device tree
node.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Peter Chen [Fri, 30 Dec 2016 02:23:42 +0000 (10:23 +0800)]
MLK-13638-6 usb: chipidea: add recovery from vbus is off during system suspend
When the vbus is off during the suspend controller is powered off, if we
do not want to see disconnection from USB core, we need to make sure the
device pulls DP up before USB core resume runs. However, several devices
are slow to pull DP up when see vbus (maybe it needs vbus to power up
system), so we need to wait connection at platform code.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 22 Dec 2016 03:19:03 +0000 (11:19 +0800)]
MLK-13638-5 usb: chipidea: usbmisc_imx: add power_lost_check API for imx7ulp
For imx7ulp, the power of USB controller may be lost, add power_lost_check
API for USB recovery.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 22 Dec 2016 03:16:09 +0000 (11:16 +0800)]
MLK-13638-4 regulator: fixed: add system pm routines for pinctrl
At some systems, the pinctrl setting will be lost or needs to
set as "sleep" state to save power consumption. So, we need to
configure pinctrl as "sleep" state when system enters suspend,
and as "default" state after system resumes. In this way, the
pinctrl value can be recovered as "default" state after resuming.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 22 Dec 2016 03:11:31 +0000 (11:11 +0800)]
MLK-13638-3 extcon: usb-gpio: add pinctrl operation during system PM
At some systems, the pinctrl setting will be lost or needs to
set as "sleep" state to save power consumption. So, we need to
configure pinctrl as "sleep" state when system enters suspend,
and as "default" state after system resumes. In this way, the
pinctrl value can be recovered as "default" state after resuming.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Fri, 6 Jan 2017 02:58:33 +0000 (10:58 +0800)]
MLK-13638-2 ARM: dts: imx7ulp-evk: fix GPIO direction for USB vbus and id
The vbus should be output, and the id should be input.
Without this change, the GPIO configuration (through pinctrl
register) is incorrect from system suspend.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 22 Dec 2016 02:08:56 +0000 (10:08 +0800)]
MLK-13638-1 ARM: dts: imx7ulp-evk: add VLLS mode recovery support
At imx7ulp VLLS mode, the power of iomux1 is lost, so we need to
recover pinctrl value when back from this mode.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Fancy Fang [Thu, 5 Jan 2017 09:00:37 +0000 (17:00 +0800)]
MLK-13722-3 video: mxsfb: add more sanity check on overlayfb_check_var()
The overlay function of LCDIF only support when the bpp of fb0
and fb1 are the same. So add this check on overlayfb_check_var().
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Wed, 4 Jan 2017 07:34:43 +0000 (15:34 +0800)]
MLK-13722-2 video: mxsfb: change 'usage' to atomic_t type
The 'usage' field of mxsfb_layer is used to record the
overlay fb user counts. So change its type to atomic_t
to avoid race problem.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Wed, 4 Jan 2017 07:19:31 +0000 (15:19 +0800)]
MLK-13722-1 video: mxsfb: the fb_info var should be init on every device open.
After the last close of the fb1 open, the fb_info var structure
contains the information in the last overlay display. This may
cause the next overlay display contains old and invalid var
info. So re-init the var info on every fb1 open.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Wed, 4 Jan 2017 01:51:02 +0000 (09:51 +0800)]
MLK-13715-2 video: mxsfb: add global alpha mode for overlay fb
Add global alpha mode for overlay framebuffer when the
overlay fb has no alpha channel, which means set a fix
alpha value which is used during the alpha blending
between AS and framebuffer.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Wed, 4 Jan 2017 02:07:21 +0000 (10:07 +0800)]
MLK-13715-1 video: mxsfb: miss a 'break' in switch statements.
Add the missing 'break' in some switch statements.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Gao Pan [Wed, 4 Jan 2017 07:13:29 +0000 (15:13 +0800)]
MLK-13717-2 spi: imx-lpspi: support for vlls mode
On i.MX7ULP sillicon, system suspend go through VLLS mode that gate
off pinctrl and modules power, then all registers are reset to HW
default value. To support the feature, driver needs to recover all
registers status.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Wed, 4 Jan 2017 07:12:33 +0000 (15:12 +0800)]
MLK-13717-1 ARM: dts: imx7ulp-evk: add lpspi sleep pinctrl
Add lpspi sleep pinctrl.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Wed, 4 Jan 2017 07:01:22 +0000 (15:01 +0800)]
MLK-13716-2 i2c: imx-lpi2c: support for vlls mode
On i.MX7ULP sillicon, system suspend go through VLLS mode that gate
off pinctrl and modules power, then all registers are reset to HW
default value. To support the feature, driver needs to recover all
registers status.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Wed, 4 Jan 2017 06:59:27 +0000 (14:59 +0800)]
MLK-13716-1 ARM: dts: imx7ulp-evk: add lpi2c sleep pinctrl
Add lpi2c sleep pinctrl.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Fancy Fang [Tue, 3 Jan 2017 09:26:42 +0000 (17:26 +0800)]
MLK-13714 video: mxsfb: fix the overlay wrong offset issue
The overlay function should be enabled when the lcdif is disabled
to make them synchronous. Otherwise, there will be offset for the
overlay surface when display.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Thu, 29 Dec 2016 06:39:48 +0000 (14:39 +0800)]
MLK-13684-4 video: mxsfb: add pan display for overlay fb
Add pan display support for the AS overlay framebuffer.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Tue, 27 Dec 2016 01:31:33 +0000 (09:31 +0800)]
MLK-13684-3 video: mxsfb: add overlay framebuffer support based on lcdif
The enhanced LCDIF controller has added an AS surface which
can be used to blend with the original framebuffer fb0.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Tue, 27 Dec 2016 01:30:35 +0000 (09:30 +0800)]
MLK-13684-2 video: mxsfb: add 'FB_MXC_OVERLAY' config
Add 'FB_MXC_OVERLAY' config to control overlay framebuffer
feature. And also add this config to defconfig.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Mon, 26 Dec 2016 09:08:37 +0000 (17:08 +0800)]
MLK-13684-1 video: mxsfb: correct the 'fb_info' alloc size
The 'framebuffer_alloc()' will add the fb_info_size to the 'size'
parameter before doing the real allocation. So it is not necessary
to pass the sizeof(struct fb_info) to it again.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Fancy Fang [Fri, 30 Dec 2016 07:21:28 +0000 (15:21 +0800)]
MLK-13706 video: mxsfb: defer fb probe when dispdrv is not ready
Some dispdrv depends on several other modules. For example, mipi dsi
depends on gpio and gpio-reset modules. And in some cases, during
the mipi dsi initialization process, the gpio or gpio-reset is not
loaded yet, so defer the fb probing until all the depending modules
loaded completed.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Andy Duan [Thu, 29 Dec 2016 05:59:26 +0000 (13:59 +0800)]
MLK-13711-01 ARM: dts: imx7ulp-evk: add lpuart sleep pinctrl
Add lpuart sleep pinctrl.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Andy Duan [Wed, 28 Dec 2016 08:48:02 +0000 (16:48 +0800)]
MLK-13710 tty: serial: fsl_lpuart: add magic SysRq support
Add magic SysRq key support.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Yuchou Gan [Fri, 30 Dec 2016 11:30:03 +0000 (19:30 +0800)]
MGS-2460 [#ccc] 7ULP1 GPU suspend/resume problem
Do not enable the gpu clock when initialize the clock
Date: Dec 30, 2016
Signed-off-by: Yuchou Gan <yuchou.gan@nxp.com>
Anson Huang [Thu, 29 Dec 2016 13:56:44 +0000 (21:56 +0800)]
MLK-13693 ARM: imx: add gpio save/restore for i.mx7ulp VLLS mode
Add GPIO save/restore for i.MX7ULP VLLS mode, as GPIO might lost
power in VLLS mode, including GPIO port C,D,E,F.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Haibo Chen [Wed, 28 Dec 2016 08:12:41 +0000 (16:12 +0800)]
MLK-13681-2 ARM: dts: add imx6sll-evk-reva baord support
The latest imx6sll evk Rev A board (default board) already fix
HS400 I/O timing issue, so the default evk board support HS400
mode. But the older evk board (Rev A) board still has issue for
HS400 mode, so this patch disabled HS400 mode for the older evk
board, just support HS200 mode for imx6sll evk Rev A board.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Haibo Chen [Wed, 28 Dec 2016 08:01:04 +0000 (16:01 +0800)]
MLK-13681-1 ARM: imx6sll: add HS400 support for imx6sll
The imx6sll support eMMC HS400 mode, this patch default add HS400
mode support.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Haibo Chen [Tue, 27 Dec 2016 02:22:28 +0000 (10:22 +0800)]
MLK-13675 ARM: dts: imx6sll-evk.dts: change the pad setting of sd1/sd3
According to HW team's suggestion, change the pad setting of sd1 and
sd3 on imx6sll-evk board.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Bai Ping [Tue, 13 Dec 2016 05:20:01 +0000 (13:20 +0800)]
MLK-13507 ARM: imx: workaround of ERR010579 for ipu on imx6dl
Workaround for ERR010579
When switching the clock source of IPU clock root in CCM, even setting
CCGR3[CG0]=0x0 to gate off clock before switching, IPU may hang due to
no IPU clock from CCM. The root cause is an integration bug in SOC level,
setting CCGR3[CG0]=0x0 can NOT gate off the clock after IPU clock source MUX.
The IPU clock source MUX is glitchg MUX, that means the clock glitch during
clock switch is unavoidable, which will cause the divider after it stop work
and no clock output. In order to avoid the clock glitch, we must obey below
procedures if clock source switch is needed:
1. gate off the CG after MUX
2. switch clock source
3. gate on the CG after MUX
On the other hand, the EN of the CG between MUX and divider is a feedback
logic(OR result) from several LPCG cells in SOC top, but for IPU clock, one
LPCG is forced to open forever, then the feedback OR result is always high,
it causes the CG can NOT be gated off even the CCGR3[CG0] is set to 0x0.
For detailed workaround steps, please refer to the errata document.
Tested-by: Ying Liu <victor.liu@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Wed, 21 Dec 2016 09:24:44 +0000 (17:24 +0800)]
MLK-13642 ARM: imx: update the ddr frequency change flow on imx7d
Update busfreq change flow on i.MX7D. When changing the
DDR frequency to 24MHz, 98MHz and 533MHz, different value
should be set in 'DDRC_RFSHTMG' register. Detailed setting
is below:
LPDDR2/3:
24MHz: 0x00010003
98MHz: 0x0005000B
533MHz: 0x00200038
DDR3:
24MHz: 0x00030004
98MHz: 0x000B000D
533MHz: 0x00040046
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Irina Tirdea [Mon, 20 Feb 2017 08:36:06 +0000 (10:36 +0200)]
MLK-13869 cpufreq: imx7: use updated arm clk
The "arm" clock for imx7d has been modified to encapsulate
all other clocks needed for normal functioning ("arm_root_src",
"pll_arm", "pll_sys_main"). Modify cpufreq to use the new
version of "arm" clock.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Octavian Purdila [Wed, 22 Feb 2017 15:32:46 +0000 (17:32 +0200)]
MLK-13869 ARM: dts: imx7: route interrupts through GPC
We need to "logically" route interrupts through GPC instead of directly
through GIC in order to support low power mode with SCU and L2 off.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 22 Feb 2017 15:36:53 +0000 (17:36 +0200)]
MLK-13869 ARM: imx7d: run pm init during intialization
This patch adds code that was missed during the rebase of the imx7 PM
patches.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 22 Feb 2017 15:34:26 +0000 (17:34 +0200)]
MLK-13869 ARM: gpcv2: update driver to lastest irq_domain APIs
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Mon, 20 Feb 2017 09:29:55 +0000 (11:29 +0200)]
MLK-13869 ARM: dts: imx7d: fix pxp AXI clock name
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Mon, 20 Feb 2017 09:27:15 +0000 (11:27 +0200)]
MLK-13869 mmc: card: fix infinite loop in mmc_blk_alloc_req
Initialize ret to avoid an infinite loop in mmc_blk_alloc_req which may
happen if the uninitialize ret value is -EAGAIN.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Irina Tirdea [Tue, 14 Feb 2017 08:37:56 +0000 (10:37 +0200)]
MLK-13869 Revert "ARM: imx: add sleep for pllv3 relock"
This reverts commit
322503a15740bd9383bb4ed452e5dd5a40598170.
The driver for clk-pllv3 has moved from arch/arm/mach-imx/clk-pllv3.c
to drivers/clk/imx/clk-pllv3.c since the orginal change was made,
so the revert is done to the new file instead.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Irina Tirdea [Thu, 9 Feb 2017 14:04:11 +0000 (16:04 +0200)]
MLK-13869 clk: imx7d: Fix usdhc and ahb init clock order
The nand_usdhc_root_clk and ahb_root_clk clocks need to be initialized
earlier so the board can boot, since there are other clocks that
depend on them.
This is a leftover from rebasing patch
a06eafc305c4c2db6dfc3de372f667af0135fa9e
(MLK-11349-3 ARM: imx: update clk driver for imx7d), that has the clocks
initialized in the correct order.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Anson Huang [Wed, 22 Feb 2017 14:25:44 +0000 (22:25 +0800)]
MLK-14239-3 dt-bindings: update i.MX8QXP pins head file
Update i.MX8QXP pins head file based on below:
"Ensure that SCFW API follows the Linux coding style and standards.
Also update SCFW API to the following commit:
(
d36d0418b4a5d294c4ebbeb20d38b7dfdcc37d20)"
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Anson Huang [Wed, 22 Feb 2017 14:24:45 +0000 (22:24 +0800)]
MLK-14239-2 pinctrl: imx8qm: update i.MX8QM pins head file
Update i.MX8QM pins head file based on below:
"Ensure that SCFW API follows the Linux coding style and standards.
Also update SCFW API to the following commit:
(
d36d0418b4a5d294c4ebbeb20d38b7dfdcc37d20)"
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Anson Huang [Wed, 22 Feb 2017 14:08:49 +0000 (22:08 +0800)]
MLK-14239-1 dt-bindings: update i.MX8 resource head file
Update i.MX8 resource head file based on below:
"Ensure that SCFW API follows the Linux coding style and standards.
Also update SCFW API to the following commit:
(
d36d0418b4a5d294c4ebbeb20d38b7dfdcc37d20)"
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Peng Fan [Tue, 21 Feb 2017 02:51:23 +0000 (10:51 +0800)]
MLK-14012 pinctrl: imx: fix imx_pinctrl_parse_pin
list is a local variable, each time imx_pinctrl_parse_pin is
invoked, list points to the first pin. Directly use list_p in
imx_pinctrl_parse_pin to fix it.
When splitting pinctrl-imx.c, two pieces code is correctly moved.
- In imx_pmx_set_one_pin, when mux_reg is -1, need to return 0 to
let the caller continue the loop.
- In imx_pinctrl_parse_pin, need to use (mux_reg != -1) when calculating
the pin_id.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Mihai Serban [Wed, 15 Feb 2017 16:29:53 +0000 (18:29 +0200)]
MLK-13799: ASoC: fsl: Add ASoC generic hdmi audio codec support
Use the new ASoC hdmi-codec infrastructure.
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Anson Huang [Wed, 18 Jan 2017 20:10:23 +0000 (04:10 +0800)]
MLK-13911-13 ARM64: defconfig: add i.mx8 soc support
Add i.MX8QM/QXP/MQ support by default.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Anson Huang [Wed, 18 Jan 2017 20:09:15 +0000 (04:09 +0800)]
MLK-13911-12 tty: serial: fsl: add earlycon support
Add FSL LPUART earlycon support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Anson Huang [Wed, 18 Jan 2017 20:07:25 +0000 (04:07 +0800)]
MLK-13911-11 clk: imx: imx8qxp: add clk driver
Add i.MX8QXP clock driver support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Anson Huang [Tue, 14 Feb 2017 15:16:18 +0000 (23:16 +0800)]
MLK-13911-10 clk: imx: imx8qm: add clk driver
Add i.MX8QM clock driver support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Anson Huang [Sun, 19 Feb 2017 12:13:26 +0000 (20:13 +0800)]
MLK-13911-9 pinctrl: freescale: imx8qxp: add pinctrl
Add i.MX8QXP pinctrl driver support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Sun, 19 Feb 2017 12:12:49 +0000 (20:12 +0800)]
MLK-13911-8 pinctrl: freescale: imx8qm: add pinctrl
Add i.MX8QM pinctrl driver support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Peng Fan [Sat, 18 Feb 2017 12:08:43 +0000 (20:08 +0800)]
MLK-13911-7 drivers: pinctrl: support i.MX8 SCU
On i.MX8QM/QXP, pin is handled by SCU, A53/72 can not directly
handle pinmux as i.MX6/7.
Split the original pinctrl-imx.c to two parts, the pinctrl-memmap.c
will handle the memory mapped access for i.MX6/7. pinctrl-imx.c
will be shared by legacy i.mx and i.MX8.
Introduce pinctrl-scu.c to handle the connection with SCU to configure
pin settings.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Wed, 18 Jan 2017 20:01:30 +0000 (04:01 +0800)]
MLK-13911-6 soc: imx8: add soc and power domain
Add i.MX8 SOC and power domain support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Anson Huang [Wed, 18 Jan 2017 19:59:00 +0000 (03:59 +0800)]
MLK-13911-5 soc: scfw: imx8: add SCFW
Add i.MX8 SCFW API support.
Based on below commit:
(
fcd0efb5f2550712bd7d27f1279e51f7f687f71d)
Fix MX8 MU driver to follow Linux coding conventions.
Remove unused functions.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Anson Huang [Wed, 18 Jan 2017 19:54:52 +0000 (03:54 +0800)]
MLK-13911-4 ARM64: dts: imx8qxp: add dtsi
Add i.MX8QXP dtsi support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Anson Huang [Wed, 18 Jan 2017 19:53:31 +0000 (03:53 +0800)]
MLK-13911-3 ARM64: dts: imx8qm: add dtsi
Add i.MX8QM dtsi support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Anson Huang [Fri, 5 Aug 2016 01:21:38 +0000 (09:21 +0800)]
MLK-13911-2 ARM64: dts: imx8: add arm core common dtsi
Add i.MX8 arm core common dtsi.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Nitin Garg <nitin.garg@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Anson Huang [Fri, 5 Aug 2016 01:08:08 +0000 (09:08 +0800)]
MLK-13911-1 dt-bindings: add definitions for i.MX8 resources and power domains
Add head files for i.MX8 resource ID and power domains.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Octavian Purdila [Tue, 14 Feb 2017 12:56:27 +0000 (14:56 +0200)]
MLK-13927 ARM: imx: remove time.c
arch/arm/mach-imx/time.c has been moved to a new location upstream but
during the rebase process from 4.1 to 4.9 it was reintroduced in
error.
This patch removes the old file and updates the new file with changes
from commit
67000df ("MLK-13303-7 ARM: imx: add gpt timer support for
i.mx6sll").
Note that commit
4c4769ba1cb5c0f1 ("MLK-12627-01 ARM: imx: add
i.mx6ull msl support") does not introduce changes to the new
implementation since imx6ull DTSs use "fsl,imx6ul-gpt" for compatible
properties.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Sandor Yu [Thu, 22 Dec 2016 10:13:42 +0000 (18:13 +0800)]
MLK-13631-02: ARM: dts: Change i.MX6SL CSI module compatible string
Change i.MX6SL CSI module compatible string from "fsl,imx6s-csi"
to "fsl,imx6sl-csi".
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Sandor Yu [Thu, 22 Dec 2016 10:02:55 +0000 (18:02 +0800)]
MLK-13631-01: media: camera: add FIFO reset flag for i.MX6S CSI driver
Except i.MX6SL, all other i.MX6S serial SOC CSI module will been reset
to recovery from RX FIFO overflow error.
So add xx_fifo_rst flag in driver to distinguish i.MX6SL and other
i.MX6S SOC.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Octavian Purdila [Mon, 13 Feb 2017 13:17:26 +0000 (15:17 +0200)]
MLK-13922: ARM: dts: imx6qp-sabreauto: add lvd-channel info to ldb
Also, enable the mxcfb* entries.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Irina Tirdea [Sun, 12 Feb 2017 19:07:31 +0000 (21:07 +0200)]
MLK-13793-6 regulator: anatop: fix min dropout for bypass mode
In bypass mode, the anatop digital regulators do not have any minimum
dropout value (the input voltage is equal to the output voltage according
to documentation).
Having a min dropout value of 125mV will lead to an increased voltage
for PMIC supplies.
Only set minimum dropout value for ldo enabled mode.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Robin Gong [Thu, 9 Feb 2017 03:00:55 +0000 (11:00 +0800)]
MLK-13849 dma: imx-sdma: fix kernel crashs when play Audio by HDMI
In cyclic/loop mode, DMA call shouldn't touch dma cookie, since only one
time need to be submitted, otherwise, below kernel bug will be triggered:
Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo
------------[ cut here ]------------
Kernel BUG at
8043d030 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: ov5642_camera mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc ov5640_camera_mipi_int ov5640_camera_int v4l2_int_device mxc_dcic
CPU: 0 PID: 0 Comm: swapper/0 Not tainted
4.9.5-01681-g6dbd27b #7
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task:
80f06600 task.stack:
80f00000
PC is at mxc_sdma_handle_channel_normal+0xc0/0xd8
LR is at tasklet_action+0x94/0x14c
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 16:54:24 +0000 (18:54 +0200)]
MLK-13897: ARM: dts: imx6ul-14x14-evk: revert to fsl,imx-audio-wm8960
Upstream commit
bf3251e ("ARM: dts: imx6ul-14x14-evk: Add audio
support") switched to using the simple sound card driver.
This does not seem to work anymore on vanilla 4.9.5 (aplay gets stuck
with no sound output). Adding the rest of our out internal patches
from 4.1 causes even greater issues, the card does not even enumerate.
While we eventually want to switch to using simple sound card, lets
revert to using the fsl,imx-audio-wm8960 driver for the time being,
while investigating what it takes to switch to the simple sound card
driver.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 15:22:17 +0000 (17:22 +0200)]
MLK-13888-5: ARM: dts: imx6ull: update "dma" clock name to "spba"
Upstream is using "spba" clock name in the various sound drivers as
opposed to our internal tree where we have used "dma". Update all of
the dtsi files to use the new name.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 15:21:59 +0000 (17:21 +0200)]
MLK-13888-4: ARM: dts: imx6sx: update "dma" clock name to "spba"
Upstream is using "spba" clock name in the various sound drivers as
opposed to our internal tree where we have used "dma". Update all of
the dtsi files to use the new name.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 15:21:34 +0000 (17:21 +0200)]
MLK-13888-3: ARM: dts: imx6sll: update "dma" clock name to "spba"
Upstream is using "spba" clock name in the various sound drivers as
opposed to our internal tree where we have used "dma". Update all of
the dtsi files to use the new name.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 15:10:00 +0000 (17:10 +0200)]
MLK-13888-2: ARM: dts: imx6qdl: update "dma" clock name to "spba"
Upstream is using "spba" clock name in the various sound drivers as
opposed to our internal tree where we have used "dma". Update all of
the dtsi files to use the new name.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Tue, 7 Feb 2017 16:30:20 +0000 (18:30 +0200)]
MLK-13888-1: ARM: dts: imx6ul: update "dma" clock name to "spba"
Upstream is using "spba" clock name in the various sound drivers as
opposed to our internal tree where we have used "dma". Update all of
the dtsi files to use the new name.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 10:34:12 +0000 (12:34 +0200)]
MLK-13890 ARM: dts: imx6ul-14x14-evk: remove a few pins from hoggrp-1
They belong in the usdhc1 group, where they were already present and
which causes the usdhc1 device to fail probe:
[ 1.484978] imx6ul-pinctrl
20e0000.iomuxc: pin MX6UL_PAD_UART1_RTS_B already requested by
20e0000.iomuxc; cannot claim for
2190000.usdhc
[ 1.496166] imx6ul-pinctrl
20e0000.iomuxc: pin-36 (
2190000.usdhc) status -22
[ 1.501959] imx6ul-pinctrl
20e0000.iomuxc: could not request pin 36 (MX6UL_PAD_UART1_RTS_B) from group usdhc1grp on device
20e0000.iomuxc
[ 1.513186] sdhci-esdhc-imx
2190000.usdhc: Error applying setting, reverse things back
Note that out internal commit
cf65c8d ("MLK-11300-02 ARM: dts: imx:
add imx6ul board dts support") is similar with the upstream commit
a5fcccb ("ARM: dts: imx: add imx6ul and imx6ul evk board support") but
since it has more nodes defined we had to integrate parts of it
nonetheless.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Wed, 8 Feb 2017 13:24:56 +0000 (15:24 +0200)]
MLK-13892-2: ARM: dts: imx7d: update caam clock names
Upstream commit
24821c4 ("crypto: caam - Enable and disable clocks on
Freescale i.MX platforms") added the imx caam clock support with
different names then what we used internally. Update the dts names to
sync with upstream.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Tue, 7 Feb 2017 16:15:52 +0000 (18:15 +0200)]
MLK-13892-1: ARM: dts: imx6ul: update caam clock names
Upstream commit
24821c4 ("crypto: caam - Enable and disable clocks on
Freescale i.MX platforms") added the imx caam clock support with
different names then what we used internally. Update the dts names to
sync with upstream.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Tue, 7 Feb 2017 15:53:20 +0000 (17:53 +0200)]
MLK-13863: ARM: imx: reserve ocram space for low power mode
This patches adds two new device nodes and carves out space used by
the low power mode code.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Octavian Purdila [Fri, 3 Feb 2017 14:42:04 +0000 (16:42 +0200)]
MLK-13860: ARM: dts: imx6qp-sabresd: add lvd-channel info to ldb
Also, enable the mxcfb* entries.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Irina Tirdea [Mon, 6 Feb 2017 09:40:35 +0000 (11:40 +0200)]
MLK-13856 ARM: imx: gpc: Do not print error message for EPROBE_DEFER
The pu regulator request will return -EPROBE_DEFER if it has a supply
from PMIC and this supply is not yet registered. This does not represent
an error since the driver will call probe again later, so only print a
warning message in this case.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Octavian Purdila [Fri, 3 Feb 2017 13:41:08 +0000 (15:41 +0200)]
MLK-13859: video: mxc: mipi dsi: don't print errors on EPROBE_DEFER
The device may fail to reset with EPROBE_DEFER because of the
initialization order between the mipi and the mipi gpio reset
drivers. This is not an error, since the probe will be later retried
and eventually will succeed.
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Irina Tirdea [Tue, 31 Jan 2017 15:09:09 +0000 (17:09 +0200)]
MLK-13793-5 ARM: dts: imx6qdl-sabresd: Remove duplicate supply sources for cpu0
Regulator supplies for cpu0 are already defined in imx6q.dtsi/imx6dl.dtsi
as reg_arm, reg_pu, reg_soc. The same supplies are also defined in
imx6qdl-sabresd.dtsi (by connecting the CPU directly to PMIC and skipping
the SoC LDOs).
Keep the correct supplies from imx6q.dtsi/imx6dl.dtsi and remove the duplicate
ones.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Irina Tirdea [Fri, 27 Jan 2017 15:16:39 +0000 (17:16 +0200)]
MLK-13793-4 ARM: dts: imx6qdl-sabresd: Add supplies for the SoC internal regulators
The following errors are shown at boot:
vddarm: bypassed regulator has no supply!
vddarm: failed to get the current voltage(-517)
anatop_regulator
20c8000.anatop:regulator-vddcore: failed to register vddarm
vddsoc: bypassed regulator has no supply!
vddsoc: failed to get the current voltage(-517)
anatop_regulator
20c8000.anatop:regulator-vddsoc: failed to register vddsoc
vddpu: bypassed regulator has no supply!
The SoC internal regulators come from the Freescale PFUZE100 PMIC:
- SW1AB is connected through VDDARM_IN to LDO_ARM (vddarm)
- SW1C is connected through VDDSOC_IN to LDO_PU (vddpu) and LDO_SOC (vddsoc)
Add this relationship to the device tree so these regulators have a supply
specified and can be registered properly.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Irina Tirdea [Thu, 2 Feb 2017 11:08:30 +0000 (13:08 +0200)]
MLK-13793-3 regulator: anatop: Fix enable for vddpu with LDO bypass
Enabling the vddpu regulator at boot has no efect, since the enable call in
anatop will set it to power gated off. This leads to a hang in the VPU driver
if cpufreq does not get initialized before.
The anatop on i.MX6 requires that vddpu uses the same voltage level as vddsoc.
When it is initialized, vddsoc will have a default selector of 0
(Power gated off), but will use LDO_FET_FULL_ON since it is in bypass mode.
However, the local value saved for the vddsoc selector will remain 0.
When vddpu is enabled, it will use the local selector 0 from vddsoc and
will remain disabled.
Take into consideration the bypass mode when using the vddsoc selector for
vddpu.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Irina Tirdea [Thu, 2 Feb 2017 13:35:48 +0000 (15:35 +0200)]
MLK-13793-2 regulator: anatop: Do not print error message for EPROBE_DEFER
An anatop regulator will return -EPROBE_DEFER when trying to register,
if it has a supply from PMIC and this supply is not yet registered.
This does not represent an error since the driver will call probe again later,
so skip the error message in this case.
Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>