Gao Pan [Fri, 2 Jun 2017 02:09:10 +0000 (10:09 +0800)]
MLK-14999 arm: dts: imx7ulp: add ipg clk for i2c device node
The lpi2c needs two clks, per clk and ipg clk. This patch adds ipg
clk for lpi2c device node.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Frank Li [Tue, 6 Jun 2017 17:04:13 +0000 (12:04 -0500)]
MLK-15016-2: arm64: defconfig: added mfgtools defconfig
Added new config for mfgtools
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Frank Li [Tue, 6 Jun 2017 16:56:54 +0000 (11:56 -0500)]
MLK-15016-1 arm64: dts: imx8qxp: enable chipidea otg port
Enable OTG port
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Robin Gong [Tue, 6 Jun 2017 08:56:49 +0000 (16:56 +0800)]
MLK-15014 dma: fsl-edma-v3: clear DONE before E_SG enabled
Below described in RM, otherwise, channel error status(CHa_ES)
may be triggered:
The user must clear the CHa_CSR[DONE] bit before writing the
TCDa_CSR[MAJORELINK] or TCDa_CSR[ESG] bits.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Shenwei Wang [Mon, 24 Apr 2017 18:24:32 +0000 (13:24 -0500)]
MLK-14748 clocksource: imx-tpm: Increase the min_delta
The current min_delta for TPM clock event is 2 ticks which
is too small. As the TPM is running at 3MHz, 2 ticks equal
2/3 us. According to our testing, the interrupt latency will
be longer than this min_delta, especially when GPU is running.
This patch changed the min_delta to 300 which give the system
around 100us for interrupt handling in case the "set_next_event"
call is interrupted by other signals.
Also a simple validation code is added before the function returns.
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Signed-off-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit
4f882165cc31672f3c98de74ab02b757cb96ad26)
Anson Huang [Fri, 21 Apr 2017 22:47:55 +0000 (06:47 +0800)]
MGS-2842 ARM: imx: correct PFD setting rate flow
According to design, PFD needs to be gated before
setting rate, this patch adds warning for PFD when
there is any try to set PFD rate with gate open;
Since PFD may be enabled during kernel boot up,
here doing enable and disable before setting APLL_PFD2
rate is to make sure it is gated by clock framework
before setting rate.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit
bc731e14dc8401efa55fee65948c3ec31c9e5483)
Bai Ping [Tue, 6 Jun 2017 06:02:21 +0000 (14:02 +0800)]
MLK-14972-04 dts: imx8: add thermal nodes for imx8qm/qxp
Add thermal device related dts node for i.MX8QM/QXP.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Tue, 6 Jun 2017 06:00:38 +0000 (14:00 +0800)]
MLK-14972-03 ARM64: cofnigs: Enable i.MX8QM/QXP thermal driver by default
Enable the i.MX8QM/QXP thermal driver support in defconfig.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Tue, 6 Jun 2017 05:53:24 +0000 (13:53 +0800)]
MLK-14972-02 driver: thermal: Add i.MX8QM/QXP thermal support
Add i.MX8QM/QXP thermal driver support.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Bai Ping [Wed, 24 May 2017 07:38:45 +0000 (15:38 +0800)]
MLK-14972-01 doc: dt-bindings: add imx sc temp sensor binding doc
Add i.MX8QM/QXP temp sensor binding doc.
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:29:57 +0000 (11:29 +0800)]
MLK-15006-2: ARM64: dts: enable esai and cs42888 in imx8qm dts
Enable ESAI, ASRC, CS42888 in imx8qxp validation board.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:12:03 +0000 (11:12 +0800)]
MLK-15006-1: clk: imx8qm: fix AUD_MLCKOUT0 and AUD_MLCKOUT1 parent issue
Correct these two audio clock's parent.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Prabhu Sundararaj [Mon, 5 Jun 2017 23:55:18 +0000 (18:55 -0500)]
MGS-2954 arm64: dts: mx8: GPU: Update Frequencies to match with design
Update GPU frequencies for 8QM and 8QXP to match with design.
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
Shengjiu Wang [Tue, 6 Jun 2017 03:28:18 +0000 (11:28 +0800)]
MLK-15011: ARM64: dts: increase the cma size for imx8qxp
Current the CMA size is 128M, after GPU enabled, there is no
space left for other drivers. So increase it to 640M, which is
align with imx8qm
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:06:56 +0000 (11:06 +0800)]
MLK-15004-8: ARM64: defconfig: built-in audio drivers
built-in the CS42888 sound card, SPDIF and MQS.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:30:11 +0000 (11:30 +0800)]
MLK-15004-7: ARM64: dts: enable esai and cs42888 in imx8qxp dts
Enable ESAI, ASRC, CS42888 in imx8qxp validation board.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 08:01:04 +0000 (16:01 +0800)]
MLK-15004-6: Document: sound: update document for audio
update compatible string for imx-audio-cs42888.txt and fsl,esai.txt
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:12:29 +0000 (11:12 +0800)]
MLK-15004-5: clk: imx: fix AUD_MLCKOUT0 and AUD_MLCKOUT1 parent issue
Correct these two audio clock's parent.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:04:02 +0000 (11:04 +0800)]
MLK-15004-4: ASoC: fsl_esai: esai workaround for imx8qxp Rev1
In imx8qxp rev1, there is hardware issue (TKT331800). ESAI
dma request signal connection issue in SS_ADMA top level
integration, The ESAI dma request signal are active_low, the EDMA
input is high active, but there is no polarity convert logic
between them.
This patch is to add a workaround for this issue. It use the
GPT to convert dma request signal to EDMA, and use anther GPT
to clear the dma request.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:09:25 +0000 (11:09 +0800)]
MLK-15004-3: ASoC: fsl_esai: switch to use imx-pcm-dma-v2
The difference of imx-pcm-dma and imx-pcm-dma-v2 is that first
one will request dma channel in probe, the second one request
dma channel when substream is opened.
When the case is ASRC+ ESAI, the FE+BE is working, which need
to reconfigure the dma channel, so use the imx-pcm-dma-v2 is
more flexible
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 07:16:29 +0000 (15:16 +0800)]
MLK-15004-2: ASoC: fsl_acm: add acm header file
This header file define the offset for control registers
and the GPT capture event.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Thu, 23 Jun 2016 10:49:00 +0000 (18:49 +0800)]
MLK-15004-1: ASoC: codec: cs42xx8: Add reset gpio of codec
Need to set the reset pin high when running, otherwise the chip
will remain in reset state.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:17:05 +0000 (11:17 +0800)]
MLK-15003-3: ARM64: dts: add one more cell in edma note
Add one more cell in edma note, which is the property of
local/remote access. The default access is local.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:37:57 +0000 (11:37 +0800)]
MLK-15003-2: Document: fsl_edma_v3: update document
update fsl_edma_v3 document for #dma-cell is changed
one more cell is added, which is for local/remote access.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Mon, 5 Jun 2017 03:05:52 +0000 (11:05 +0800)]
MLK-15003-1: DMA: fsl-edma-v3: add one more parameter for xlate
The parameter is "is_remote", which is to use remote access for
edma, the default access is local access.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Peng Fan [Mon, 5 Jun 2017 11:47:17 +0000 (19:47 +0800)]
MLK-15009 irqchip: imx-irqsteer: correct type of irqstat
The type of irqstat in irqsteer_irqchip_data unsigned long, actually
it needs to be 32bits width, so use unsigned int.
And use sizeof(irqsteer_data->irqstat[0]), instead of 4 when alloc
memory for irqsteer_data.
for_each_set_bit needs the second param type is unsigned long *, so
cast the irqsteer_data->irqstat to unsigned long *, this is safe here.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Gao Pan [Thu, 1 Jun 2017 05:34:59 +0000 (13:34 +0800)]
MLK-15000 imx8qm: lpi2c: change i2c0_hdmi compatible
change i2c0_hdmi compatible to "fsl,imx8qm-lpi2c"
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Anson Huang [Mon, 5 Jun 2017 16:16:31 +0000 (00:16 +0800)]
MLK-15008-3 ARM64: dts: freescale: imx8: remove local-timer-stop flag
On i.MX8QM, as there is no SoC platform broadcast timer
available now, remove the local-timer-stop flag for
cpu-idle driver.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Mon, 5 Jun 2017 16:15:41 +0000 (00:15 +0800)]
MLK-15008-2 ARM64: dts: freescale: imx8qm: update cpu-freq opp table
Update i.MX8QM cpu-freq opp table according to SCFW setting,
and move the cpu-freq opp table to soc dtsi instead of board
dtb, as it is SoC feature.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Mon, 5 Jun 2017 16:13:23 +0000 (00:13 +0800)]
MLK-15008-1 ARM64: dts: freescale: imx8qxp: update cpu-freq opp table
Update i.MX8QXP cpu-freq opp table according to SCFW setting,
and move the cpu-freq opp table to soc dtsi instead of board
dtb, as it is SoC feature.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Prabhu Sundararaj [Tue, 16 May 2017 03:58:06 +0000 (22:58 -0500)]
MGS-2949 [#ccc] disable power management for imx8 gpu
disable gpu powermanagement as workaround until scfw fixed,
Re-enabling thc clocks causes exception in sc-firmware.
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
Xianzhong [Fri, 26 May 2017 07:50:07 +0000 (15:50 +0800)]
MGS-2947 enable gpu subsystem for imx8qm and imx8qxp
enable gpu subsystem device config for imx8qm and imx8qxp,
enable builtin GPU module in kernel image by default
Signed-off-by: Xianzhong <b07117@freescale.com>
Fugang Duan [Mon, 5 Jun 2017 03:31:10 +0000 (11:31 +0800)]
MLK-15005-03 irqchip: irqsteer: add ipg clock support
Some subsystems have lpcg sw_bit to control the ipg_clk to LIS,
so add the ipg clock for the module.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Fugang Duan [Mon, 5 Jun 2017 04:35:30 +0000 (12:35 +0800)]
MLK-15005-02 arm64: imx8qm: add lvds0/lvds1/hdmi LIS ipg clock
Add lvds0/lvds1/hdmi LIS ipg clock.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Fugang Duan [Mon, 5 Jun 2017 04:34:07 +0000 (12:34 +0800)]
MLK-15005-01 clk: imx8qm: add lvds LIS ipg clock
Add lvds subsystem LIS ipg clock.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Haibo Chen [Tue, 23 May 2017 11:46:06 +0000 (19:46 +0800)]
MLK-14968-2 ARM64: dts: fsl-imx8: add usdhc1 support HS400 mode
Add usdhc1 support for HS200/HS400 mode for imx8qm and imx8qxp.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Haibo Chen [Tue, 23 May 2017 11:12:52 +0000 (19:12 +0800)]
MLK-14968-1 mmc: sdhci-esdhc-imx: add imx8qm esdhc_soc_data
Add imx8qm esdhc_soc_data for i.MX8QM and i.MX8QXP.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Haibo Chen [Fri, 2 Jun 2017 11:09:37 +0000 (19:09 +0800)]
MLK-15002 mmc: sdhci-esdhc-imx: fix HS400 timing issue
commit
3f0191b80cf1 ("MLK-14381 mmc: sdhci-esdhc-imx: reset tuning
circuit when system resume") add tuning reset when the timing is
MMC_TIMING_LEGACY/MMC_TIMING_MMC_HS/MMC_TIMING_SD_HS. For timing
MMC_TIMING_MMC_HS, we can not do tuning reset, otherwise HS400
timing is not right.
Here is the process of config HS400, it do tuning in HS200 mode,
then switch to HS mode and 8 bit DDR mode, finally switch to HS400
mode. If we do tuning reset in HS mode, this will cause HS400 mode
lost the tuning setting, which will cause CRC error.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Peng Fan [Wed, 31 May 2017 09:54:44 +0000 (17:54 +0800)]
MLK-14993 clk: imx: check pd before use
If we could not get a valid pd for gate/mux, print a warning log.
And use IS_ERR_OR_NULL to check the pd pointer.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Shengjiu Wang [Thu, 1 Jun 2017 07:19:31 +0000 (15:19 +0800)]
MLK-14997-6: ARM64: defconfig: built-in hifi driver
built-in hifi driver
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Thu, 1 Jun 2017 07:17:22 +0000 (15:17 +0800)]
MLK-14997-5: ARM64: dts: add hifi node in dts
add hifi node in dts
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Thu, 1 Jun 2017 07:17:01 +0000 (15:17 +0800)]
MLK-14997-4: ASoC: fsl: add hifi4 dsp driver
The function of driver is to communicate with hifi firmware.
The mu13 is dedicated for hifi communication, driver allocate
a share memory for message transfer between driver and firmware.
The calling sequence is that LOAD_CODEC,INIT_CODEC,CODEC_OPEN,
DECODE_ONE_FRAME, CODEC_CLOSE.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Fri, 2 Jun 2017 02:35:35 +0000 (10:35 +0800)]
MLK-14997-3: Document: Add fsl,hifi4 compatibility document
add hifi4 document
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Thu, 1 Jun 2017 07:16:25 +0000 (15:16 +0800)]
MLK-14997-2: include: uapi: add hifi header file
add hifi header file, which is used by user space.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Gao Pan [Wed, 31 May 2017 07:39:13 +0000 (15:39 +0800)]
MLK-14985-3 defconfig: add sensors support
fxas2100: CONFIG_SENSORS_FXAS2100X
fxos8700: CONFIG_SENSORS_FXOS8700
isl29023: CONFIG_INPUT_ISL29023
mpl3115 : CONFIG_INPUT_MPL3115
This patch also enable CONFIG_INPUT_POLLDEV, because sensor driver
depends on input-polldev.c
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Fri, 26 May 2017 07:20:57 +0000 (15:20 +0800)]
MLK-14985-2 arm64: dts: imx8qm: add sensor support
sensors: fxas2100, fxos8700, isl29023, mpl3115
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Wed, 31 May 2017 08:36:17 +0000 (16:36 +0800)]
MLK-14985-1 Documentation: i2c: add dt documentation for isl29023
Add dt documentation for intersil ISL29023 ambient light sensor.
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Fri, 26 May 2017 06:19:45 +0000 (14:19 +0800)]
MLK-14984 arm64: dts: add irqsteer for lvds subsystem
add irqsteer for lvds subsystem
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Fri, 26 May 2017 03:30:03 +0000 (11:30 +0800)]
MLK-14982-2 arm64: imx8qm: add ipg clk for lpi2c device node
add ipg clk for lpi2c device node
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Thu, 25 May 2017 13:51:23 +0000 (21:51 +0800)]
MLK-14982-1 imx8: lpi2c: add ipg clk for lpi2c driver
The lpi2c IP needs two clks: ipg clk and per clk. The old lpi2c
driver missed ipg clk. This patch adds ipg clk for lpi2c driver.
V2: enable ipg clk before module clock
disable module clock before ipg clk
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Thu, 25 May 2017 12:29:49 +0000 (20:29 +0800)]
MLK-14981-3 defconfig: enable CONFIG_I2C_IMX_LPI2C
enable CONFIG_I2C_IMX_LPI2C
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Thu, 25 May 2017 12:27:16 +0000 (20:27 +0800)]
MLK-14981-2 Kconfig: add lpi2c driver dependency for ARM64
add lpi2c driver dependency for ARM64
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Gao Pan [Thu, 25 May 2017 09:41:44 +0000 (17:41 +0800)]
MLK-14981-1 arm64: dts: enable i2c for imx8qm
1. enable lpi2c of lvds, hdmi and DMA subsystem
2. change dts property assigned-clock-name to assigned-clocks
3. enable gpio expander pca9557
Signed-off-by: Gao Pan <pandy.gao@nxp.com>
Nitin Garg [Thu, 1 Jun 2017 17:40:33 +0000 (12:40 -0500)]
MLK-14998: Remove the dts change in last commit
made the commit by mistake. DTS change isnt required.
Signed-off-by: Nitin Garg <nitin.garg@nxp.com>
Ranjani Vaidyanathan [Fri, 26 May 2017 22:00:44 +0000 (17:00 -0500)]
MLK-14998: i.MX8: Update to the latest SCFW API
Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
Yong Gan [Fri, 2 Jun 2017 01:20:55 +0000 (09:20 +0800)]
arm64: imx8dv: Fix drm_addmap_core fail for aarch64
Fix error on mapping fb in exa driver starting.
Signed-off-by: Yong Gan <yong.gan@nxp.com>
Han Xu [Thu, 1 Jun 2017 03:25:37 +0000 (22:25 -0500)]
MLK-14995: ARM: dts: nand-on-flash flag set in wrong device node
nand-on-flash-bbt flag for i.mx6sx sabreauto dtb was set in wrong device
node, move it back to gpmi node.
Signed-off-by: Han Xu <han.xu@nxp.com>
Bai Ping [Tue, 23 May 2017 01:34:51 +0000 (09:34 +0800)]
MLK-14965 driver: clk: Add dc dpr1 clocks on i.mx8qm
Add DC0 and DC1's DPR1 APB_CLK and B_CLK on i.MX8QM
Signed-off-by: Bai Ping <ping.bai@nxp.com>
Shengjiu Wang [Wed, 31 May 2017 03:04:52 +0000 (11:04 +0800)]
MLK-14989: ASoC: fsl_rpmsg_i2s: enable pm_qos for audio
with "echo 1 > /sys/class/graphics/fb0/blank", and there is no
usb connected on board, the system may enter low power mode,
then audio playback will be failed. use pm_qos to prevent A7
core enter low power mode during audio playback and recording.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Leonard Crestez [Thu, 25 May 2017 13:51:57 +0000 (16:51 +0300)]
MLK-14874 ARM: imx7d: Ensure ARM clock only disabled if cpus in same state
GPC will stop ARM clock if both CPUs are in idle and CPU_CLK_ON_LPM is
set in GPC_LPCR_A7_BSC. Make sure that doesn't happen when cpu1 enters
state2 and cpu0 enters state0 because the default arm WFI state is not
marked with CPUIDLE_FLAG_TIMER_STOP and it can result in arch_sys_timer
being stopped unexpectedly.
It is possible to reproduce incorrect behavior by explicitly disabling
other idle states for cpu0/cpu1 and timing how much sleep calls take on
cpu0. Ocassionaly something like "sleep 1" will take 3-4 seconds to
complete.
Make sure that both CPUs are in the same idle state before entering
WAIT.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Prabhu Sundararaj [Mon, 24 Apr 2017 19:47:25 +0000 (14:47 -0500)]
ARM64: DMA: Export dma operation APIs for arm64 platform
Some DMA operation APIs are not exported, so when load driver as module,
there will error saying some APIs can not be found.
This patch exported these DMA related APIs.
Signed-off-by: Shawn Xiao <b49994@freescale.com>
Fugang Duan [Fri, 26 May 2017 02:53:37 +0000 (10:53 +0800)]
MLK-14980 tty: serial: fsl_lpuart: remove unnecessary .async_tx_ack()
lpuart only use NXP/FSL eDMA dmaengine in i.MX/Vybrid/LS1021a platform,
and eDMA driver don't reuse descriptor then no need to check the
flag DMA_CTRL_ACK. And current eDMA driver use virt chan mechanism and
free tx_descriptor memory after .callback(), but .lpuart_timer_func()
first to terminate the chans that free the tx_descriptor memory, then
access the tx->flags, which cause kmem_cache_alloc() failed to allocate
the freed memory. So remove the unnecessary .async_tx_ack().
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Fugang Duan [Sat, 13 May 2017 11:19:29 +0000 (19:19 +0800)]
MLK-14978 irqchip: irqsteer: add NXP imx8 irq steer controller support
The IrqSteer module redirects/steers the incoming interrupts to output
interrupts of a selected/designated channel as specified by a set of
configuration registers.
NXP i.MX8x chips integrate IrqSteer controller for some DSC to share irq
line for all modules in the subsystem which can reduce the IRQ lines
connected to the parent interrupt controller GIC, so IrqSteer irqchip
acts as the second irq domain in the system.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Richard Zhu [Fri, 26 May 2017 01:10:42 +0000 (09:10 +0800)]
PCI: imx6: Allow probe deferral by reset GPIO
Some designs implement reset GPIO via a GPIO expander connected to a
peripheral bus. One such example would be i.MX7 Sabre board where said
GPIO is provided by SPI shift register connected to a bitbanged SPI bus.
To support such designs, allow reset GPIO request to defer probing of the
driver.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Cc: yurovsky@gmail.com
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Dong Aisheng <dongas86@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
(cherry picked from commit
bde4a5a00e761f55be92f62378cf5024ced79ee3)
Peng Fan [Tue, 23 May 2017 09:30:39 +0000 (17:30 +0800)]
MLK-14957 clk: imx8qm/qxp: delay the clk driver initialization
Using CLK_OF_DECLARE will register clks at very early stage
that AP-SC communication still not ready.
MU driver is registered by early_initcall, so using core_initcall
to delay the registeration of clk driver is ok.
Move channel open function into probe to avoid core_init sequence
not in our expected order. If MU not ready, return defer probe
for clk driver.
Later when we switch to use interrupt driver AP-SC communication,
we could also return defer probe in clk probe function to wait
until AP-SC communication ready.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Guoniu.Zhou [Mon, 22 May 2017 11:08:41 +0000 (19:08 +0800)]
MLK-14963 PXP: enable pxp interrupt after soft reset
After soft reset, the irq register value will be zero, so we need set it to enable
all pxp interrupts.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Leonard Crestez [Fri, 19 May 2017 15:24:34 +0000 (18:24 +0300)]
MLK-14977: ARM: dts: imx7: Use IMX7D_GPT_3M_CLK for GPT1
On most imx SOCs GPT1 takes it's clock from the oscillater because
otherwise it might get confusing when bus frequency is decreased.
Right now imx7 is an exception because imx7s.dtsi comes from upstream
rather than a port of imx_4.1.y.
On the imx_4.1.y branch imx7 uses GPT_3M as well, adopt that approach.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Robin Gong [Thu, 25 May 2017 05:59:21 +0000 (13:59 +0800)]
MLK-14960-3: ARM: dts: imx6: remove 'fsl,wdog-reset'
Remove usless 'fsl,wdog-reset' property in dts on v4.9
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Robin Gong [Wed, 24 May 2017 10:19:27 +0000 (18:19 +0800)]
MLK-14960-2: ARM: dts: imx6/imx7: correct to "fsl,ext-reset-output"
align watchdog external reset output property with community
instead of "fsl,wdog_b".
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Robin Gong [Wed, 24 May 2017 10:16:53 +0000 (18:16 +0800)]
MLK-14960-1: watchdog: imx2_wdt: remove wdog_b
ext_reset used instead of wdog_b on v4.9, no need wdog_b anymore.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Anson Huang [Wed, 24 May 2017 16:19:08 +0000 (00:19 +0800)]
MLK-14975-2 ARM64: dts: freescale: imx8qxp: increase DDR space for M4
M4 has use case of video and need more DDR space
for video buffer, reserve more DDR space for it.
0x80000000 - 0x800fffff: ARM Trusted Firmware;
0x80100000 - 0x87ffffff: M4/RPMSG;
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Wed, 24 May 2017 16:16:14 +0000 (00:16 +0800)]
MLK-14975-1 ARM64: dts: freescale: imx8qm: increase DDR space for M4
M4 has use case of video and need more DDR space
for video buffer, reserve more DDR space for it.
0x80000000 - 0x800fffff: ARM Trusted Firmware;
0x80100000 - 0x87ffffff: M4/RPMSG;
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Radu Solea [Tue, 23 May 2017 12:13:50 +0000 (15:13 +0300)]
MLK-14785 CAAM: Fix gcm.c to work correctly with CAAM
CAAM uses DMA to transfer data to and from memory, if
DMA and CPU accessed data share the same cacheline cache
pollution will occur. Marking the result as cacheline aligned
moves it to a separate cache line.
Signed-off-by: Radu Solea <radu.solea@nxp.com>
Robin Gong [Wed, 24 May 2017 08:28:43 +0000 (16:28 +0800)]
MLK-14976: dma: virt-dma: free description after callback
Some drivers may access dma_async_tx_descriptor in callback such as
tty/serial/fsl_lpuart.c, but the description has already been freed
before callback, memory corrupt here. Move the free description
behind of callback.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Fugang Duan [Wed, 24 May 2017 07:44:46 +0000 (15:44 +0800)]
MLK-14973 arm64: dts: imx8qm: add DMA subsystem UART ports and DMA chans
Add DMA subsystem UART ports and related DMA channels for i.MX8QM
lpddr4 arm2 board.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Li Jun [Thu, 18 May 2017 22:55:45 +0000 (06:55 +0800)]
MLK-14947-6 arm64: defconfig: enable chipidea controller driver and mxs phy driver
Enable chipidea usb controller driver and mxs usb phy driver for imx8.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Thu, 18 May 2017 16:07:42 +0000 (00:07 +0800)]
MLK-14947-5 chipidea: imx: add usb vbus power polarity setting
If the vbus is controlled by ehci port power bit, we need set power
polarity of vbus enable signal according to the vbus power supply
chip on board.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Thu, 18 May 2017 16:06:48 +0000 (00:06 +0800)]
MLK-14947-4 ARM: dts: set usb1 vbus power polarity for imx8qm arm2
Set the OTG1 vbus power polarity to be active high on
fsl-imx8qm-lpddr4-arm2.dts.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Wed, 24 May 2017 14:45:36 +0000 (22:45 +0800)]
MLK-14947-3 usb: doc: chipidea: imx: add power-polarity-active-high property
USB host vbus control can be via port power(PP) bit of ehci, there
is a polarity setting in controller register for this signal, if
power supply chip use active high, add this property.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Thu, 18 May 2017 16:05:44 +0000 (00:05 +0800)]
MLK-14947-2 usb: phy: add mxs phy driver dependency for ARM64
Add mxs phy driver dependency on ARCH_MXC_ARM64.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Thu, 18 May 2017 16:03:49 +0000 (00:03 +0800)]
MLK-14947-1 gpc: imx: empty imx_gpc_mf_request_on if imx gpc is not used
Empty imx_gpc_mf_request_on() if imx gpc is not available to pass compile
on i.mx8x.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Sekhar Nori [Mon, 3 Apr 2017 08:26:52 +0000 (13:56 +0530)]
usb: hcd: use correct device pointer for dma ops
commit
a8c06e407ef9 ("usb: separate out sysdev pointer from
usb_bus") converted to use hcd->self.sysdev for DMA
operations instead of hcd->self.controller but forgot to do
it for one instance.
This gets caught when DMA debugging is enabled since dma map
and unmap end up using different device pointers.
Fix it.
Fixes:
a8c06e407ef9 ("usb: separate out sysdev pointer from usb_bus")
Reported-by: Carlos Hernandez <ceh@ti.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
bde654a55adca166641361332e1f141de5197b02)
Peter Chen [Mon, 13 Mar 2017 02:18:45 +0000 (10:18 +0800)]
usb: ehci: use bus->sysdev for DMA configuration
Set the dma for ehci from sysdev. The sysdev is pointing to device that
is known to the system firmware or hardware.
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Sriram Dash <sriram.dash@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
8b373ffc797713337f42f0e58d832d5cae86752c)
Arnd Bergmann [Mon, 13 Mar 2017 02:18:44 +0000 (10:18 +0800)]
usb: xhci: use bus->sysdev for DMA configuration
For xhci-hcd platform device, all the DMA parameters are not
configured properly, notably dma ops for dwc3 devices. So, set
the dma for xhci from sysdev. sysdev is pointing to device that
is known to the system firmware or hardware.
Cc: Baolin Wang <baolin.wang@linaro.org>
Tested-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Tested-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
4c39d4b949d36faffbc726525b469886cf311d1c)
Arnd Bergmann [Mon, 13 Mar 2017 02:18:42 +0000 (10:18 +0800)]
usb: chipidea: use bus->sysdev for DMA configuration
Set the dma for chipidea from sysdev. This is inherited from its
parent node. Also, do not set dma mask for child as it is not required
now.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
aeb78cda51005fa00943e331c1fb47c6ad74015d)
Arnd Bergmann [Mon, 13 Mar 2017 02:18:41 +0000 (10:18 +0800)]
usb: separate out sysdev pointer from usb_bus
For xhci-hcd platform device, all the DMA parameters are not
configured properly, notably dma ops for dwc3 devices.
The idea here is that you pass in the parent of_node along with
the child device pointer, so it would behave exactly like the
parent already does. The difference is that it also handles all
the other attributes besides the mask.
sysdev will represent the physical device, as seen from firmware
or bus.Splitting the usb_bus->controller field into the
Linux-internal device (used for the sysfs hierarchy, for printks
and for power management) and a new pointer (used for DMA,
DT enumeration and phy lookup) probably covers all that we really
need.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Tested-by: Baolin Wang <baolin.wang@linaro.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Tested-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Tested-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Sinjan Kumar <sinjank@codeaurora.org>
Cc: David Fisher <david.fisher1@synopsys.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: "Thang Q. Nguyen" <tqnguyen@apm.com>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Ming Lei <tom.leiming@gmail.com>
Cc: Jon Masters <jcm@redhat.com>
Cc: Dann Frazier <dann.frazier@canonical.com>
Cc: Peter Chen <peter.chen@nxp.com>
Cc: Leo Li <pku.leo@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
a8c06e407ef969461b7f51ec72839fe382dd3c29)
Mihai Serban [Thu, 27 Apr 2017 15:47:42 +0000 (18:47 +0300)]
MLK-14935: ASoC: fsl_sai: Fix mixing initialization data with actual audio samples
When starting a playback the initialization data used to reduce underruns
was send to the transmit data register after the DMA requests were enabled.
This patch moves the initialization phase before enabling the DMA so the
data is transmitted in correct order.
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Frank Li [Fri, 19 May 2017 20:48:20 +0000 (15:48 -0500)]
MLK-14955-2 arm64: defconfig: remove COMPILE_TEST
Auto Enable LOCALVERSION_AUTO
so show git commit hash value in boot log
Linux version
4.9.11-02242-gf4b0aff-dirty
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Frank Li [Fri, 19 May 2017 20:44:47 +0000 (15:44 -0500)]
MLK-14955-1 imx8: Added MXC_ARM64 into dependent
Otherwise there are warning when remove COMPILE_TEST
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Mihai Serban [Mon, 15 May 2017 12:52:57 +0000 (15:52 +0300)]
MLK-14778: ASoC: fsl: imx-cs42888: Improve support for odd number of channels
For samples with more than 2 and odd number of channels the I2S mode
does not work correctly. In I2S mode we are required to activate an even
number of channels (possibly on multiple datalines) and thus configure
the BCLK for even channels. In this case samples with odd (smaller) number
of channels are played faster and the sound is distorted.
To fix this behavior we can enable TDM mode for the special cases of
samples with 3, 5 or 7 channels. But even TDM has some restrictions that
prevent us from having full support for the special cases:
1. TDM is not supported by codec in master mode so 3, 5 and 7 channels
usage is denied.
2. In codec slave mode TDM works only with 8 slots and slot width of 32
bits. For an often used MCLK frequency of 24MHz and the above restrictions
the maximum sample rate is limited to 48KHz =
24576000/(2*8*32).
The 2 denominator is required by ESAI BCLK divisors.
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Anson Huang [Tue, 23 May 2017 12:06:40 +0000 (20:06 +0800)]
MLK-14967-2 ARM64: dts: freescale: imx8qxp: reserve DDR for M4
Reserve first 4M memory for below usage:
0x80000000 - 0x800fffff: ARM Trusted Firmware;
0x80100000 - 0x803fffff: M4/RPMSG;
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 12:05:28 +0000 (20:05 +0800)]
MLK-14967-1 ARM64: dts: freescale: imx8qm: reserve DDR space for M4
Reserve first 4M memory for below usage:
0x80000000 - 0x800fffff: ARM Trusted Firmware;
0x80100000 - 0x803fffff: M4/RPMSG;
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:09:00 +0000 (18:09 +0800)]
MLK-14966-6 mxc: Kconfig: improve build dependency
Use ARCH_MXC_ARM64 instead of ARCH_FSL_IMX8QM
to improve MXC build dependency.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:07:15 +0000 (18:07 +0800)]
MLK-14966-5 mmc: imx: add ARCH_MXC_ARM64 into build dependency
Add ARCH_MXC_ARM64 for i.MX mmc driver to support
ARM64 platforms.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:05:57 +0000 (18:05 +0800)]
MLK-14966-4 gpio: imx: add build dependency
Add build dependency for i.MX gpio driver.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:04:06 +0000 (18:04 +0800)]
MLK-14966-3 clk: makefile: use ARCH_MXC_ARM64 for imx dependency
Use ARCH_MXC_ARM64 instead of ARCH_FSL_IMX8QM for i.MX
ARM64 platforms build dependency.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:03:10 +0000 (18:03 +0800)]
MLK-14966-2 ARM64: configs: select ARCH_MXC_ARM64 by default
Enable ARCH_MXC_ARM64 by default for i.MX ARM64 platforms.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Anson Huang [Tue, 23 May 2017 10:01:15 +0000 (18:01 +0800)]
MLK-14966-1 soc: imx: add ARCH_MXC_ARM64 menuconfig
Add ARCH_MXC_ARM64 for i.MX ARM64 platforms, this
can improve the modules dependency logic.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Fugang Duan [Fri, 19 May 2017 10:12:23 +0000 (18:12 +0800)]
MLK-14952 arm64: dts: imx8qm/qxp: add enet support
Add enet support for i.MX8QM and i.MX8QXP lpddr4 arm2 board.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Fugang Duan [Fri, 19 May 2017 10:05:35 +0000 (18:05 +0800)]
MLK-14951 clk: imx8: correct enet txclk clock tree for i.MX8qm and i.MX8qxp
Correct enet txclk clock tree for i.MX8qm and i.MX8qxp.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>