Commit Graph

719373 Commits

Author SHA1 Message Date
a486f15eaf 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>
2019-02-12 10:26:43 +08:00
30c6e0f1fa 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>
2019-02-12 10:26:43 +08:00
3985464d30 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>
2019-02-12 10:26:43 +08:00
2b4c20f862 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>
2019-02-12 10:26:43 +08:00
5eee6c52ea 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>
2019-02-12 10:26:43 +08:00
ce7fe053d0 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>
2019-02-12 10:26:43 +08:00
c587719fbe 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>
2019-02-12 10:26:42 +08:00
c03a4b7804 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>
2019-02-12 10:26:42 +08:00
6c2f34ab50 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>
2019-02-12 10:26:42 +08:00
62241e8893 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>
2019-02-12 10:26:42 +08:00
e85d4f64db 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>
2019-02-12 10:26:42 +08:00
407ba8935a 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>
2019-02-12 10:26:42 +08:00
b26a46dbd1 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>
2019-02-12 10:26:42 +08:00
c138376327 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>
2019-02-12 10:26:42 +08:00
d69a251271 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>
2019-02-12 10:26:41 +08:00
ee60b1e77e 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>
2019-02-12 10:26:41 +08:00
1cd89db044 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>
2019-02-12 10:26:41 +08:00
91d42be879 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>
2019-02-12 10:26:41 +08:00
56cca73546 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>
2019-02-12 10:26:41 +08:00
9f0efcd4b2 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>
2019-02-12 10:26:40 +08:00
e14e981b45 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>
2019-02-12 10:26:40 +08:00
47a23c72fc 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>
2019-02-12 10:26:40 +08:00
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