Richard Zhu [Mon, 14 Sep 2015 07:47:23 +0000 (15:47 +0800)]
MLK-11561-1 ARM: imx: enable pcie on imx6sx platforms
enable pcie support on imx6sx platforms.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Richard Zhu [Fri, 13 Mar 2015 08:24:11 +0000 (16:24 +0800)]
MLK-10466-2 ARM: imx: add the pcie related macros definitions
add the pcie related macros definitions into gpr.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
(cherry picked from commit
b4a5b2e53b2e743824d0af7428f7d9d406bec8bd)
Richard Zhu [Thu, 25 Dec 2014 06:30:38 +0000 (14:30 +0800)]
MLK-10058-3 arm: gpc: add pcie phy power gpc operations
For PCIe module on i.mx6sx, some GPC operations would
be mandatory required when PCIe PHY is powered on/off.
So we need update gpc driver for the new requirements.
We implement it by regulator notify framwork in gpc driver.
NOTE:
make sure gpc driver is ready before PCIe driver is probed.
Otherwise, cause system hang during PCIe driver probe,
because the notify NOT installed ready and the gpc will
NOT power on PCIe.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
(cherry picked from commit
2a7df81caf4c63044739f974e5ce3766412dccb2)
Richard Zhu [Thu, 16 Oct 2014 06:54:40 +0000 (14:54 +0800)]
MLK-10009-2 ARM: imx6sx: Add imx6sx pcie related gpr bits definitions
Add imx6sx pcie related gpr bits definitions.
Signed-off-by: Richard Zhu <richard.zhu@freescale.com>
(cherry picked from commit
991fb25d62e3e2f550f98732f5bc00eeb98f78e3)
Bai Ping [Tue, 22 Sep 2015 13:46:59 +0000 (21:46 +0800)]
MLK-11600 thermal: imx: notify thermal driver in low_bus_freq_mode
As thermal sensor alarm function needs PLL3 to be always on, but low power
idle needs all PLLs to be off, they are exclusive. Low power idle is only enabled
when system staying at low bus mode which means the overall system power consumption
is NOT high, thermal alarm function can be disabled in this mode to allow low power
idle to be entered, and thermal sensor will still use polling mechanism to monitor
the system temperature. Add busfreq notify to achieve this goal.
(this patch is copied from commit
dd3d1e6c6ff0)
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Wed, 15 Oct 2014 01:04:02 +0000 (09:04 +0800)]
MLK-9693 cpufreq: imx: increase cpufreq during suspend/resume
During suspend/ressume, when cpufreq driver try to increase
Voltage/freq, it needs to control I2C/SPI to communicate with
external PMIC to adjust voltage, but these I2C/SPI devices may
be already suspended, to avoid such scenario, we adjust increase
cpufreq to highest setpoint before suspend.
As this pm notification's updating cpu policy may work together
with cpufreq governor, both of them may call set_target at same
time, so we need to add mutex lock to prevent this scenario,
otherwise, the clock use count will be wrong.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
9f5158fd0fd6e11e2f69cf975d3843cf6cc84048)
Bai Ping [Sat, 28 Feb 2015 11:19:56 +0000 (19:19 +0800)]
MLK-10271 cpufreq: imx6: improve busfreq operation when wehn setpoint lower than 396MHz
for i.MX6SX, according to the latest datasheet, added a 198MHz setpoint in cpufreq driver.
The 198MHz setpoint is NOT enough to support playing mp3,the system will stay at a higher
setpoint and high_bus_mode. So when having a setpoint lower than 396MHz, make sure when
the cpufreq is at 396MHz or lower, the busfreq is always in low_bus_mode to save more power.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
3ba9548200ffb2c85111dd84946046ae0c7b09c4)
Bai Ping [Fri, 31 Oct 2014 08:28:03 +0000 (16:28 +0800)]
MLK-9777 cpufreq: imx6: fix the high bus count mismatch
Normally, the system is booting up with higher cpufreq. In the
cpufreq set_target_index we will release the high bus mode if
the target cpu frequency is the lowest. It will release the high
bus mode and dcrease the high_bus_count.This will lead to a wrong
release of high bus mode. So, in the cpufreq_init function, if the
original frequency is not the lowest, we need request high busfreq.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
7df8887a6ddac148d33cd583da31ec72d0ba07da)
Bai Ping [Fri, 24 Oct 2014 08:13:51 +0000 (16:13 +0800)]
MLK-9739 cpufreq: imx: add request busfreq support for cpufreq
Request high bus frequency before scaling up the CPU frequency
and release high bus frequency after scaling down the CPU frequency
Doing so makes a balance between high performance and lower power
consumption.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
35c91da2591a70858d5eec184c662851e39082d2)
Sandor Yu [Mon, 21 Sep 2015 09:34:34 +0000 (17:34 +0800)]
MLK-11508-5: dts: Add imx v4l2 capture driver
Add imx v4l2 capture driver.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Mon, 31 Aug 2015 10:15:43 +0000 (18:15 +0800)]
MLK-11508-4: V4L2 Capture: Porting MXC V4L2 Capture from 3.14.y
Initial port of the mxc V4L2 capture driver.
Baseline copied from imx_3.14.y branch:
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Tue, 22 Sep 2015 10:10:32 +0000 (18:10 +0800)]
MLK-11508-3: imx6qdl: add csi mux setting
Add CSI mux setting
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Fri, 29 May 2015 09:07:04 +0000 (17:07 +0800)]
MLK-11508-2 v4l2: Add v4l2_async_notifier_unregister recursively call
If anyone calls v4l2_async_notifier_unregister() recursively from
device_release_driver(), code will deadlock at list_lock, so unlock
list_lock when device_release_driver() called.
Signed-off-by: Sandor Yu <R01008@freescale.com>
(cherry picked from commit
f0b54df4d1b58f8f6608e1b08a80a5acb8cc12ea)
Sandor Yu [Tue, 1 Sep 2015 07:15:48 +0000 (15:15 +0800)]
MLK-11508-1: Revert "[media] v4l2-core: remove the old .ioctl BKL replacement"
This reverts commit
5cf6f7f327c95f09be859889be39e78950516556.
Fancy Fang [Wed, 23 Sep 2015 08:49:12 +0000 (16:49 +0800)]
MLK-11608 video: mxsfb: add parameter equal bypass count
This parameter bypass count is used to make sure the mipi
dsi be initialized correctly without any display error.
In the mipi dsi initialization, it requires the first
two parameter setting operations should be done really.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit
969122c2f4363dee4cf489b87984c4d85dcd89ce)
Conflicts:
drivers/video/mxsfb.c
Robin Gong [Tue, 22 Sep 2015 08:24:13 +0000 (16:24 +0800)]
MLK-11407-9: ARM: dts: imx6: add ldo-enable dts files
add ldo-enable dts files.
Signed-off-by: Robin Gong <b38343@freescale.com>
Robin Gong [Tue, 22 Sep 2015 07:48:26 +0000 (15:48 +0800)]
MLK-11407-8: ARM: dts: i.mx6sx/i.mx6ul: add ldo-bypass support
add ldo-bypass support for i.mx6sx/i.mx6ul boards, remove deprecated wdog reset
way, such as 'fsl,wdog-reset = <1>', and implement it in wdog driver.
Signed-off-by: Robin Gong <b38343@freescale.com>
Robin Gong [Wed, 21 Jan 2015 04:57:47 +0000 (12:57 +0800)]
MLK-10123: cpufreq: imx6q-cpufreq: initialize local variable 'i'
Initialize local variable 'i' to 0, otherwise may fall into wrong
code path. The issue come with commit
757ff4b89.
Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit
186f722c260279e21e05e4b13c9cc4d8348ae370)
Robin Gong [Sun, 4 Jan 2015 08:56:11 +0000 (16:56 +0800)]
MLK-10073-3 cpufreq: imx6q-cpufreq: add arm-soc-shared property
Pfuze200 only provide one power supply for VDDARM_IN and VDDSOC_IN,
for ldo-bypass mode, we have to pretend they are different regulators
otherwise regulator famework will refuse update voltage.
Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit
1b41ab90288b2accd710f8852c11753007749e4a)
Robin Gong [Tue, 22 Sep 2015 07:11:56 +0000 (15:11 +0800)]
MLK-11407-7: ARM: dts: imx7d-sdb: move WDOG_B setting into wdog drivr
enable 'fsl,wdog_b' and move pinctrl setting from hog into watchdog driver
device node.
Signed-off-by: Robin Gong <b38343@freescale.com>
Robin Gong [Tue, 22 Sep 2015 06:36:51 +0000 (14:36 +0800)]
MLK-11407-5: ARM: dts: imx6qdl-sabresd: add WDOG_B reset
On imx6qdl-sabresd board we use WDOG2 as WDOG_B reset source. So use WDOG2
instead of WDOG1.
Signed-off-by: Robin Gong <b38343@freescale.com>
Robin Gong [Tue, 22 Sep 2015 06:31:59 +0000 (14:31 +0800)]
MLK-11407-4: watchdog: imx2_wdt: add WDOG_B reboot trigger
Most of i.mx6 and i.mx7 board need to support WDOG_B reboot to workaroud some
issues such as ldo-bypass, QSPI-NOR boot issue. Please enable 'fsl,wdog_b'
property if you want to use WDOG_B reboot(trigger PMIC reboot).
Signed-off-by: Robin Gong <b38343@freescale.com>
Shawn Guo [Mon, 16 Jun 2014 06:11:51 +0000 (14:11 +0800)]
MLK-11407-3: regulator: anatop: force vddpu to use same voltage level as vddsoc
This patch cherry-pick from below:
"ENGR00317981: regulator: anatop: force vddpu to use same voltage level as vddsoc"
The anatop on i.MX6 requires that vddpu use the same voltage level as
vddsoc. It's a quick hacking to force the check whenever vddpu is
about to be enabled.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit
ab0c52e019cacc89aec3dbb104360b4715d49796)
Conflicts:
drivers/regulator/anatop-regulator.c
Robin Gong [Tue, 25 Aug 2015 05:56:28 +0000 (13:56 +0800)]
MLK-11407-2: ARM: dts: imx6qdl/sl: add ldo bypass support
add ldo bypass support on i.mx6q/dl and i.mx6sl.
Signed-off-by: Robin Gong <b38343@freescale.com>
Robin Gong [Tue, 25 Aug 2015 05:16:13 +0000 (13:16 +0800)]
MLK-11407-1 ARM: imx: gpc: enable PU bypass
enable PU bypass support on i.mx6 family.
Signed-off-by: Robin Gong <b38343@freescale.com>
Anson Huang [Mon, 31 Aug 2015 17:13:59 +0000 (01:13 +0800)]
MLK-11461-2 ARM: dts: imx6ul: add LDO enable dtb for 9x9 evk board
Add LDO enable dtb for i.MX66UL-9x9-EVK board for those customers
who want to use ldo enable mode.
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
7e6c509e6ca1c4e83f72339f5bfb1ebb410d77ef)
Anson Huang [Mon, 31 Aug 2015 17:04:14 +0000 (01:04 +0800)]
MLK-11461-1 ARM: dts: imx6ul: add LDO bypass support for 9x9 EVK
i.MX6UL-9x9-EVK board has PFUZE3000, enable LDO bypass support.
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
5118bf0b755a0b4fbd1f2999f3aa023208c8de82)
Anson Huang [Mon, 17 Aug 2015 12:53:38 +0000 (20:53 +0800)]
MLK-11366-2 ARM: imx: add suspend/resume support for imx6ul lpddr2
This patch adds suspend/resume with Mega/Fast mix off
support for i.MX6UL-9x9-LPDDR2-EVK board, LPDDR2 has
different MMDC restore flow compared to DDR3.
Conflicts:
arch/arm/mach-imx/pm-imx6.c
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
d5d3915aac04c2a80827d215d703e0f46309ed14)
Anson Huang [Mon, 17 Aug 2015 14:09:16 +0000 (22:09 +0800)]
MLK-11366-1 ARM: dts: imx6ul: add 9x9-lpddr2-evk board
Add i.MX6UL-9x9-LPDDR2-EVK board support.
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
d68759b1d9d769c83816d327fbeb1d85762a8e79)
Shawn Xiao [Tue, 22 Sep 2015 08:41:11 +0000 (16:41 +0800)]
MGS-955-3 GPU module integration
Fixed wrong symbols of GPU in mxc/Makefile.
Date Sep 22, 2015
Signed-off-by: Shawn Xiao <b49994@freescale.com>
Fancy Fang [Mon, 21 Sep 2015 07:37:08 +0000 (15:37 +0800)]
MLK-11594 video: mxsfb: correct the pm runtime logic
The pm power's usage_count should be first added by
one before putting it into suspend state. Otherwise
the usage_count will be negative and the power cannot
be put into suspend state correctly.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit
a48460b41399112f5d3ae03b30e3f9e885346ff7)
Conflicts:
drivers/video/mxsfb.c
Bai Ping [Mon, 14 Sep 2015 10:30:43 +0000 (18:30 +0800)]
MLK-11537 ARM: dts: add setpoint setting for imx6ul-14x14-lpddr2-arm board
On i.MX6UL, the VDD_ARM_IN and VDD_SOC_IN use the same power rail
VDD_ARM_SOC_IN. For imx6ul-14x14-lpddr2-arm2 board, default, we use
ldo-bypass mode and use the external PMIC regulator for cpufreq.so
on this board, should use the setpoint of ldo-bypass mode.
Signed-off-by: Bai Ping <b51503@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit
d924e23fa60023bdbc601797ccda30c2c341a34a)
Peng Fan [Tue, 7 Jul 2015 11:48:37 +0000 (19:48 +0800)]
MLK-11221 imx: mx6ul add 14x14 lpddr2 arm2 dts
Add dts for mx6ul-14x14-lpddr2-arm2 board.
Basic function tested: SD1/EMMC2/ENET/UART1 is ok.
This patch takes mx6ul-14x14-ddr3-arm2.dts as a reference.
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
(cherry picked from commit
8d10e92ed1b7d49332dec6f28c98250c28cdfa3f)
Haibo Chen [Wed, 2 Sep 2015 09:51:39 +0000 (17:51 +0800)]
MLK-11595-2 ARM: dts: imx7d-12x12-lpddr3-arm2: add hs400 support for usdhc3
Add hs400 support for usdhc3 and add sd3.0 support for usdhc2.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Haibo Chen [Mon, 21 Sep 2015 03:21:29 +0000 (11:21 +0800)]
MLK-11593-3 ARM: dts: imx6ul.dtsi: remove redundancy touch screen
Currently we only use 'tsc' for touch screen, so here remove
the redundancy 'touchctrl'.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Haibo Chen [Mon, 21 Sep 2015 03:05:18 +0000 (11:05 +0800)]
MLK-11593-1 ARM: config: add imx6ul touch screen support
Add imx6ul touch screen driver support in imx_v7_defconfig
and imx_v7_mfg_defconfig
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Haibo Chen [Wed, 16 Sep 2015 03:19:42 +0000 (11:19 +0800)]
MLK-11500-1 ARM: dts: imx7d-sdb: add sd3.0 and hs400 support
Add usdhc1 support for SD3.0 and add usdhc3 support for HS400 mode.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Fancy Fang [Tue, 15 Sep 2015 08:47:50 +0000 (16:47 +0800)]
MLK-11514 [MX6SX] No GUI show and the display is blank after bootup to x rootfs with LVDS.100%.
The reason for this issue is that, on imx6sx platform, there is a display mix
to control the display modules(including lcdif) power on/off. When the fb
driver calls the 'pm_runtime_put_sync_suspend()', the display mix will be
powered down. And at this moment, all the register settings for lcdif always
have no effects. So the pm_runtime calling points in mxsfb driver should be
optimized to avoid this kind of cases.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit
3b85eb989c89fb1c6d08215e435d72ab175e4e1e)
Conflicts:
drivers/video/mxsfb.c
Song Bing [Tue, 15 Sep 2015 06:19:02 +0000 (14:19 +0800)]
MLK-11542 media: mxc vout: reset video output count to zero when streamon
As streamoff/streamon will reset all buffer list, video output count should
be reset to zero. Or timer will get wrong schedule time if input buffer time
stamp is 0.
Signed-off-by: Song Bing b06498@freescale.com
Sandor Yu [Tue, 8 Sep 2015 08:38:02 +0000 (16:38 +0800)]
MLK-11519-02: arm: dts: Enable ipu output driver
Add IPU v4l2 output driver.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Tue, 8 Sep 2015 07:54:21 +0000 (15:54 +0800)]
MLK-11519-1 media: forward mxc video output drivers to 4.1 kernel
Forward imx_3.14.y mxc video output drivers to 4.1 kernel.
The priv field of v4l2_pix_format is used to expand colorspace,
and can not use to pass IPU input crop size.
Add private IOCTL VIDIOC_S_INPUT_CROP and VIDIOC_G_INPUT_CROP
to pass input crop size.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Richard Zhu [Tue, 1 Sep 2015 06:29:55 +0000 (14:29 +0800)]
MLK-11484-6 pci: imx: enable pcie ep rc msi test
Regarding to the limitation of the iMX ADAP(pcie connector),
only imx7d 12x12 arm2 board is used to verify the pcie
ep/rc validation system on imx7d platforms
Enalbe the msi pcie ep rc on it.
Test howto:
- Enable CONFIG_PCI_MSI=y, when rebuild the rc/ep images
- EP side(console command and kernel message):
root@imx6sxsabresd:~# ./memtool -32 <msi_addr>=0
Writing 32-bit value 0x0 to address <msi_addr>
- RC side(console command and kernel message):
root@imx6sxsabresd:~# cat /proc/interrupts | grep MSI
384: 1 PCI-MSI
Note:
imx6q msi_addr 0x01ff_8000
imx6sx msi_addr 0x08ff_8000
imx7d msi_addr 0x4ffc_0000
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Richard Zhu [Tue, 1 Sep 2015 02:11:09 +0000 (10:11 +0800)]
MLK-11484-5 pci: imx: enable pcie ep rc system on imx7d
Regarding to the limitation of the iMX ADAP(pcie connector),
only imx7d 12x12 arm2 board is used to verify the pcie
ep/rc validation system on imx7d platforms
hw setup:
* two imx boards, one is used as pcie rc, the other is used
as pcie ep. Connected by fsl pcie adap adaptor.
sw setup:
* when build rc image, make sure that
CONFIG_IMX_PCIE=y
# CONFIG_EP_MODE_IN_EP_RC_SYS is not set
CONFIG_RC_MODE_IN_EP_RC_SYS=y
* when build ep image
CONFIG_IMX_PCIE=y
CONFIG_EP_MODE_IN_EP_RC_SYS=y
# CONFIG_RC_MODE_IN_EP_RC_SYS is not set
features:
* set-up link between rc and ep by their stand-alone
ref clk running internally.
* in ep's system, ep can access the reserved ddr memory
(default address:0x4000_0000 on imx6q sd board, and
0xb000_0000 on imx6sx sdb and imx7d arm2 boards) of
pcie rc's system, by the interconnection between pcie
ep and pcie rc.
* add the configuration methods in the ep side, used to
configure the start address and the size of the reserved
rc's memory window.
- cat /sys/devices/soc0/soc.1/
1ffc000.pcie/rc_memw_info
- echo 0x41000000 > /sys/devices/soc0/soc.1/
1ffc000.pcie/rc_memw_start_set
- echo 0x200000 > /sys/devices/soc0/soc.1/
1ffc000.pcie/rc_memw_size_set
* provide one example, howto configure the bar# and so on,
when pcie ep emaluates one memory ram ep device
* setup one new outbound memory region at rc side, used
to let imx pcie rc can access the memory of imx pcie ep
in imx pcie rc ep validation system.
- set the default address of the ddr memory to be 0x4000_0000
on imxq sd board, and 0xb000_0000 on imx6sx sdb and imx7d
arm2 boards.
NOTE:
* boot up ep platform firstly, then boot up rc platform.
* make sure that mem=768M is contained in the kernel command line,
since the start address of the upper 256mb of the 1g ddr mem is
reserved to do the pcie ep rc access operations in default.
Test howto of the RC access memory of EP on imx6q sd platforms.
step1:
EP side:
1.1:
echo <768M_DDR_MEM_ADDR> > /sys/devices/.../pcie/ep_bar0_addr
1.2:
memtool -32 <768M_DDR_MEM_ADDR> 4
E
Reading 0x4 count starting at address 0x40000000
<768M_DDR_MEM_ADDR>:
6FE9E9F6 7583FBB9 39EAEFEA FBDCFD78
step2:
RC side:
memtool -32 <PCI_BASE_ADDR> =
58D454DA
memtool -32 <PCI_BASE_ADDR + 4> =
7332095B
step3:
EP side:
memtool -32 <768M_DDR_MEM_ADDR> 4
E
Reading 0x4 count starting at address 0x40000000
<768M_DDR_MEM_ADDR>:
58D454DA 7332095B 39EAEFEA FBDCFD78
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Richard Zhu [Fri, 21 Aug 2015 05:30:27 +0000 (13:30 +0800)]
MLK-11484-4 PCI: imx: enable imx7d pcie support
- enable pcie functions on imx7d platforms
- grst/brst should be asserted/de-asserted during resume,
since the pcie power would be cut off automatically by HW
during system suspend/resume
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Richard Zhu [Fri, 26 Sep 2014 08:54:02 +0000 (16:54 +0800)]
MLK-11484-3 PCI: designware: Refine setup_rc and add msi data restore
- move "program correct class for RC" from dw_pcie_host_init()
to dw_pcie_setup_rc(). since this is RC setup, it's
better to contained in dw_pcie_setup_rc function.
Then, RC can be re-setup really by dw_pcie_setup_rc().
- add one store/re-store msi cfg functions. Because that
pcie controller maybe powered off during system suspend,
and the msi data configuration would be lost.
these functions can be used to store/restore the msi data
and msi_enable during the suspend/resume callback.
Signed-off-by: Richard Zhu <richard.zhu@freescale.com>
Richard Zhu [Thu, 20 Aug 2015 08:27:54 +0000 (16:27 +0800)]
MLK-11484-2 ARM: imx: add imx7d pcie pwr clk operations
- For PCIe module on i.mx7d, some GPC operations would
be mandatory required when PCIe PHY is powered on/off.
So we need update gpc driver for the new requirements.
We implement it by regulator notify framwork in gpcv2
driver.
NOTE:
make sure gpc driver is ready before PCIe driver is probed.
Otherwise, cause system hang during PCIe driver probe,
because the notify NOT installed ready and the gpc will
NOT power on PCIe.
- config the imx7d pcie
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Richard Zhu [Tue, 1 Sep 2015 08:33:13 +0000 (16:33 +0800)]
MLK-11484-1 ARM: imx: enable pcie on imx7d platforms
enable pcie support on imx7d platforms.
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
Frank Li [Fri, 11 Sep 2015 13:40:07 +0000 (21:40 +0800)]
MLK-11535 mfg_defconfig: enlarge mmc block number
default is 8. android require more.
Change to 16.
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Frank Li [Mon, 14 Sep 2015 13:33:29 +0000 (21:33 +0800)]
MLK-11546 fix build error when use imx_v7_mfg_defconfig
arch/arm/mach-imx/built-in.o: In function `clk_pllv3_do_shared_clks':
:(.text+0xed8): undefined reference to `imx_sema4_mutex_lock'
:(.text+0xf04): undefined reference to `imx_sema4_mutex_unlock'
arch/arm/mach-imx/built-in.o: In function `clk_gate2_do_shared_clks':
:(.text+0x1208): undefined reference to `imx_sema4_mutex_lock'
:(.text+0x1234): undefined reference to `imx_sema4_mutex_unlock'
arch/arm/mach-imx/built-in.o: In function `clk_pfd_do_shared_clks':
:(.text+0x15f4): undefined reference to `imx_sema4_mutex_lock'
:(.text+0x1620): undefined reference to `imx_sema4_mutex_unlock'
arch/arm/mach-imx/built-in.o: In function `imx_amp_power_init':
:(.init.text+0x10d50): undefined reference to `imx_sema4_mutex_create'
drivers/built-in.o: In function `mxcfb_unregister':
:(.text+0x20e70): undefined reference to `ipu_free_irq'
:(.text+0x20e94): undefined reference to `ipu_free_irq'
:(.text+0x20eac): undefined reference to `ipu_free_irq'
drivers/built-in.o: In function `fbi_to_pixfmt':
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Oliver Brown [Tue, 30 Sep 2014 14:12:46 +0000 (09:12 -0500)]
MLK-9662 [V4L2 Capture] Revert patch to re-add support for _G_CHIP_IDENT
This reverts commit
b71c99801e18eb172ae34851daf25044a3bf644a.
Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
(cherry picked from commit
5c74966c0e7deb0ac84b3fa8a84c6c942e7d434f)
Conflicts:
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
include/media/v4l2-subdev.h
Shawn Xiao [Wed, 26 Aug 2015 07:29:26 +0000 (15:29 +0800)]
MGS-955 GPU:Integrate GPU module
1. Upstream 5.0.11p7 driver to kernel
2. Add the GPU configuration to imx6q.dtsi
3. Remove IRQF_DISABLED in GPU driver
The IRQF_DISABLED has been removed from 4.1.0 kernel. To accomodate with
the change, add version check logic and use 0x0 instead of IRQF_DISABLED
from 4.1.0 kernel on.
4. Convert file->f_dentry->d_inode to file_inode() in GPU driver
The file struct has changed since 3.19. Changed the usage in GPU driver
too.
5. Add version check for CONFIG_PM_RUNTIME
The CONFIG_PM_RUNTIME will never be used in 4.1.0 kernel. Add version
check to avoid calling it in GPU driver.
Signed-off-by: Shawn Xiao <b49994@freescale.com>
Peter Chen [Wed, 9 Sep 2015 04:58:47 +0000 (12:58 +0800)]
MLK-11527 ARM: imx: gpcv2: using irq number wrongly
We should use hwirq instead of logic number at gpc driver, otherwise,
it may override other global memory due to write out of boundary
for array, eg: below oops may kernel at imx7d sdb board during suspend/
resume test:
INFO: rcu_preempt detected stalls on CPUs/tasks:
1: (2 GPs behind) idle=b25/
140000000000000/0 softirq=1951/1957 fqs=0
(detected by 0, t=2102 jiffies, g=847, c=846, q=4)
Task dump for CPU 1:
swapper/1 R running 6088 0 1 0x00000000
[<
8089f4e4>] (__schedule) from [<
8089f908>] (schedule+0x4c/0xa4)
[<
8089f908>] (schedule) from [<
80011514>] (arch_cpu_idle_dead+0x18/0x1c)
[<
80011514>] (arch_cpu_idle_dead) from [<
8006e3d8>] (cpu_startup_entry+0x2e0/0x450)
[<
8006e3d8>] (cpu_startup_entry) from [<
80017200>] (secondary_start_kernel+0x13c/0x15c)
[<
80017200>] (secondary_start_kernel) from [<
800095ac>] (__enable_mmu+0x0/0x14)
rcu_preempt kthread starved for 2102 jiffies!
NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [rtcwakeup.out:735]
Modules linked in: evbug
CPU: 0 PID: 735 Comm: rtcwakeup.out Tainted: G W
4.1.4-00701-g32bb3ba-dirty #370
Hardware name: Freescale i.MX7 Dual (Device Tree)
task:
a8920a00 ti:
a99bc000 task.ti:
a99bc000
PC is at _raw_spin_lock+0x4c/0x60
LR is at get_parent_ip+0x14/0x30
pc : [<
808a2e74>] lr : [<
8005c080>] psr:
80000013
sp :
a99bdcd8 ip :
a99bdca8 fp :
a99bdcec
r10:
80d4455c r9 :
00008070 r8 :
00000010
r7 :
00000000 r6 :
00000000 r5 :
00000001 r4 :
80e09934
r3 :
00000001 r2 :
00000000 r1 :
00000000 r0 :
00000000
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control:
10c5387d Table:
a9f0006a DAC:
00000015
CPU: 0 PID: 735 Comm: rtcwakeup.out Tainted: G W
4.1.4-00701-g32bb3ba-dirty #370
Hardware name: Freescale i.MX7 Dual (Device Tree)
[<
80019258>] (unwind_backtrace) from [<
80014948>] (show_stack+0x20/0x24)
[<
80014948>] (show_stack) from [<
8089b490>] (dump_stack+0x8c/0xcc)
[<
8089b490>] (dump_stack) from [<
80011714>] (show_regs+0x1c/0x20)
[<
80011714>] (show_regs) from [<
800af83c>] (watchdog_timer_fn+0x290/0x2fc)
[<
800af83c>] (watchdog_timer_fn) from [<
8008c0a8>] (__run_hrtimer+0x90/0x294)
[<
8008c0a8>] (__run_hrtimer) from [<
8008cd94>] (hrtimer_interrupt+0x11c/0x2ac)
[<
8008cd94>] (hrtimer_interrupt) from [<
80618a4c>] (arch_timer_handler_phys+0x40/0x48)
[<
80618a4c>] (arch_timer_handler_phys) from [<
8007ca24>] (handle_percpu_devid_irq+0xac/0x1d0)
[<
8007ca24>] (handle_percpu_devid_irq) from [<
80078334>] (generic_handle_irq+0x3c/0x4c)
[<
80078334>] (generic_handle_irq) from [<
80078660>] (__handle_domain_irq+0x8c/0xfc)
[<
80078660>] (__handle_domain_irq) from [<
800094e4>] (gic_handle_irq+0x34/0x6c)
[<
800094e4>] (gic_handle_irq) from [<
80015500>] (__irq_svc+0x40/0x74)
Exception stack(0xa99bdc90 to 0xa99bdcd8)
dc80:
00000000 00000000 00000000 00000001
dca0:
80e09934 00000001 00000000 00000000 00000010 00008070 80d4455c a99bdcec
dcc0:
a99bdca8 a99bdcd8 8005c080 808a2e74 80000013 ffffffff
[<
80015500>] (__irq_svc) from [<
808a2e74>] (_raw_spin_lock+0x4c/0x60)
[<
808a2e74>] (_raw_spin_lock) from [<
8002ac14>] (imx_enable_cpu+0x34/0xc8)
[<
8002ac14>] (imx_enable_cpu) from [<
8002b548>] (imx_cpu_kill+0x60/0x94)
[<
8002b548>] (imx_cpu_kill) from [<
80017090>] (__cpu_die+0x60/0x94)
[<
80017090>] (__cpu_die) from [<
808959bc>] (_cpu_down+0x1e4/0x2fc)
[<
808959bc>] (_cpu_down) from [<
80036f7c>] (disable_nonboot_cpus+0xd0/0x264)
[<
80036f7c>] (disable_nonboot_cpus) from [<
80073984>] (suspend_devices_and_enter+0x344/0x910)
[<
80073984>] (suspend_devices_and_enter) from [<
8007433c>] (pm_suspend+0x3ec/0x6e4)
[<
8007433c>] (pm_suspend) from [<
80072754>] (state_store+0x7c/0xcc)
[<
80072754>] (state_store) from [<
803455e4>] (kobj_attr_store+0x1c/0x28)
[<
803455e4>] (kobj_attr_store) from [<
8019f670>] (sysfs_kf_write+0x54/0x58)
[<
8019f670>] (sysfs_kf_write) from [<
8019ea40>] (kernfs_fop_write+0xc8/0x1ac)
[<
8019ea40>] (kernfs_fop_write) from [<
8013285c>] (__vfs_write+0x34/0xe8)
[<
8013285c>] (__vfs_write) from [<
801330cc>] (vfs_write+0xa0/0x174)
[<
801330cc>] (vfs_write) from [<
80133970>] (SyS_write+0x54/0xb0)
[<
80133970>] (SyS_write) from [<
800108c0>] (ret_fast_syscall+0x0/0x3c)
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Shengjiu Wang [Fri, 31 Oct 2014 05:51:20 +0000 (13:51 +0800)]
MLK-9731 ASoC: imx-hdmi-dma: audio output is noisy in long time playback
In the frame_to_bytes(), when hw_ptr*frame_bits exceed the maxmum of unsigned
long, the return value is saturated, so the appl_bytes is wrong.
This patch is to correct the usage of frame_to_bytes().
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit
9e66132d9c96305b65aa5fa3ba8a35271a04ded9)
Zidan Wang [Fri, 11 Sep 2015 09:03:00 +0000 (17:03 +0800)]
MLK-11530-04 dmaengine: imx-sdma: add hdmi audio support
No need to alloc bd for hdmi audio, and the period len of hdmi audio is
0, so add constraint for it.
And correct per_address and per_address2 for hdmi audio.
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Fri, 11 Sep 2015 08:57:28 +0000 (16:57 +0800)]
MLK-11530-03 ARM: defconfig: enable hdmi audio sound card
enable hdmi audio sound card
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Fri, 11 Sep 2015 08:59:06 +0000 (16:59 +0800)]
MLK-11530-02 ARM: dts: correct hdmi peripheral type
correct hdmi peripheral type
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Shengjiu Wang [Wed, 27 Aug 2014 06:52:50 +0000 (14:52 +0800)]
MLK-11530-01 ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y
cherry-pick below patch from v3.14.y:
ENGR00330403-2: ASoC: fsl_hdmi: port hdmi audio driver from imx_3.10.y
Port HDMI audio driver (CPU driver, machine driver, platform driver) from
imx_3.10.y.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit
60996f868ed6ff68b45a39a0747df831e27571ba)
Robby Cai [Fri, 11 Sep 2015 08:17:27 +0000 (16:17 +0800)]
MLK-11534 uapi: Add mxc_mlb.h into Kbuild
export this for 'make headers_install'
Signed-off-by: Robby Cai <r63905@freescale.com>
Robby Cai [Fri, 11 Sep 2015 08:02:49 +0000 (16:02 +0800)]
MLK-11533 uapi: Add isl29023.h into Kbuild
export this for 'make headers_install'
Signed-off-by: Robby Cai <r63905@freescale.com>
Shengjiu Wang [Fri, 11 Sep 2015 09:03:20 +0000 (17:03 +0800)]
MLK-11532: include: uapi: Add mxc_asrc.h to Kbuild
Add mxc_asrc.h to Kbuild. otherwise this header is not installed by
"make headers_install INSTALL_HDR_PATH=XXX".
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Sandor Yu [Fri, 11 Sep 2015 08:33:30 +0000 (16:33 +0800)]
MLK-11531: uapi: Add v4l2 and dcic head file
Add v4l2 and dcic head file.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Zidan Wang [Tue, 8 Sep 2015 06:08:03 +0000 (14:08 +0800)]
MLK-11525 ARM: dts: add wm8962 headphone detect gpio for imx6sx-sdb board
add wm8962 headphone detect gpio for imx6sx-sdb board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:08:27 +0000 (17:08 +0800)]
MLK-11524 ARM: dts: add ssi<->wm8962 sound card support for imx6qdl-sabresd board
add ssi<->wm8962 sound card support for imx6qdl-sabresd board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:04:54 +0000 (17:04 +0800)]
MLK-11513-02 ARM: dts: add spdif sound card support for imx6sl-evk board
add spdif sound card support for imx6sl-evk board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Zidan Wang [Mon, 7 Sep 2015 09:03:40 +0000 (17:03 +0800)]
MLK-11513-01 ARM: dts: add ssi<->wm8962 sound card support for imx6sl-evk board
add ssi<->wm8962 sound card support for imx6sl-evk board
Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
Bai Ping [Tue, 8 Sep 2015 18:33:53 +0000 (02:33 +0800)]
MLK-11521 ARM: dts: fix a typo for clock name 'pll1_bypass_src'
Fix a typo for clock name 'pll1_bypass_src'.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Tue, 8 Sep 2015 16:57:09 +0000 (00:57 +0800)]
MLK-11518-05 ARM: defconfig: enable the device cooling
Enable the device cooling device in the defconfig.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Tue, 8 Sep 2015 15:55:03 +0000 (23:55 +0800)]
MLK-11518-03 thermal: imx enable devfreq cooling
Enable devfreq cooling to trigger GPU freq change when
hot trip is reached.
Make sure thermal driver loaded after cpufreq is loaded,
otherwise, cpu_cooling will not get valid cpufreq table,
hence cpu_cooling will be not working.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Mon, 7 Sep 2015 17:58:22 +0000 (01:58 +0800)]
MLK-11518-02 thermal: imx: add .get_trend callback fn in thermal driver
add .get_trend callback to determine the thermal raise/fall trend,
when the temp great than a threshold, drop to the lowest trend
(THERMAL_TREND_DROP_FULL).
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Mon, 7 Sep 2015 11:17:13 +0000 (19:17 +0800)]
MLK-11518-01 thermal: imx: add thermal support for imx7
This pacth re-write part of the code the support i.MX6 and i.MX7
in thermal driver. the TEMPMON module in i.MX6 and i.MX7 can provide
the same funtion, but has different register offset and bitfield define.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Fri, 30 Jan 2015 10:56:40 +0000 (18:56 +0800)]
MLK-10188 arm: imx: Add dummy LDO2p5 regulator for VBUS wakeup
LDO2p5 cannot be disabled in low power idle mode when the USB driver
enables VBUS wakeup. To identify when LDO2p5 can be disabled add a dummy
regulator that the USB driver will enable when VBUS wakeup is required.
This patch is copied from commit
7d849e4d9ebca3c as code the structure has
changed too many. directly cherry-pick has too many conflicts to resolve
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
25a42aeb8eeb0b894a70e1a0f6750ced39830a46)
Bai Ping [Sun, 6 Sep 2015 15:07:00 +0000 (23:07 +0800)]
MLK-11499 ARM: imx: add low power idle for imx6sl
Add low power idle support for i.MX6SL.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:23:24 +0000 (22:23 +0800)]
MLK-11495-03 ARM: imx: fix the ARM/IPG ratio when busfreq enabled
On i.MX6SL, we must make sure ARM:IPG clock ratio is within 12:5 when entering
wait mode. If the system is in low_bus_freq_mode, the IPG is at 12MHz
according the busfreq code. So the max rate of ARM is 28.8MHz when entering
wait mode. As there is no way run at this clk rate, so set ARM to run from
24MHz OSC.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:05:58 +0000 (22:05 +0800)]
MLK-11495-02 ARM: imx: add busfreq support for imx6sl
Add busfreq support for i.MX6SL SOC. we support three
busfreq mode (high_bus_freq_mode/low_bus_freq_mode and
audio_bus_freq_mode).
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Sun, 6 Sep 2015 14:03:16 +0000 (22:03 +0800)]
MLK-11495-01 ARM: dts: imx: add busfreq device node for imx6sl
Add busfreq device node for imx6sl.
Signed-off-by: Bai Ping <b51503@freescale.com>
Anson Huang [Thu, 16 Jul 2015 13:08:10 +0000 (21:08 +0800)]
MLK-11249-2 ARM: imx: add support for dynamic settings of gpc timing
On different platforms, the CPU power down/up timing may be
different because of different requirements or different
implementations in hardware, so we need to support dynamic
setting of these timing, board level dtb file will provide
these settings, and GPC driver need to read them and set them
to the hardware.
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
b0145b4e8556621cbe0d72e56cec5b04454db6c2)
Bai Ping [Thu, 27 Aug 2015 17:22:13 +0000 (01:22 +0800)]
MLK-11437-02 ARM: imx: change the pll1_sw/sys clks type on imx6
The 'PLL1_SYS' and 'PLL1_SW' clks are used by the cpufreq
driver to do dynamic frequency changing procedure.
The 'CLK_SET_PARENT_GATE' should not be set for 'PLL1_SW'
clk, this clock's prepare_count is not zero all the time.
change the clk type of 'PLL1_SYS' to fixed_factor. due to
the hardware limit, when changing the ARM_PODF. This clock's
output should not be gated.
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Thu, 27 Aug 2015 17:17:44 +0000 (01:17 +0800)]
MLK-11437-01 ARM: dts: imx: correct the clock info of cpu node
The pll1_bypass and pll1_bypass_src clock index in cpu node
should be IMX6SX_PLL1_BYPASS and IMX6SX_PLL1_BYPASS_SRC,
so correct this.
Signed-off-by: Bai Ping <b51503@freescale.com>
Anson Huang [Thu, 16 Jul 2015 13:11:28 +0000 (21:11 +0800)]
MLK-11249-3 ARM: imx: improve i.mx6ul's low power idle setting
For low power idle with ARM power gated, per hardware requirement,
there must be no interrupt coming during the power down
process of ARM core, so RBC counter is enabled to hold interrupts.
However, the previous setting of RBC counter is 1, which is ~30us,
but the hardware design recommend a ~90us is required during ARM
core power down, so we update the RBC counter value to 4(~120us) here.
Previous delay loop to make sure RBC is actually enabled, 3us is
needed, but the loop value assume ARM is running @1GHz, but actually
ARM is running @24MHz now, so we need to update the loop value
according to ARM speed.
The ARM power up timing is based on IPG / 2048, IPG is 1.5MHz during
low power idle, so the total latency of cpuidle exit should be
updated accordingly.
Signed-off-by: Anson Huang <b20788@freescale.com>
(cherry picked from commit
4e1fd49da5e87c5cc23f053692e8d7648a4d4b21)
Bai Ping [Tue, 7 Jul 2015 12:47:27 +0000 (20:47 +0800)]
MLK-11234 ARM: imx: add RC-OSC freq initialization on imx6ul
If in low power idle, we use the RC-OSC to reduce the power consumption,
the RC-OSC freq need to be adjusted, otherwise, the RC-OSC freq is not
very accurate. It may lead to system instability issue.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
8a93ab44e98bcc6611170734b829cd8d140dd722)
Bai Ping [Tue, 30 Jun 2015 17:19:14 +0000 (01:19 +0800)]
MLK-11204 ARM: imx: set int_mem_clk_lpm bit bit when entering wait mode on 6ul
This bit is used to keep the ARM Platform memory clocks enabled if
an interrupt is pending when entering low power mode. This bit should
always bet set when the CCM_CLPCR_LPM bits are set to 01(WAIT Mode) or
10 (STOP mode) without power gating.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
0272868641041c5a9eb1b3476660711bb5cd69e4)
Bai Ping [Wed, 3 Jun 2015 14:30:33 +0000 (22:30 +0800)]
MLK-11021-03 ARM: imx6: add low power idle support on imx6ul
Add the low power idle support on i.MX6UL. The ANATOP can enter low
power when all PLLs are powered down. If need entering low power idle
with LDO_2P5 and LDO_1P1 power down and other anatop module in low
power mode, add "uart_from_osc' on command line to make sure the UART
clk is from osc to let the PLL3 power down when entering low power idle.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
5215cba66938fd09f44e61b2c7b7ae0ef0629c2f)
Bai Ping [Wed, 26 Aug 2015 15:32:03 +0000 (23:32 +0800)]
MLK-11428 ARM: imx: enable busfreq support on imx6ul
Enable the busfreq support on i.MX6UL EVK board. The
busfreq support below 3 busfreq mode:
* high_bus_mode: MMDC<--> 400MHz
* audio_bus_mode: MMDC<--> 50MHz
* low_bus_mode: MMDC<--> 24MHz
Signed-off-by: Bai Ping <b51503@freescale.com>
Bai Ping [Wed, 17 Jun 2015 13:15:05 +0000 (21:15 +0800)]
MLK-11117-01 ARM: clk: imx6: adjust axi clock to 264MHz on imx6ul
According to the latest reference manual, the default AXI clock rate
should be 264MHz. Soucre AXI/AHB from pll2_bus to get the required
clock rate.
Signed-off-by: Bai Ping <b51503@freescale.com>
(cherry picked from commit
d7560da7baee7a14ecb33d51182bbdc485ee6d7d)
Shawn Guo [Mon, 15 Sep 2014 03:32:40 +0000 (11:32 +0800)]
MLK-11414-3 ARM: dts: imx: apply ENET IRQ workaround for sabresd board
Cherry-pick below patch:
ENGR00317981 ARM: dts: imx: apply ENET IRQ workaround for sabresd board
This a forward porting of commit (ENGR00313685-15 ARM: dts: imx: apply
ENET IRQ workaround for sabresd board) from imx_3.10.y to imx_3.14.y.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>
Shawn Guo [Wed, 27 Aug 2014 15:51:39 +0000 (23:51 +0800)]
MLK-11414-2: ARM: dts: add dumb dts for enetirq and ldo
Cherry-pick below patch:
ENGR00317981: ARM: dts: add dumb dts for enetirq and ldo
Add a couple of dumb dts files for enetirq and ldo cases, which are
asked by Yocto build for 3.14 kernel.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>
Richard Zhu [Tue, 18 Aug 2015 00:34:15 +0000 (08:34 +0800)]
MLK-11498 rpmsg: imx: tell remote process about the channel
send a message to our remote processor, and tell remote
processor about this channel
Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com>
(cherry picked from commit
2708c004a60c5b6da020803ee9291b83984d4a65)
Anson Huang [Tue, 8 Sep 2015 07:25:42 +0000 (15:25 +0800)]
MLK-11520 ARM: imx: enable axi clk in clk_init_on on i.mx6qdl
AXI clk should be always enabled, as many peripheral
devices need this clk to be on, especially for busfreq,
AXI podf change needs AXI clk and its parent on.
Signed-off-by: Anson Huang <b20788@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:05:53 +0000 (18:05 +0800)]
MLK-11431-4: ARM: DTS: imx: Update IPU and display property
Update IPU and display property, make sure these dts files can
pass build.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:04:46 +0000 (18:04 +0800)]
MLK-11431-3: ARM: DTS: imx6 Add IPU and display support
Add IPU, HDMI and LDB support.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Fri, 28 Aug 2015 10:38:49 +0000 (18:38 +0800)]
MLK-11431-2: ARM: defconfig: enable IPU and display
Enable IPU, HDMI and LDB.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Sandor Yu [Wed, 26 Aug 2015 08:42:02 +0000 (16:42 +0800)]
MLK-11431-1: IPU: forward IPU display drivers to 4.1.y kernel
Forward imx_3.14.y IPU and display drivers to 4.1 kernel.
This includes IPU core driver, display driver, LDB and HDMI driver.
Signed-off-by: Sandor Yu <R01008@freescale.com>
Anson Huang [Fri, 16 Jan 2015 10:47:42 +0000 (18:47 +0800)]
MLK-10103-2 cpufreq: imx6: increase SOC/PU voltage for vpu 352M
When VPU is running at 352MHz, SOC/PU voltage need to be
at 1.25V for 396/792MHz setpoint, as 396M setpoint is
removed, so only increase 792M setpoint's voltage.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Fri, 16 Jan 2015 10:42:08 +0000 (18:42 +0800)]
MLK-10103-1 ARM: imx: add VPU 352M for i.mx6q
When VPU freq is set to 352MHz, it needs to source clk
from PLL2_PFD2_396M, and PLL2_PFD2_396M need to change
freq to 352M, cpufreq's 396M setpoint will be removed.
Busfreq will be disabled as it needs PLL2_PFD2 to be
as 396MHz to achieve low power audio freq setpoint.
To enable VPU 352MHz feature, select it in menuconfig,
it is disabled by default.
Signed-off-by: Anson Huang <b20788@freescale.com>
Conflicts:
arch/arm/mach-imx/clk-imx6q.c
arch/arm/mach-imx/mach-imx6q.c
Anson Huang [Sun, 6 Sep 2015 05:36:55 +0000 (13:36 +0800)]
MLK-11497-2 ARM: imx: add busfreq support for imx6q/dl
Add busfreq support for i.MX6Q/DL, 3 setpoints supported:
HIGH: MMDC = 528MHz on i.MX6Q, = 396MHz on i.MX6DL; AHB = AXI = 24MHz;
AUDIO: MMDC = 50MHz, AXI = 50MHz, AHB = 25MHz;
LOW: MMDC = AXI = AHB = 24MHz.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Sun, 6 Sep 2015 05:35:55 +0000 (13:35 +0800)]
MLK-11497-1 ARM: dts: add busfreq support for imx6q/dl
Add busfreq support for i.MX6Q/DL.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Thu, 4 Dec 2014 04:24:49 +0000 (12:24 +0800)]
MLK-11488-10 arm: imx: add A9-M4 power management
this patch adds A9-M4 power management, including
below features:
1. busfreq: M4 is registered as a high speed device
of A9, when M4 is running at high speed, busfreq
will NOT enter low bus mode, when M4 is entering
its low power idle, A9 will be able to enter low
bus mode according to its state machine;
2. low power idle: only when M4 is in its low power
idle, busfreq is staying at low bus mode, low
power idle is available for kernel;
3. suspend: when M4 is NOT in its low power idle,
when linux is about to suspend, it will only
force SOC enter WAIT mode, only when M4 is in
its low power idle in TCM, linux suspend can
enter DSM mode. M4 can request/release wakeup
source via MU to A9.
as M4 can NOT switch its clk parent due to glitch MUX,
to handle this case, A9 will help switch M4's clk
parent, the flow is as below:
M4:
1. enter low power idle, send bus use count-- to A9;
2. enter wfi and only wait for MU interrupt;
3. receive A9's clk switch ready message, go into low
power idle;
4. receive interrupt to exit low power idle, send request
to A9 for increase busfreq and M4 freq, enter wfi
and only wait for MU interrupt;
5. receive A9 ready message, go out of low power idle.
A9:
1. when receive M4's message of entering low power idle,
wait M4 into wfi, hold M4 in wfi by hardware, gate
M4 clk, then switch M4's clk to OSC, ungate M4 clk,
send ready command to wake up M4 into low power idle;
2. when receive M4's message of exiting low power idle,
wait M4 into wfi, hold M4 in wfi by hardware, gate
M4 clk, then switch M4's clk to origin high clk,
ungate M4 clk, send ready command to wake up M4
to exit low power idle;
Signed-off-by: Anson Huang <b20788@freescale.com>
Conflicts:
arch/arm/mach-imx/busfreq-imx6.c
arch/arm/mach-imx/pm-imx6.c
Anson Huang [Thu, 4 Dec 2014 04:22:20 +0000 (12:22 +0800)]
MLK-11488-9 arm: imx: add A9-M4 clk shared management
As A9 and M4 share many resources on i.MX6SX, especially for
clk and power related resource, so we need to handle the hardware
conflict between these two cores, there are two cases that we
need to consider currently:
clk management: for every clk node, only when both A9 and
M4 do NOT need it, then we can disable it from hardware;
Here we use MU and hardware SEMA4 to achieve our goal, MU is
for communiation between A9 and M4, SEMA4 is to protect the
shared memory.
For clk management, we use shared memory to maintain the clk
status for both A9 and M4 side, and this shared memory is
protected by hardware SEMA4, A9 and M4 will maintain their
own clk tree info in their SW environment, and get other
CORE's clk tree info from shared memory to decide whether
to perform a hardware setting change when they plan to.
Signed-off-by: Anson Huang <b20788@freescale.com>
Anson Huang [Wed, 19 Nov 2014 06:24:16 +0000 (14:24 +0800)]
MLK-11488-8 arm: imx: adjust qspi device index according to dtb setting
When resume from DSM with Mega/Fast off, we need to restore
the right QSPI module for M4, so get the qspi index from dtb file.
Signed-off-by: Anson Huang <b20788@freescale.com>
Allen Xu [Mon, 13 Oct 2014 23:15:35 +0000 (18:15 -0500)]
MLK-11488-7 arm: imx: add QSPI save/restore when M4 is enabled
As M4 is executing on QSPI2 flash, and QSPI is inside Mega/Fast
domain which may lost power in DSM, so we need to do save/restore
of QSPI2 controller to make sure QSPI flash can be accessed before
waking up M4 after exiting from DSM.
Signed-off-by: Allen Xu <b45815@freescale.com>
Signed-off-by: Anson Huang <b20788@freescale.com>