MLK-15001-14 drm/imx: ipuv3-crtc: Rename some IPUv3 specific functions
Since we want to add i.MX DPU support into imx-drm, the IPUv3 specific
KMS function names should be no more too generic with the prefix 'imx_drm'.
Let's rename them to be prefixed with 'ipu'.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-13 drm/imx: Extract IPUv3 specific KMS functions to ipuv3-kms.c
Since we want to add i.MX DPU support into imx-drm, the imx-drm core
driver should be no more IPUv3 specific. Let's make imx-drm more generic
and extract IPUv3 specific KMS functions to ipuv3-kms.c.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-12 arm64: defconfig: Enable i.MX DPU core support
This patch enables i.MX DPU core support in the arm64 kernel defconfig.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-11 gpu: Move ipuv3 and dpu to imx folder
IPUv3 and DPU are both i.MX display processing units.
To organize the driver code better, let's introduce the imx folder for them.
Later, we may put more drivers into this folder, e.g., the prefetch engines.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-10 gpu: Add dpu base driver
DPU is the display processing unit embedded in i.MX8qm and i.MX8qxp.
It was originally designed by Fujitsu.
The first revision has capture controller, display controller and blit engine.
The second revision is a lite one and has display controller and blit engine.
This patch adds a base driver for DPU, which provides a thin register wrapper,
interrurpt support and client platform device register for the upper layer to
use. Currently, the driver only sup...
MLK-15001-9 media: bus format: Add RGB101010_1X7X5_SPWG/JEIDA support
This patch adds 30bit RGB101010 LVDS pixel formats support for
the SPWG and JEIDA LVDS mapping standards. Each pixel is transferred
on 5 lanes with 7bit respectively.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-8 media: bus format: Add RGB666_1X30_PADLO support
This patch adds 30bit RGB666 with low padding support.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-7 media: bus format: Add RGB888_1X30_PADLO support
This patch adds 30bit RGB888 with low padding support.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-6 media: bus format: Add RGB101010_1X30 support
This patch adds 30bit RGB101010 pixel format support.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-5 clk: imx8qxp: Add some clocks support for DC and MIPI-LVDS SSs
This patch adds some clocks support for DC and MIPI-LVDS subsystems.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-4 arm64: dts: fsl-imx8qm-lpddr4-arm2: Remove it6263 support
No driver works with the it6263 nodes, so let's remove them.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-3 arm64: fsl-imx8qm.dtsi: Remove lvds nodes
No driver works with the lvds nodes, so let's remove them.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-2 arm64: fsl-imx8qm.dtsi: Remove imxdpu nodes
No driver works with the imxdpu nodes, so let's remove them.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15001-1 arm64: fsl-imx8qm.dtsi: Remove framebuffer nodes
No driver works with the framebuffer nodes, so let's remove them.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
MLK-15080 PCI: imx: pcie ep can't be probed properly
iMX7D Sabre SD board implement the GPIO expander
connected to a peripheral bus.
Probe deferral would be triggered when try to request
the expanded GPIO at the first time.
pcie ep can't be probed properly at the second probe,
because of the duplicated registration of the sysfs.
Change the registeration point of the sysfs to fix
this issue.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
MLK-15076: arm: dts: insulate ULP kernel boot from M4 boot
i.MX7ULP QSPI dtb was used to update the M4 images, it should not able
to boot the kernel even without the M4 image in QSPI.
Also fixed the typo in dtsi to correct the QSPI register address
mapping range.
Signed-off-by: Han Xu <han.xu@nxp.com>
MLK-15098: ASoC: fsl: fix imx-pcm build error when no dma
Fix build error when SOC_IMX_PCM_DMA is not enabled
error: expected identifier or ‘(’ before ‘{’ token})
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
MLK-15053: ASoC: fsl: imx-cs42888: Reject unsupported sampling rates
Dynamic constraints for supported sampling rates cannot prevent aplay to
play audio files with higher rates. So we remove the constraints and hard
reject the unsupported samples.
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
MLK-15096 arm64: dts: imx8qm/imx8qxp: enable enet2 port
Since the enet clock issue is fixed at SCU code by commit 07dcb2d71dd1
("Fix bug clock enable code. Ensure that the appropriate parent PLL is
enabled/disabled.") in scu mainline branch, then enable enet2 port for
imx8qm and imx8qxp lpddr4 arm2 boards.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
MLK-15095-02 ARM64: defconfig: add Bluetooth support
Enable Bluetooth stack, driver and HCI interface config for
Bluetooth support.
Run "make savedefconfig" to change the defconfig.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
MLK-15095-01 arm64: dts: imx8qm: add modem reset for Murata 1FD BT on lpddr4 arm2 board
i.MX8QM lpddr4-arm2 support Murata 1FD BT module that need some reset
timing. Add modem reset to support the BT device.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
MLK-15094 tty: serial: fsl_lpuart: check dma_tx_in_progress in callback
There have a corner case that tx DMA .callback() is comming after
.flush_buffer(), then .callback() should check dma_tx_in_progress
flag and return in directly.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
MLK-15093 tty: serial: imx: enable bit TDMAEN in each DMA transfer
In below case:
write() -> flush() -> write() -> flush() ...
.imx_flush_buffer() _MAY_ clear UCR1_TDMAEN bit if the callback is not
comming or DMA transfer is not completed, to ensure DMA trigger is enabled
for the new DMA prep_sg, enable the UCR1_TDMAEN bit in .dma_tx_work().
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: David Wolfe <david.wolfe@nxp.com>
MLK-15092 reset: gpio-reset: add post reset delay
Some devices need to wait for some milliseconds after reset, so add
post reset delay in the gpio-reset chip.
The post reset delay is optional.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
MLK-15042: ASoC: fsl_asrc: update supported format
The ASRC support 24 bit input width, but for S20_3LE the input width
is 20 bit, asrc will treat it as 24bit, which like a 24bit data shift
4 bit right, the result is the volume is lower than expected.
ASRC can't shift the 20bit data left 4 bit internally, so remove the
S20_3LE in supported list, add S24_3LE in supported list.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit e65a014efe0a69c2db9de422fb780f...
MLK-15063: ASoC: fsl: add dpcm_merged_chan for machine driver
Same as commit cfe36e2e7fce ("MLK-15043-2: ASoC: imx-cs42888: fix
noise issue with FE-BE case"). need to add same configuration
for imx-wm8960, imx-wm8962, imx-mqs.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 7195ad8ff56857028a6990296cc06e1c08a4e48e)
MLK-15068: ASoC: fsl_ssi: fix the noise issue with S20_3LE Mono bitsream
In master mode, clock of S20_3LE mono bistream is calculated by formula
"2 * params_width * params_rate", and this clock can't be divided from
clock soure, so switch to use the "2 * params_physical_width * params_rate"
formula to fix this issue.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 52a91e870b8cc95cbceeda205761134e25626863)
MLK-15081 usb: gadget: utp: fix build warning with aarch64 compiler
Compiler will generate below complain if using %d to print size_t, fix it
by using %zd.
drivers/usb/gadget/function/fsl_updater.c: In function ‘utp_do_read’:
./include/linux/kern_levels.h:4:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
./include/linux/kern_levels.h:13:19: ...
MLK-15074-7 ARM64: remove mfg_defconfig
As we can build in usb gadget function of utp for MFG tool, so we can
remove the dedicated menuconfig.
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15074-6 ARM64: defconfig: add USB gadget functions
Build in CONFIG_USB_CONFIGFS, and add legency gadget function drivers
as module.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-17054-5 ARM64: defconfig: match the output of 'make savedefconfig'
Update defconfig to match the output of make savedefconfig.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15074-4 ARM: remove imx_v7_mfg_defconfig
As we already build in USB mass storage for UTP via configfs
in kernel, we can use imx_v7_defconfig for MFG tool now, so
remove it.
Reviewed-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15074-3 ARM: imx_v7_defconfig: build in USB_CONFIGFS
Build in CONFIG_USB_CONFIGFS for MFG tool, with that, MFG tool can directly
use imx_v7_defconfig, and we can remove imx_v7_mfg_defconfig.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15074-2 usb: gadget: utp: move the Kconfig out of legacy dir
As the UTP is based on mass storage function, instead of legacy
g_mass_storage, so move it out of legacy folder.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15074-1 usb: gadget: f_mass_storage: add utp device check
Add utp device check for utp handling in f_mass_storage.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
MLK-15061-2: ASoC: fsl_asrc_m2m: fix asrc m2m can't work in imx8
Power domain need to be enabled when asrc m2m start to work, and
disabled when it stop.
Switch back to use the pm_runtime_get_sync and pm_runtime_put_sync
for which is removed in commit 1a3d82e08fa2 ("ASoC: fsl: refine
the asrc driver for imx8qm").
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
MLK-15061-1: ASoC: fsl_asrc_m2m: fix dma_map_sg issue for arm64
For arm64, the dma_map_sg and dma_unmap_sg need the device parameter,
otherwise, it will return error.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
MLK-15043-2: ASoC: imx-cs42888: fix noise issue with FE-BE case
The case is "aplay -Dhw:0,1 -d 5 -r 8000 -f S16_LE -c 9 audio8k16b9c.wav",
which is to playback 9 channel bitstream. But the maximum supported channel
of codec is 8, ALSA didn't return error for this case, but continue to
playback.
The reason is that in FE-BE case, ASLA only get the FE's hw parameter for
constraint list, omit the BE's parameter. This patch is to merge BE's
parameter to FE. in this situation with the 9 channel c...
MLK-15043-1: ASoC: soc-pcm: add dpcm_merged_chan in snd_soc_dai_link
According to commit b073ed4e2126 ("ASoC: soc-pcm: DPCM cares BE format"),
Current DPCM only care FE channel, but it will set unsupported channel to
drivers.
So add dpcm_merged_chan, which is used to merge the BE's codec
channels configuration to FE if it exist in snd_soc_dai_link. And
dpcm_runtime_base_chan function is to get the channel configuration of BE,
which likes the dpcm_runtime_base_format function.
Signed-off-by:...
MLK-15010 mmc: host: sdhci-esdhc-imx: add HS400_ES support for imx8
i.MX8QXP and i.MX8QM support Enhanced Strobe HS400 mode. This patch
add HS400_ES mode support, due to HS400_ES do not need tuning, select
HS400_ES mode should be faster than select HS400/HS200 mode.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
MLK-15047-2: ARM: imx: add IMX_SOC_IMX7
IMX_SOC_IMX7 is referenced in makefiles and kconfig but it is not
defined, so define it and select it for both IMX7D and IMX7ULP.
Fixes the following build errors:
arch/arm/mach-imx/built-in.o: In function `update_lpddr2_freq_smp':
platform-imx-dma.c:(.text+0xf7c): undefined reference to `imx_scu_base'
platform-imx-dma.c:(text+0xf88): undefined reference to `imx_scu_base'
arch/arm/mach-imx/built-in.o: In function `update_ddr_freq_imx_smp':
platform-i...
MLK-15030: EPDC: Filled stride value of s0_param layer
When epdc driver use pxp, it didn't fill stride value of s0_parm, so it leads to
epdc can display picture normally.
So fill it in this patch.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
MLK-15067: ASoC: fsl: imx-wm8958: Don't fail if gpr is missing
There are boards without gpr setting, so it's better not to fail
in such cases and only print a warning.
This is related to commit ce72b6d2668049 ("MLK-13574-1: ASoC: imx-wm8960:
remove the gpr dependency").
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
MLK-15056 arm: imx: use static mapping for imx7ulp AIPSx memory space
The AIPSx address space of i.MX7ULP need to be mapped as SZ_1M block
in iRAM tlb for suspend code use. If we use ioremap to map these
address region into kernel space, we can't make sure that the returned
virtual address is 1M alignment. So we can map this address regions
as static, then if we use the ioremap to map these memory regions, it will
always return the virtual address of static mapping. So we can make sure
the v...
MLK-15031-08 tty: serial: fsl_lpuart: optimize the port.lock cover range
In DMA tx callback, .uart_circ_chars_pending() also should be protected
by the port.lock, and in DMA rx callback, it can remove the lock protection
for .lpuart_copy_rx_to_tty() and .tty_flip_buffer_push() code range.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
MLK-15031-07 tty: serial: fsl_lpuart: add port.icount for DMA rx path
Add port.icount to stat. the DMA RX received count.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
MLK-15031-06 tty: serial: fsl_lpuart: re-calcaulate the minimum DMA transfer length
For lpuart32 loopback mode, DMA transfer length should be litter
than the tx/rx fifo free size to ensure there have no overrun.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
MLK-15031-04 tty: serial: fsl_lpuart: wait baud rate stable
After set the new baud rate, wait some time for the stable.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>