When imx8dxl enet1 is fused as below, enet1 doesn't support
RGMII mode, so add tja1100 RMII phy support.
ENET1 otp fuse: word 0xa, bit1
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
The crtc_states could be got concurrently if multiple atomic checks
happen simultaneously, so ERR_PTR(-EDEADLK) could be returned from
drm_atomic_get_crtc_state(). In such normal cases, we just rollback
all added drm objects and userspace could try the same atomic check
or commit again, so it's unnecessary to warn.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
passthrough vpu/esai/pcie/edma and etc to domu, to let domu
could use more functions which is a must for android auto in
domu.
Reviewed-by: zhang sanshan <pete.zhang@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
For more readable, use a handler table to insert scode for
each format.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
The payload header of sequence / picture / slice are the
same operation, could unify them in a function.
payload size = data_size - payload_header_size - start_code_size
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
Correct VP8 ivf frame header
firmware just parse 64-bit timestamp(8 bytes).
As not transfer timestamp to firmware, use default value(ZERO).
No need to do anything here.
Refine the function of set vp8 ivf sequence header.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
The seq payload size should is 20+12.
Refine the function of set rcv header.
Refine the function of create nal header.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
There are two more DONE0_CONFIG/DONE1_CONFIG registers on i.mx8m family.
Add them to save/restore register list during systerm level suspend/
resume to restore them after resume back, otherwise, PDM case maybe failed
in suspend/resume case.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Enable wdog for rpmsg dts to make wdog function could work properly.
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
The original patch updates REG_MICFIL_STAT in fsl_micfil_reset
method, but not in configure_hwvad_interrupts, fix this.
Fixes: e12b0060cd ("MLK-22598: ASoC: fsl_micfil: Reset channel output
data Flag")
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
1. the mu won't be really power off,
so we need restore the mu but not initialize it
2. the vpu is shared with vpu windsor,
so we don't do vpu reset when remove module.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
delay the creation of video device node in order to avoid inmod failure
in probe function, if create video node in a early stage,
the video node may be created before initialize the vpu dev,
and in such case, open video node,
the mu mailbox may be not requested,
then it will led to download firmware fail.
so create the video device node at the end of the probe function.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
1. the mu won't be really power off,
so we need restore the mu but not initialize it
2. the vpu is shared with vpu malone,
so we don't do vpu reset when remove module.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
delay the creation of video device node in order to avoid inmod failure
in probe function, if create video node in a early stage,
the video node may be created before initialize the vpu dev,
and in such case, open video node,
the mu mailbox may be not requested,
then it will led to download firmware fail.
so create the video device node at the end of the probe function.
Signed-off-by: Ming Qian <ming.qian@nxp.com>
There could be still RTC registers access after RTC suspend
with clock disabled, need to add clock operations for each
RTC API to make sure accessing RTC registers is successfully.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
In IRQ handler, ONLY clock enable/disable is called due to
clock prepare can NOT be called in interrupt context, but
clock enable/disable will return failure if prepare count
is 0, to fix this issue, just make SNVS clock always prepared
there, the SNVS clock has no prepare function implemented,
so it won't impact anything.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
During probe SOF driver loads the topology, which will send messages
to DSP to create the Audio components.
SOF DAI component at creation time calls probe() and touches DAI
registers thus we need to make sure DAI clocks are turned on during
probe.
Using pm_runtime_get_sync() we force resume to be called which will
enable all necessary clocks.
Later we call the pm_runtime_put_sync() and mark the device as
autosuspend. This will cause suspend to be called which will disable
all clocks to save power.
Later, when userspace uses the sound card (via aplay/arecord) or any
alsa-lib calls the normal runtime resume/suspend flow will happen.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
When M4 boots from flexspi, linux should not use that, otherwise
M4 will hang.
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Create imx8qxp-mek-lcdif.dts and imx8qxp-mek-lcdif-rpmsg.dts files for
the display use-case of LCDIF.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Make lcd_clk a mux from lcd_sels as they are defined in 4.19 tree.
Also define the elcdif_pll, since this will be the parent of lcd_clk.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
This is an adapter card made for the 4.3", 800x480, LCD panel Seiko
43WVFIG. The LCD panel is a 24bit DPI bus, while the adapter card has
two ports: 18-bit and 24-bit data input. For the 18-bit data input, the
adapter card is demuxing some of the data lines, in order to feed all of
the 24 lines needed by the LCD.
This driver handles both this use-cases.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Apparently, in order to enable the MIPI block, the reset signals must
be in asserted mode, in order to proper de-assert and initialize the
MIPI block. So, before the enable process, assert all the MIPI resets.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
in_filled_len need to be reset on suspend, for suspend, every state
will go back to initilization state.
Fixes: 3e87108614 ("MLK-24044: ASoC: fsl_easrc_m2m: Fix output length not accurate")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
initilize the m2m->complete in open() to avoid the NULL pointer in suspend
because the suspend can be called before initilizing m2m->complete in convert
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
cdns DP API function cdns_mhdp_set_host_cap interface has
changed in another patch and rockchip DP driver should updated
to the change.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
files
Enable cm40 lpuart in imx8dxl-evk.dts and disable it in
imx8dxl-evk-rpmsg.dts.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Adding lpuart device in cm40 subsystem needs to add cm40_lpuart node and
Low-Power Clock Gating which is used for uart. Add serial4 alias for 8dxl.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
According to Mixel MIPI CSI PHY spec, the minimum value for RXHS_SETTLE
is 85ns + 6*UI and the maximum value for RXHS_SETTLE is 145ns + 10*UI,
so get average value of maximum and minimum as RXHS_SETTLE typical value.
Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
Reviewed-by: Sandor Yu <sandor.yu@nxp.com>
The legacy terminate_worker may terminate the next transfer if it comes
before all jobs done in terminated_worker, or refuse to setup next transfer
since sdmac->desc may not be NULL in sdma_issue_pending(). That case could
be easily caught in Audio play in case underrun happen at ALSA level which
means dma channel will be terminated and start again very frequently.
So move the logic part of 'sdmac->desc' into sdma_disable_channel_async but
leave the desc free in the work to kill the above case.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Fix SAI3 pads for ak5552 ADC support; add multi
clock entries to support all sample rates
Use fsl,imx-audio-ak5552 for asoc machine driver
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Fix SAI3 pads for ak5552 dac support, add multi
clock entries to support all sample rates
Use fsl,imx-audio-ak5552 and disable ak4458_3 to
follow default config
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Add fsl,imx-audio-ak5552 to imx-ak5558 machine ASoC
driver, limit actual number of channels for ak5552
ADC support
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Correct fec phy reg id, allow to use nfsroot
Fixes: mdio_bus 30be0000.ethernet-1: MDIO device at
address 1 is missing.
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>