Commit Graph

719351 Commits

Author SHA1 Message Date
685f55b58d 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>
2019-02-12 10:26:40 +08:00
75ad6545ff 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>
2019-02-12 10:26:40 +08:00
82aca423d1 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>
2019-02-12 10:26:40 +08:00
5075df4cfc 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>
2019-02-12 10:26:40 +08:00
bd6eca19fc MLK-14997-6: ARM64: defconfig: built-in hifi driver
built-in hifi driver

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2019-02-12 10:26:40 +08:00
aa9b2508f1 MLK-14997-5: ARM64: dts: add hifi node in dts
add hifi node in dts

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2019-02-12 10:26:40 +08:00
b4d1fc2bb7 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>
2019-02-12 10:26:39 +08:00
63b2ca8047 MLK-14997-3: Document: Add fsl,hifi4 compatibility document
add hifi4 document

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2019-02-12 10:26:39 +08:00
a2b3682aa6 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>
2019-02-12 10:26:39 +08:00
8a76cd5817 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>
2019-02-12 10:26:39 +08:00
98156d0b0b MLK-14985-2 arm64: dts: imx8qm: add sensor support
sensors: fxas2100, fxos8700, isl29023, mpl3115

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2019-02-12 10:26:39 +08:00
ec45d2a196 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>
2019-02-12 10:26:39 +08:00
b8beceb23f MLK-14984 arm64: dts: add irqsteer for lvds subsystem
add irqsteer for lvds subsystem

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2019-02-12 10:26:39 +08:00
3183c2bc25 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>
2019-02-12 10:26:39 +08:00
ede264acf0 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.

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2019-02-12 10:26:39 +08:00
63319d5099 MLK-14981-3 defconfig: enable CONFIG_I2C_IMX_LPI2C
enable CONFIG_I2C_IMX_LPI2C

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
2019-02-12 10:26:38 +08:00
08d4b4f4fe 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>
2019-02-12 10:26:38 +08:00
a24a9997ca 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>
2019-02-12 10:26:38 +08:00
12c8126b93 MLK-15951 imx8qm: Fix HDMI clocks
Ensure that both PLL and IPG clocks are enabled and set by
the HDMI irqsteer device tree entry.

Fix some HDMI clock names.

The HDMI irqsteer incorrectly assumed that the HDMI bus clock will
be enabled automatically by the SCFW when HDMI SS is powered up.
Fix HDMI clocks so that the HDMI IPG clock is enabled when required.
Also fix all the LPCG addresses by HDMI clocks.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
2019-02-12 10:26:38 +08:00
335ca308e0 arm64: imx8: 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>
2019-02-12 10:26:38 +08:00
84786776ab 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>
2019-02-12 10:26:38 +08:00
a2d8fcff7a 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>
2019-02-12 10:26:37 +08:00
cb50f4683a 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>
2019-02-12 10:26:37 +08:00
47389f9768 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>
2019-02-12 10:26:37 +08:00
7d3ad09bd3 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>
2019-02-12 10:26:37 +08:00
c8f895e9ba 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>
2019-02-12 10:26:37 +08:00
84c315f4d8 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>
2019-02-12 10:26:37 +08:00
d3aa1310e4 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>
2019-02-12 10:26:37 +08:00
eb99e56a8b 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>
2019-02-12 10:26:37 +08:00
d9613f1cfa 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>
2019-02-12 10:26:37 +08:00
bc08b51441 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>
2019-02-12 10:26:37 +08:00
a229774486 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>
2019-02-12 10:26:36 +08:00
dfaea2677e 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>
2019-02-12 10:26:36 +08:00
1b7823d7f7 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>
2019-02-12 10:26:36 +08:00
b16c91e58e 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>
2019-02-12 10:26:36 +08:00
c13b7a006b 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>
2019-02-12 10:26:36 +08:00
58a0c2b041 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>
2019-02-12 10:26:35 +08:00
236120ec56 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>
2019-02-12 10:26:35 +08:00
966125d2ba 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>
2019-02-12 10:26:35 +08:00
df91a0465d 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>
2019-02-12 10:26:35 +08:00
495c96ee4c 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>
2019-02-12 10:26:35 +08:00
d2d1eeef8b 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>
2019-02-12 10:26:35 +08:00
b41f2ee61e 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>
2019-02-12 10:26:35 +08:00
53172cb072 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>
2019-02-12 10:26:35 +08:00
9eda05fae0 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>
2019-02-12 10:26:34 +08:00
ac57e1a9db 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>
2019-02-12 10:26:34 +08:00
090b6a008e 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>
2019-02-12 10:26:34 +08:00
ff137e1505 MLK-14952 arm64: dts: imx8qxp: add enet support
Add enet support for i.MX8QXP lpddr4 arm2 board.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2019-02-12 10:26:34 +08:00
1a82415430 MLK-14946-2: pinctrl: imx8qm/qxp: switch to use new format
switch to use new format. Split mux out from pad config.
Change the high two bits in pad config to 0, because driver
will automatically set that two bits to 1.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-02-12 10:26:34 +08:00
ac0b24e24b MLK-14949 arm64: dts: imx8qm/qxp add usdhc alias node
Add usdhc alias node. To i.MX8QXP ARM2 board,
kernel will panic if no alias node provided.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-02-12 10:26:34 +08:00