Haibo Chen [Mon, 21 Nov 2016 10:33:14 +0000 (18:33 +0800)]
MLK-13498 ARM: dts: add eMMC support for ulp-evk board
Add eMMC support (8 bit mode) for ulp-evk board.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Anson Huang [Mon, 21 Nov 2016 13:00:05 +0000 (21:00 +0800)]
MLK-13487-2 ARM: imx: add NVCC_DRAM_SW control for i.mx7ulp
When enter VLLS mode, DRAM is in self-refresh, NVCC_DRAM_SW
can be off to save power.
As the static io-map formula is no longer feasible on i.MX7ULP,
here we change it to ioremap for creating iram tlb.
Remove the physical module base address in pm_info structure
to save iram space.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Mon, 21 Nov 2016 12:55:37 +0000 (20:55 +0800)]
MLK-13487-1 ARM: dts: imx7ulp: add PTC1 pin as GPIO
Add PTC1 pin as GPIO on i.MX7ULP SOM board, it is
to control NVCC_DRAM_SW during suspend/resume.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Peng Fan [Fri, 18 Nov 2016 09:04:42 +0000 (17:04 +0800)]
MLK-13482 drivers: char: otp: support i.MX6SLL
Support i.MX6SLL OTP.
There are 4 works in bank7/bank8.
When read, use address offset.
When prog, use bank/index, note that bank7/bank8 we treat
them a single bank when prog.
Tested GP41 and GP31 read/write on eng sample chip.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit
f8698b66fcbec7409b738a4c5b05ba87f0342cf8)
Andy Duan [Wed, 26 Oct 2016 07:34:01 +0000 (15:34 +0800)]
MLK-13484 ARM: imx: imx6ul: add PHY KSZ8081 new silicon revision fixup setting
The previous code only support i.MX6UL EVK RevA, RevB, RevC PHY KSZ8081
with fixed silicon revision.
Different silicon revision may have different phy fixup init setting.
i.MX6UL EVK RevC1 apdate new silicon revision PHY. After debug and tune,
the revision still need the same phyfix setting.
So, add Ethernet PHY KSZ8081 new silicon revision fixup setting.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Andy Duan [Thu, 17 Nov 2016 09:13:14 +0000 (17:13 +0800)]
MLK-13483 ARM: imx6sll-evk-btwifi: fix typo of iomux wifi function
Fix typo of iomux wifi function.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Anson Huang [Fri, 18 Nov 2016 14:01:33 +0000 (22:01 +0800)]
MLK-13480-3 clocksource: imx-tpm: increase TPM clock frequency to 3MHz
As TPM default clock parent is changed to OSC which is 24MHz,
to keep its frequency as 3MHz, need to update its divider
from 16 to 8.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Fri, 18 Nov 2016 14:00:23 +0000 (22:00 +0800)]
MLK-13480-2 ARM: dts: imx7ulp: change TPM clock parent to OSC
As FIRC may be NOT accurate enough and it also can
be disabled when M4 goes into VLPR mode, so using
OSC as TMP clock parent is better.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Fri, 18 Nov 2016 13:53:59 +0000 (21:53 +0800)]
MLK-13480-1 ARM: imx: improve composite clk parent index setting
The PCC clock bit field definition is as below:
000b - Clock is off.
001b - Clock option 1
010b - Clock option 2
011b - Clock option 3
100b - Clock option 4
101b - Clock option 5
So previous clock driver sets PCC clock parent to
start from index value 1 by setting CLK_MUX_INDEX_ONE
flag, however it has an issue of getting clock parent
when the register field value is 0, below is the clk
get parent code from clk driver:
if (val && (mux->flags & CLK_MUX_INDEX_BIT))
val = ffs(val) - 1;
if (val && (mux->flags & CLK_MUX_INDEX_ONE))
val--;
The val is 0, so the parent will be returned as first
clock parent in PCC register field which is 001b,
that will cause setting clk parent fail when the
reset value is 0 and we try to set clk parent to
option 1, as clk driver thinks current clk parent
is same as the new parent.
Fix this issue by adding dummy clock as option0, ths
clk gate is controlled by bit 30, so it would NOT impact
gating function.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Robin Gong [Thu, 17 Nov 2016 10:34:08 +0000 (18:34 +0800)]
MLK-13479-2: ARM: dts: imx6qdl: add IPG clock for gpc
add IPG clock for gpc to delay 2us for PU power up.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Robin Gong [Thu, 17 Nov 2016 09:12:22 +0000 (17:12 +0800)]
MLK-13479-1: ARM: imx: gpc: delay 2us instead of sw+sw2iso delay
(sw + sw2iso) delay after raise power up request to pgc is still not
enough stable, so we have to delay 2us to make sure pgc power up
successfully as v3.14. Align the power off flow with v3.14 too.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Guoniu.Zhou [Thu, 17 Nov 2016 08:49:45 +0000 (16:49 +0800)]
MLK-13478: Video: Correct the error macro definition in mxsfb.c
Correct a macro definition in mxsfb.c
In framebuffer driver, a macro define LCDIF_CTRL2n register bits[23-21] value
is 0x3, but according to reference manual, it should be 0x4, so correct it.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Bai Ping [Thu, 17 Nov 2016 01:31:36 +0000 (09:31 +0800)]
MLK-13475 ARM: dts: Fix typo in compatible string on imx6sll
Fix typo in compatible string.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Robin Gong [Thu, 17 Nov 2016 08:21:48 +0000 (16:21 +0800)]
MLK-13477: ARM: dts: imx6sll-evk: add charger driver
Add charger driver in dts.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Haibo Chen [Mon, 14 Nov 2016 10:22:09 +0000 (18:22 +0800)]
MLK-13405-2 ARM: dts: add usdhc2 support for imx6sll-lpddr3-arm2
Add usdhc2 support for imx6sll-lpdr3-arm2 board.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Haibo Chen [Wed, 19 Oct 2016 09:48:24 +0000 (17:48 +0800)]
MLK-13405-1 ARM: dts: add usdhc2 support for imx6sll-evk
For imx6sll-evk board, if eMMC connected, all the pad of
eMMC should be fixed to 1.8v. Otherwise the current leakage
will pull up the VCCQ to 2.6v, which will impatch usdhc1
and usdhc3 SD3.0 voltage switch.
This patch set the LVE of pad SD2_RST and SD2_STROBE, and
config the vqmmc to fixed 1.8v, make sure the driver set
pad I/O voltage of usdhc2 fixed to 1.8v, not impact the
VCCQ which support usdhc1 and usdhc3 SD3.0 1.8v voltage.
And accord to IC suggestion, clock and strobe pad need to
config as pull-down. So change all the clock/strobe pad's
PUS to 0.
eMMC data4/5 has branch on evk board, which make the data
signal quality very bad, need to cut off these branch of
data4/5, this hardware rework is hard to do on all the evk
board. So currently HS400 do not enable, just support eMMC
HS200 mode.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Bai Ping [Fri, 4 Nov 2016 07:05:58 +0000 (15:05 +0800)]
MLK-13420 ARM: dts: imx: Correct the i2c3 pin's voltage setting
On i.MX6SLL EVK and ARM2 board, the pins for I2C3 should be set
to 1.8V voltage(set the LVE bit to 1) to decrease the current
leakage from these pins.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Anson Huang [Tue, 15 Nov 2016 17:38:22 +0000 (01:38 +0800)]
MLK-13455 ARM: imx: need to wait apll ready before operating MMDC on i.mx7ulp
When resume from VLPS mode on i.MX7ULP, APLL is NOT
valid yet, but MMDC clock is from APLL, so need to
wait for it valid before operating MMDC.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 8 Nov 2016 12:28:58 +0000 (20:28 +0800)]
MLK-13441-17 ARM: imx: add cpuidle support for i.mx7ulp
Add i.MX7ULP cpuidle support, 3 levels idle as below:
1. patial stop mode 3;
2. patial stop mode 2;
3. patial stop mode 1.
PSTOP1 - Partial Stop with system and bus clock disabled
PSTOP2 - Partial Stop with system clock disabled and bus clock enabled
PSTOP3 - Partial Stop with system clock enabled and bus clock enabled
All drivers has DMA function need to add pm_qos
API to prevent cpuidle from entering PSTOP 1/2.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 8 Nov 2016 12:33:16 +0000 (20:33 +0800)]
MLK-13441-16 mmc: host: imx: add pm_qos to interact with cpuidle
On some SoCs such as i.MX7ULP, there is no busfreq
driver, but cpuidle has some levels which may disable
system/bus clocks, so need to add pm_qos to prevent
cpuidle from entering low level idles and make sure
system/bus clocks are enabled when usdhc is active.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Peter Chen [Thu, 20 Oct 2016 01:36:39 +0000 (09:36 +0800)]
MLK-13441-15 ARM: dts: vfxxx.dtsi: fix below build error
arch/arm/boot/dts/vfxxx.dtsi:256.20-28 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:293: recipe for target
'arch/arm/boot/dts/vf500-colibri-eval-v3.dtb' failed
make[2]: *** [arch/arm/boot/dts/vf500-colibri-eval-v3.dtb] Error 1
arch/arm/Makefile:327: recipe for target 'dtbs' failed
make[1]: *** [dtbs] Error 2
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Anson Huang [Fri, 4 Nov 2016 17:06:38 +0000 (01:06 +0800)]
MLK-13441-14 pinctrl: imx: support i.mx7ulp new iomux format
On i.MX7ULP, IOMUX's mux and pad config are in
same register, but mux field is different, add
support in pinctrl driver.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Andy Duan [Mon, 9 May 2016 09:48:35 +0000 (17:48 +0800)]
MLK-13441-12 pinctrl: pinctrl-imx: add property to define mux register mask bits
Add property to define mux register mask bits when SHARE_MUX_CONF_REG
flag is added.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Andy Duan [Mon, 9 May 2016 09:58:15 +0000 (17:58 +0800)]
MLK-13441-11 pinxtrl: freescale: pinctrl-imx7ulp: add support for iomux controller
Add support for imx7ulp iomux controller.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Anson Huang [Mon, 7 Nov 2016 16:50:08 +0000 (00:50 +0800)]
MLK-13441-10 ARM: imx: add suspend support for i.mx7ulp
Add suspend/resume support for i.MX7ULP,
standby mode will enter VLPS mode, can be waked
up by any interrupt which is enabled in GIC,
and mem will enter VLLS mode, can only be waked up
by NMI currently.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Mon, 7 Nov 2016 16:07:58 +0000 (00:07 +0800)]
MLK-13441-8 ARM: configs: enable i.mx7ulp by default
Enable i.MX7ULP SoC by default.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Mon, 7 Nov 2016 16:06:50 +0000 (00:06 +0800)]
MLK-13441-7 ARM: imx: add i.mx7ulp MSL support
Add i.MX7ULP MSL support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Anson Huang [Mon, 7 Nov 2016 16:05:46 +0000 (00:05 +0800)]
MLK-13441-6 ARM: imx: add i.mx7ulp clock driver
Add i.MX7ULP clock driver.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Anson Huang [Mon, 7 Nov 2016 16:03:54 +0000 (00:03 +0800)]
MLK-13441-5 ARM: imx: add new clk types
Add below new clock types to support new SoC:
composite clk;
frac-divider;
pfdv2;
pllv4.
These clock types are for i.MX7ULP and maybe
following SoCs.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
[Octavian: fix build warning by using u64 in do_div ops]
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Anson Huang [Mon, 7 Nov 2016 15:44:39 +0000 (23:44 +0800)]
MLK-13441-4 clocksource: tpm: add i.mx tpm driver
Add i.MX TPM support for clock source.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Anson Huang [Mon, 7 Nov 2016 14:39:06 +0000 (22:39 +0800)]
MLK-13441-3 ARM: dts: imx7ulp: add evk board support
Add i.MX7ULP EVK board support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Signed-off-by: ye li <ye.li@nxp.com>
Anson Huang [Mon, 7 Nov 2016 14:25:37 +0000 (22:25 +0800)]
MLK-13441-2 ARM: dts: imx7ulp: add dtsi file
Add i.MX7ULP dtsi support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Gan Yuchou <yuchou.gan@nxp.com>
Signed-off-by: Ye.Li <ye.li@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Signed-off-by: Han Xu <han.xu@nxp.com>
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Andy Duan [Mon, 9 May 2016 09:54:12 +0000 (17:54 +0800)]
MLK-13441-1 ARM: imx7ulp: iomux: add imx7ulp header file
Add imx7ulp header file.
Two changes base on original header file from iomux tool team:
- Remove the mux register column since mux and conf is shared in
one register.
- IOMUX_0 part:
The register address: 0x4103_d000 ~ 0x4103_d0cc, the header file
offset is 0xdxxx, now change it to 0x0xxx. The common base address
0x4103_d000 is defined by dts file.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Robby Cai [Tue, 8 Nov 2016 00:54:14 +0000 (08:54 +0800)]
MLK-13439 ARM: dts: imx6sll: correct clock property for pwm
PWM driver expects two clocks, so correct it to meet this requirement.
Otherwise pwm can not work properly, neither does the backlight (using pwm1).
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Xianzhong [Mon, 7 Nov 2016 02:02:20 +0000 (10:02 +0800)]
MGS-2302-4 [#imx-225] free the record from the right kernel
when the app is killed, the kernel driver will free database from the gpu0.
if the app is running on gpu1, its database may be freed by gpu0 unexpectely.
free the record from the right kernel, this patch is refined from MGS-2302-1.
also Revert "MGS-2302-1 [#imx-225] fix the gpu1 hang with independent mode"
This reverts commit
39472fb8b1b30a047c637c82be1b59e0b975bc03.
Date: Nov 07, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Xianzhong [Mon, 31 Oct 2016 07:52:44 +0000 (15:52 +0800)]
MGS-2302-3 [#imx-225] disable power management for gpu profiler
GPU power management is disabled by force for performance.
The porifler will enable GPU1 power management after affinity tests.
When run openvg conformance later, GPU0 has no power management, GPU1 is
with power management and will become OFF often.
Hence this lead to GPU1 hang after openvg conformance test.
Date: Oct 31, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Xianzhong [Mon, 17 Oct 2016 07:58:52 +0000 (15:58 +0800)]
MGS-2302-1 [#imx-225] fix the gpu1 hang with independent mode
when the app is killed, the kernel driver will free database from the gpu0.
if the app is running on gpu1, its database may be freed by gpu0 unexpectely.
need check kernel pointer in record to prevent the incorrect database free.
Date: Oct 17, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Xianzhong [Fri, 4 Nov 2016 04:47:03 +0000 (12:47 +0800)]
MGS-2388 [#ccc] integrate 6.2.0 post patch
apply the gpu hang patch for multiple instances
001-IMX101-15870-04-cl81286-Fixed-ES31-CTS.core.tessellation_shader.tessellation_shader_tc_barriers.barrier_guarded_write_calls-hang.patch
apply the debug patch for gpu module clock
0014-cl83047-added-debug-control-for-new-module-s-clock-gating.patch
Date: Nov 11, 2016
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Yong Gan [Fri, 14 Oct 2016 19:49:15 +0000 (03:49 +0800)]
MGS-1972 [#imx-142] Enable GPU MMU flat mapping to cover CMA range on DV
Limited baseAddress offset only for GPU without MC20 feature.
Date: Oct 14, 2016
Signed-off-by: Yong Gan <yong.gan@nxp.com>
Haibo Chen [Tue, 8 Nov 2016 07:06:58 +0000 (15:06 +0800)]
MLK-13442: mmc: sdhci-esdhc-imx: release bus frequency when usdhc remove
When usdhc driver remove, also need to release bus frequency.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Alejandro Sierra [Mon, 26 Sep 2016 21:37:19 +0000 (16:37 -0500)]
MLK-13287 ARM: dts: imx: support for epop 6sxscm evb board
Add support for the epop i.MX6SX SCM EVB board
The epop variant contains an eMMC(512MB) within the
POP package.
Support the next features for epop 6sxscm EVB:
- Regular epop board
- M4 support
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Alejandro Sierra [Mon, 26 Sep 2016 19:58:36 +0000 (14:58 -0500)]
MLK-13286 ARM: dts: imx: support emmc on 6sxscm platforms
Add the generic dtsi configuration to support EMMC on the
i.MX6SX SCM platforms
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Juan Gutierrez [Mon, 26 Sep 2016 19:31:19 +0000 (14:31 -0500)]
MLK-13284 ARM: dts: imx: generic support for 6sxscm 512mb evb
Add the generic dtsi configuration support for the i.MX6SX SCM
platforms with 512MB of DDR memory mapping.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Alejandro Sierra [Mon, 26 Sep 2016 19:20:04 +0000 (14:20 -0500)]
MLK-13283 ARM: dts: imx: support for 1gb 6sxscm evb board
Add support for the 1gb i.MX6SX SCM EVB board
Support the next features for 1Gb 6sxscm EVB:
- Regular 1gb board
- M4 support
- MQS
- SAI sound card
- LCD and HDMI with sii902x support
- Bluetooth and Wifi Murata ZP SDIO dongle
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Juan Gutierrez [Mon, 26 Sep 2016 18:14:01 +0000 (13:14 -0500)]
MLK-13282 ARM: dts: imx: generic dts support for 6sxscm evb
Add the generic dts configuration support, including BT and
Wifi for the i.MX6SX SCM Evaluation Board (EVB)
- Generic DTS for 6SXSCM EVB
- Bluetooth and Wifi
- LDO enabled
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Robin Gong [Fri, 4 Nov 2016 08:41:39 +0000 (16:41 +0800)]
MLK-13421 ARM: dts: imx6sll: correct the wrong compatible name in imx6sll.dtsi
The initial version is wrong, fix it.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Alejandro Sierra [Mon, 26 Sep 2016 19:42:20 +0000 (14:42 -0500)]
MLK-13281 ARM: imx: add micrel phy init for 6sxscm evb board
Add Micrel phy initialization for imx6sxscm evb platform
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Juan Gutierrez [Mon, 26 Sep 2016 21:51:06 +0000 (16:51 -0500)]
MLK-13280 ARM: imx: missing mmdc read fifo reset on resume
When a device like (USB, CAMM, tty, etc) prevents the megamix
domain to power down during the suspend process (by enabling
a wakeup source) the resume process goes through a path where
the MMDC context should not be restored. However this resume
path does not reset the read fifo MMDCx_MPDGCTRL0[RST_RD_FIFO]
for the platforms with LPDDR2 causing a bad resuming and reset
of the device due to an exception.
This patch adds the reset_read_fifo on the No-restoring-MMDC
path to fix the bad resuming.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <b18039@freescale.com>
Juan Gutierrez [Mon, 26 Sep 2016 21:44:45 +0000 (16:44 -0500)]
MLK-13279 rpmsg: imx: make vring address configurable by dts
vring memory address was hardcoded at the top of the 1GB RAM.
For systems with a memory map with less or different than 1GB,
the hardcoded value might be not correct and cause issues.
This patch add the support to pass the vring address from device
tree configuration on the reg platform argument in the following
format:
reg = <vring_address vring_size>
For example, for a 512MB system, with the rpmgs vring placed at
top of the memory the configuration will look like below:
&rpmsg{
reg = <0x9FFF0000 0x8000>;
};
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Andy Duan [Mon, 31 Oct 2016 09:18:06 +0000 (17:18 +0800)]
MLK-13413 ARM: imx6sll-evk: add Murata Type ZP (BCM4339) module support
Add Murata Type ZP (BCM4339) module support on i.MX6SLL platforms:
- i.MX6SLL EVK (SD3 slot + BT connector) + Murata adapter V2.0
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Jason Liu [Wed, 2 Nov 2016 10:23:38 +0000 (18:23 +0800)]
Revert "ARM: imx: Added perf functionality to mmdc driver"
This reverts commit
3d7dd5ec903bc867c0274ac871b707839712f832.
This commit is wrongly pushed and also it breaks build, revert it.
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Alejandro Sierra [Tue, 6 Sep 2016 16:19:37 +0000 (11:19 -0500)]
MLK-13248 ARM: dts: imx: add support for 1gb evb board
Add support for SCM i.MX6DQ 1Gb Evaluation Board (EVB).
Support the next features for 1Gb EVB boards:
- Support for fix and interleave mode
- For fix mode additional dts are provided for:
- hdcp
- enetirq
- bluetooth and wifi for Murata ZP SDIO dongle
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Juan Gutierrez [Tue, 6 Sep 2016 21:59:11 +0000 (16:59 -0500)]
MLK-13247 ARM: dts: imx: add support for 1gb qwks board
Add support for SCM i.MX6DQ 1Gb Quick Start Board (QWKS).
Support the next features for 1Gb QWKS boards:
- Support for fix and interleave mode
- For fix mode additional dts are provided for
- hdcp
- Wifi with Murata ZP SDIO dongle
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Juan Gutierrez [Tue, 6 Sep 2016 21:57:07 +0000 (16:57 -0500)]
MLK-13246 ARM: dts: imx: generic support for 6dqscm 1gb board
Add the generic dtsi configuration support for the SCM i.MX6DQ
QWKS and EVB board with 1GB of DDR memory mapping
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Juan Gutierrez [Tue, 6 Sep 2016 18:03:15 +0000 (13:03 -0500)]
MLK-13245 ARM: dts: imx: generic dtsi support for qwks board
Add the generic dtsi configuration support, including
Wifi, for the SCM i.MX6DQ Quick Start Board (QWKS)
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Alejandro Lozano [Tue, 6 Sep 2016 21:41:13 +0000 (16:41 -0500)]
MLK-13244 input: touchscreen: add support for vtl touchscreen
Add the support for a CT36X based touchscreens using
the CT36X controller and i2c touchscreen interface.
Signed-off-by: Alejandro Lozano <alejandro.lozano@nxp.com>
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Sierra <alejandro.sierra@nxp.com>
Zhengyu Shen [Mon, 19 Sep 2016 17:57:29 +0000 (12:57 -0500)]
ARM: imx: Added perf functionality to mmdc driver
MMDC is a multi-mode DDR controller that supports DDR3/DDR3L x16/x32/x64
and LPDDR2 two channel x16/x32 memory types. MMDC is configurable, high
performance, and optimized. MMDC is present on i.MX6 Quad and i.MX6
QuadPlus devices, but this driver only supports i.MX6 Quad at the moment.
MMDC provides registers for performance counters which read via this
driver to help debug memory throughput and similar issues.
$ perf stat -a -e mmdc/busy-cycles/,mmdc/read-accesses/,mmdc/read-bytes/,mmdc/total-cycles/,mmdc/write-accesses/,mmdc/write-bytes/ dd if=/dev/zero of=/dev/null bs=1M count=5000
Performance counter stats for 'dd if=/dev/zero of=/dev/null bs=1M count=5000':
898021787 mmdc/busy-cycles/
14819600 mmdc/read-accesses/
471.30 MB mmdc/read-bytes/
2815419216 mmdc/total-cycles/
13367354 mmdc/write-accesses/
427.76 MB mmdc/write-bytes/
5.
334757334 seconds time elapsed
Signed-off-by: Zhengyu Shen <zhengyu.shen@nxp.com>
Signed-off-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Bai Ping [Tue, 1 Nov 2016 03:10:19 +0000 (11:10 +0800)]
MLK-13409 ARM: config: add imx6sll support in imx_v7 mfg defconfig
Add i.MX6SLL support in imx_v7_mfg_defconfig.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Haibo Chen [Tue, 18 Oct 2016 06:34:12 +0000 (14:34 +0800)]
MLK-13358 mmc: sdhci-esdhc-imx: make sure usdhc clock enabled while doing suspend
When suspend usdhc, it will access usdhc register. So usdhc clock
should be enabled, otherwise the access usdhc register will return
error or cause system.
Take this into consideration, if system enable a usdhc and do not
connect any SD/SDIO/MMC card, after system boot up, this usdhc
will do runtime suspend, and close all usdhc clock. At this time,
if suspend the system, due to no card persent, usdhc runtime resume
will not be called. So usdhc clock still closed, then in suspend,
once access usdhc register, system hung or bus error return.
This patch make sure usdhc clock always enabled while doing usdhc
suspend.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Richard Zhu [Mon, 17 Oct 2016 07:13:56 +0000 (15:13 +0800)]
MLK-13387-4 ARM: imx: gpcv2: correct pcie phy reg notifier
1.8v of imx7d pcie phy, should be turned on after
the 1p0d(1.0v) of pcie phy is turned on.
And turned off before the 1p0d(1.0v) of pcie phy
is turned off
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Mon, 17 Oct 2016 07:17:43 +0000 (15:17 +0800)]
MLK-13387-3 regulator: consumer: add new event macro
Add one new regulator events macro 'REGULATOR_EVENT_AFT_DO_ENABLE'.
1.8v of imx7d pcie phy, should be turned on after
the 1p0d(1.0v) of pcie phy is turned on.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Mon, 17 Oct 2016 07:12:08 +0000 (15:12 +0800)]
MLK-13387-2 regulator: consumer: add new event macro
Add the AFT_ENABLE event macros, because that
1.8v of imx7d pcie phy, should be turned on after
the 1p0d(1.0v) of pcie phy is turned on.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Tue, 25 Oct 2016 08:04:49 +0000 (16:04 +0800)]
MLK-13387-1 ARM: dts: imx7d: use enable bit of 1p0d
Do not set the override bit of 1p0d regulator.
Because, the 1p0d and the vdd1.8v should be turned on
separately by the requirements of the imx7d pcie phy.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Richard Zhu [Tue, 18 Oct 2016 09:35:21 +0000 (17:35 +0800)]
MLK-13365 pci: imx: fix imx6dl ep rc validation failure
The ep rc validation is failed on imx6dl.
Root cause:
The ref clk of imx6dl pcie is 100M(bit20 of PLL_ENET).
But the driver doesn't enable it.
Solution:
enable pci_bus clock in ep rc validation system, since
the parent of the pci_bus is the 100M.
The connection between ep and rc only have the TX/RX
parirs, there is no impaction when enable the pcie_bus
in pcie ep rc validation system.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Robby Cai [Tue, 25 Oct 2016 09:51:03 +0000 (17:51 +0800)]
MLK-13390 ARM: dts: imx6sll: add V4L2 output support
Add PXP V4L2 output support
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Peter Chen [Tue, 25 Oct 2016 09:46:12 +0000 (17:46 +0800)]
MLK-13389 ARM: imx6sll-evk: enable USBOTG1
Enable USBOTG1
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Bai Ping [Mon, 24 Oct 2016 10:08:39 +0000 (18:08 +0800)]
MLK-13384 ARM: imx: remove ldo bypass check on imx6sll
As on i.MX6SLL, there is no ARM LDO, the code for ARM LDO
bypass check is unnecessary, remove these piece of code in
i.MX6SLL low power idle.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Haibo Chen [Tue, 25 Oct 2016 02:15:01 +0000 (10:15 +0800)]
MLK-13366 mmc: sdhci-esdhc-imx: no need busfreq for imx6qdl
This reverts commit
2c01452f4d7c0f65553b365adc27a1b7b6ba8644.
Besides, add other SoC request high bus freq. This is because
only imx6qdl do not implement low bus idle, so imx6qdl can work
well under low power mode without request high bus freq which
also can save power. For other SoC, need to request high bus
freq when usdhc is active.
Also can refer to commit
312979d1fcbd.
Juan Gutierrez [Wed, 19 Oct 2016 17:32:10 +0000 (12:32 -0500)]
MLK-13361-3 arm: imx6q: busfreq: restore mmdc timing settings for 100MHz
The timing settings for 100MHz are almost the same as the ones for
400MHz except for the MMDCx_MISC[RALAT] parameter which needs to be
set to 2 cycles.
For the 100MHz case the restoration of the mmdc setting should be performed
in 2 steps: restore the mmdc setting and then overwrite the RALAT setting
for 2 cycles.
A decision code within the "mmdc_clk_lower_equal_100MHz" macro is added
to go to the "equal to 100MHz" or to the "lower to 100MHz" case
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Signed-off-by: Alejandro Lozano <alejandro.lozano@nxp.com>
Juan Gutierrez [Wed, 19 Oct 2016 17:06:50 +0000 (12:06 -0500)]
MLK-13361-2 arm: imx6q: busfreq: wrap ralat settings on a macro
Setting the Read Additional Latency (RALAT) to 2 cycles,
MMDCx_MDMISC[RALAT] = 2, is needed for 24MHz operation point.
Currently this is set within the "set_timings_below_100MHz_operation"
macro, which is use for the 24MHz case.
In order to provide a generic way for setting RALAT=2 the code
is wrapped in this new macro: "set_mmdc_misc_ralat_2_cycles", so
other set points (besides the below 100MHz case) can reuse this code.
As an example, for 100Mhz operation the RALAT should be set to 2 cycles,
however, the rest of the MMDCFG parameter are not the same as in the
"below_100MHz" case. So, this macro can be reused for its RALAT part.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Juan Gutierrez [Wed, 19 Oct 2016 16:58:43 +0000 (11:58 -0500)]
MLK-13361-1 arm: imx6q: busfreq: rename 100MHz-related macros
Two macros are renamed:
1) set_timings_above_100MHz_operation as restore_mmdc_settings_info
2) mmdc_clk_lower_100MHz as mmdc_clk_lower_equal_100MHz
For (1) the operation is generic to several cases and not just related
(at least on a semantic way) with the operations "above" 100MHz
Renamed as restore_mmdc_settings_info the macro can be reused for the
other cases like equal to 100MHz and possibly other intermediate
operation points.
For (2), the macro is renamed as mmdc_clk_lower_equal_100MHz to reflect
that this macro handles both the "lower than 100 MHz" case and the
"equal to 100MHz" case.
Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
Dong Aisheng [Fri, 14 Oct 2016 04:21:19 +0000 (12:21 +0800)]
MLK-13340 dts: mx6ul-lpddr2-arm2: fix sd gpio polarity
system can't detect SD card due to wrong gpio polarity.
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Shengjiu Wang [Wed, 19 Oct 2016 09:24:26 +0000 (17:24 +0800)]
MLK-13369-2: ARM: dts: Add more parameters for gpr property of sound
The new parameter description is:
gpr = <gpr-node, register-offset, mask, value>;
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Wed, 19 Oct 2016 09:22:16 +0000 (17:22 +0800)]
MLK-13369-1: ASoC: fsl: fix the hard code gpr address in machine driver
There is hard code for gpr address in machine driver, imx-wm8960
and imx-wm8958, when the sai interface changed to sai1 or sai3,
there will be issue, so remove the hard code, use the property
from the device tree.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Bai Ping [Wed, 19 Oct 2016 00:48:34 +0000 (08:48 +0800)]
MLK-13362 ARM: imx: fix audio bus mode hang on imx6sx/ul/sll
When MMDC runs at a low frequency, it is not recommended to
perform "force measurement", the MMDC measure unit may return
a wrong measurement value when running below 100MHz.
Additionally, the double MU count operations should be only done
when changing the MMDC frequency from 400MHz to a low
frequency(100MHz or 24MHz). Otherwise, the MU count may overflow
and lead to system hang issue.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Fri, 14 Oct 2016 05:12:19 +0000 (13:12 +0800)]
MLK-13344-05 ARM: imx: Add cpuidle support on imx6sll
Add low power idle support on i.MX6SLL.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Fri, 14 Oct 2016 04:49:08 +0000 (12:49 +0800)]
MLK-13344-04 ARM: imx: Add busfreq support on imx6sll
Add bufreq driver support on i.MX6SLL. For i.MX6SLL,
it only support LPDDR2 and LPDDR3. the DDR clock change
flow is same on these two type of DDR.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Fri, 14 Oct 2016 04:48:08 +0000 (12:48 +0800)]
MLK-13344-03 ARM: dts: imx: add busfreq node on imx6sll
Add busfreq device node for i.MX6SLL.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Fri, 14 Oct 2016 05:11:29 +0000 (13:11 +0800)]
MLK-13344-02 ARM: dts: imx: update the setpoints on imx6sll
According to datasheet Rev.B,06/2016 of i.MX6SLL. It has below
setpoints support:
996MHz 1.2V
792MHz 1.15V
396MHz 1.05V
198MHz 0.95V
We add a 25mV margin to cover the IR drop and board tolerance.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Fri, 14 Oct 2016 04:47:18 +0000 (12:47 +0800)]
MLK-13344-01 ARM: imx: Change AXI and AHB clock rate on imx6sll
Increase the AXI and AHB clock rate on i.MX6SLL according to
the RM to improve the system bus performance.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Peter Chen [Tue, 18 Oct 2016 08:36:39 +0000 (16:36 +0800)]
MLK-13308-2 usb: phy: phy-mxs-usb: handle USB PHY event
For mxs PHY, if there is a vbus but the bus is not enumerated,
force the dp/dm as SE0 from the consider side. If not, there
is possible USB wakeup due to unstable dp/dm, since there is
possible no pull on dp/dm, eg, there is a USB charger on the
port. Note, the vbus event is only occurred at device mode,
and sent by udc driver.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Tue, 18 Oct 2016 08:32:04 +0000 (16:32 +0800)]
MLK-13308-1 usb: chipidea: udc: add USB PHY event
Add USB PHY event for below situation:
- vbus connect
- vbus disconnect
- gadget driver is enumerated
USB PHY driver can get the last event after above situation
occurs.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
ye li [Fri, 14 Oct 2016 02:29:14 +0000 (10:29 +0800)]
MLK-13347 dts: mx6sll: enable DCP and hardware RNG for i.mx6sll
Add DCP and RNG node in imx6sll.dtsi to enable them.
Signed-off-by: ye li <ye.li@nxp.com>
Bai Ping [Tue, 18 Oct 2016 07:45:14 +0000 (15:45 +0800)]
MLK-13359 ARM: dts: imx: Add imx6sll evk board dts
Add i.MX6SLL EVK board dts file.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Thu, 13 Oct 2016 02:18:17 +0000 (10:18 +0800)]
MLK-13334 ARM: dts: imx: Add lpddr2 arm2 dts for imx6sll
For i.MX6SLL LPDDR2 and LPDDR3 ARM2 board, they share the same
board design but using different DDR chip. So we can reuse the
LPDDR3 ARM2 board dts on LPDDR2 ARM2 board.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Guoniu.Zhou [Fri, 14 Oct 2016 03:20:03 +0000 (11:20 +0800)]
MLK-13341 IPU: mxc_vout: fix the potential uninitalized variable usage
Fix coverity CID 17624 uninitialized scalar variable
The 'fb_fmt' variable may be used before uninitialized
So initialize it at the begining.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Robby Cai [Fri, 14 Oct 2016 10:20:02 +0000 (18:20 +0800)]
MLK-13350-2 ARM: dts: add ecspi dts file for imx6sll lpddr3 arm2 board
ECSPI1_SCLK pin is shared by LCD power enable and SPI1 SCLK.
To use ecspi, need to disable lcdif function.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Robby Cai [Fri, 14 Oct 2016 09:44:03 +0000 (17:44 +0800)]
MLK-13350-1 ARM: dts: add lcdif support for imx6sll lpddr3 arm2 board
Add lcdif data/ctrl pin and power-enable pin setting
Add backlight/pwm setting
disable ecspi1 since ECSPI1_SCLK pin is also used as LCD power enable,
and add another dts file for ecspi1.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
Robby Cai [Fri, 14 Oct 2016 06:22:28 +0000 (14:22 +0800)]
MLK-13345-2 ARM: dts: csi: add parallel camera support on imx6sll lpddr3 arm board
since there's pin conflict between camera and epdc on this board,
we add a new dts file for csi/camera function.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Robby Cai [Fri, 14 Oct 2016 06:36:52 +0000 (14:36 +0800)]
MLK-13345-1 ARM: dts: csi: correct the base address for csi on imx6sll
correct the base address for imx6sll CSI
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Shengjiu Wang [Fri, 14 Oct 2016 05:12:11 +0000 (13:12 +0800)]
MLK-13343-2: ARM: dts: imx6sll: enable audio functions
enabled the wm8962 and spdif out.
There is pin conflict between spdif and usdhc2. So add
dedicate spdif dts.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Fri, 14 Oct 2016 04:54:43 +0000 (12:54 +0800)]
MLK-13343-1: ARM: imx: clk: Add extern audio clock in imx6sll
add extern audio clock in imx6sll clock tree
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Fri, 14 Oct 2016 03:44:34 +0000 (11:44 +0800)]
MLK-13224: ASoC: imx-hdmi-dma: fix glitch noise issue in long time playback
The calculation "runtime->status->hw_ptr * (runtime->frame_bits / 8)" may
exceed the integer scope, then appl_bytes is no correct.
This patch is to fix this issue.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Robby Cai [Thu, 13 Oct 2016 10:31:26 +0000 (18:31 +0800)]
MLK-13339-2 ARM: dts: pxp: enable pxp on imx6sll lpddr3 arm2 board
correct the clock name for pxp and enable pxp
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Robby Cai [Thu, 13 Oct 2016 07:58:42 +0000 (15:58 +0800)]
MLK-13339-1 ARM: dts: epdc: add epdc support on imx6sll lpddr3 arm2 board
Add e-ink display PMIC setting, and add pin setting for epdc and the pmic.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Peter Chen [Wed, 12 Oct 2016 08:50:03 +0000 (16:50 +0800)]
MLK-13312-3 ARM: imx_v7_defconfig: build in usbnet to support NFS for non-ethernet board
At some boards, it has no ethernet support. As an alternative, we can use
USB Ethernet card to support NFS (u-boot supports it too). It supports
AXIS cards which are used most frequently.
This commit is the similar with below mainline commit:
https://git.kernel.org/cgit/linux/kernel/git/peter.chen/usb.git/commit/
?h=peter-usb-dev&id=
277ad756ead72845796c4f5430dd345301dc460b
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Wed, 12 Oct 2016 08:10:58 +0000 (16:10 +0800)]
MLK-13312-2 ARM: imx6sll-lpddr3-arm2: add USB support
USBOTG1 is for dual-role, USBOTG2 is host-only due to pin conflict with EPDC.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Wed, 12 Oct 2016 08:08:30 +0000 (16:08 +0800)]
MLK-13312-1 ARM: imx6sll: refine USB support
The imx6sll is much like imx6ul, so add imx6ul compatible string for it.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Robin Gong [Wed, 13 Jul 2016 01:47:22 +0000 (09:47 +0800)]
MLK-12928-22: mfd: pf1550: correct VMINSYS_MASK define
correct VMINSYS_MASK and _CNFG_REGTEMP_MASK define for regmap
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Robin Gong [Mon, 27 Jun 2016 08:42:13 +0000 (16:42 +0800)]
MLK-12928-21 power: pf1550: fix charger interrupt never caught
Charger interrupt can't be caught anymore after plug in DC 5V in/out dozens of
times, that caused by VBUS_I or CHG_I pending interrupt not cleared in time. The root
cause is VBUS_I and CHG_I will be triggered in very narrow window, and VBUS_I/CHG_I
act as the sub-interrupt of charger and share the same interrupt handler. Thus if CHG_I
interrupt status is coming while VBUS_I handler is running, CHG_I interrupt status will
never be cleared, since interrupt has been disabled in ISR. The unclear CHG_I interrupt
status make pf1550 never trigger next interrupt again. So clear all charger interrupt
status in ISR to workaround instead of ack for every sub-intterrupt.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>