Commit Graph

877992 Commits

Author SHA1 Message Date
Li Jun fd263a3edd MLK-23587-2 usb: dwc3: drd: don't free_irq for role switch
As role switch class does not use otg irq like edev, so don't
do free irq for it.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2020-03-14 16:34:31 +08:00
Li Jun 24b9a59b32 MLK-23587-1 usb: dwc3: imx8mp: keep runtime active when remove driver
As driver removal will do clocks disable, we don't need runtime
suspend to disable clocks, so keep runtime resume when driver
remove.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2020-03-14 16:34:31 +08:00
Li Jun 65512083ef MLK-23531 usb: dwc3: gadget: add skip_remain_trbs flag
If we're in the middle of series of chained TRBs and we
receive a short transfer along the way, DWC3 will skip
through all TRBs including the last TRB in the chain, DWC3
will avoid clearing HWO bit and SW has to do it manually.
but currect code can't hit the condition when loop sgs of
request in dwc3_gadget_ep_reclaim_trb_sg() if short packet
received for one chained trb, because it only check the HWO
bit of all trbs and then break if it's 1, so the remain trbs
has no chance to be handled by dwc3_gadget_ep_reclaim_completed_trb(),
this patch adds a flag if received a short packet in a chained
trb, and let dwc3_gadget_ep_reclaim_trb_sg() continue handle
all trbs and give back to function driver.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2020-03-14 16:34:31 +08:00
Pratham Pratap cc381ad0ff usb: dwc3: gadget: Update chain bit correctly when using sg list
If scatter-gather operation is allowed, a large USB request is split
into multiple TRBs. For preparing TRBs for sg list, driver iterates
over the list and creates TRB for each sg and mark the chain bit to
false for the last sg. The current IOMMU driver is clubbing the list
of sgs which shares a page boundary into one and giving it to USB driver.
With this the number of sgs mapped it not equal to the the number of sgs
passed. Because of this USB driver is not marking the chain bit to false
since it couldn't iterate to the last sg. This patch addresses this issue
by marking the chain bit to false if it is the last mapped sg.

At a practical level, this patch resolves USB transfer stalls
seen with adb on dwc3 based db845c, pixel3 and other qcom
hardware after functionfs gadget added scatter-gather support
around v4.20.

Credit also to Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
who implemented a very similar fix to this issue.

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Yang Fei <fei.yang@intel.com>
Cc: Thinh Nguyen <thinhn@synopsys.com>
Cc: Tejas Joglekar <tejas.joglekar@synopsys.com>
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: Todd Kjos <tkjos@google.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Linux USB List <linux-usb@vger.kernel.org>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
[jstultz: Slight tweak to remove sg_is_last() usage, reworked
          commit message, minor comment tweak]
Signed-off-by: John Stultz <john.stultz@linaro.org>
2020-03-14 16:34:31 +08:00
Lars-Peter Clausen 132def6619 usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags
ffs_aio_cancel() can be called from both interrupt and thread context. Make
sure that the current IRQ state is saved and restored by using
spin_{un,}lock_irq{save,restore}().

Otherwise undefined behavior might occur.

Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
(cherry picked from commit 43d565727a3a6fd24e37c7c2116475106af71806)
2020-03-14 16:34:31 +08:00
Anurag Kumar Vulisha 398e411c52 usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields
The current code in dwc3_gadget_ep_reclaim_completed_trb() will
check for IOC/LST bit in the event->status and returns if
IOC/LST bit is set. This logic doesn't work if multiple TRBs
are queued per request and the IOC/LST bit is set on the last
TRB of that request.

Consider an example where a queued request has multiple queued
TRBs and IOC/LST bit is set only for the last TRB. In this case,
the core generates XferComplete/XferInProgress events only for
the last TRB (since IOC/LST are set only for the last TRB). As
per the logic in dwc3_gadget_ep_reclaim_completed_trb()
event->status is checked for IOC/LST bit and returns on the
first TRB. This leaves the remaining TRBs left unhandled.

Similarly, if the gadget function enqueues an unaligned request
with sglist already in it, it should fail the same way, since we
will append another TRB to something that already uses more than
one TRB.

To aviod this, this patch changes the code to check for IOC/LST
bits in TRB->ctrl instead.

At a practical level, this patch resolves USB transfer stalls seen
with adb on dwc3 based HiKey960 after functionfs gadget added
scatter-gather support around v4.20.

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Yang Fei <fei.yang@intel.com>
Cc: Thinh Nguyen <thinhn@synopsys.com>
Cc: Tejas Joglekar <tejas.joglekar@synopsys.com>
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: Todd Kjos <tkjos@google.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Linux USB List <linux-usb@vger.kernel.org>
Cc: stable <stable@vger.kernel.org>
Tested-by: Tejas Joglekar <tejas.joglekar@synopsys.com>
Reviewed-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
[jstultz: forward ported to mainline, reworded commit log, reworked
 to only check trb->ctrl as suggested by Felipe]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>

(cherry picked from commit 5ee858975b13a9b40db00f456989a689fdbb296c)
2020-03-14 16:34:31 +08:00
Thinh Nguyen eac28557fd usb: dwc3: gadget: Remove END_TRANSFER delay
We had a 100us delay to synchronize the END_TRANSFER command completion
before giving back requests to the function drivers. Now, the controller
driver can handle cancelled TRBs with the requests' cancelled_list and
it can also wait until the END_TRANSFER completion before starting new
transfers. Synchronization can simply base on the controller's command
completion interrupt. The 100us delay is no longer needed. Remove this
arbitrary delay.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cf2f8b63f7f1f6763e4fcdf89145312224ee736b)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 8b38e3f85f usb: dwc3: gadget: Delay starting transfer
If the END_TRANSFER command hasn't completed yet, then don't send the
START_TRANSFER command. The controller may not be able to start if
that's the case. Some controller revisions depend on this. See
commit 76a638f8ac ("usb: dwc3: gadget: wait for End Transfer to
complete"). Let's only send START_TRANSFER command after the
END_TRANSFER command had completed.

Fixes: 3aec99154d ("usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING")
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit da10bcdd6f70dc9977f2cf18f4783cf78520623a)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 6a0256bad5 usb: dwc3: gadget: Check END_TRANSFER completion
While the END_TRANSFER command is sent but not completed, any request
dequeue during this time will cause the driver to issue the END_TRANSFER
command. The driver needs to submit the command only once to stop the
controller from processing further. The controller may take more time to
process the same command multiple times unnecessarily. Let's add a flag
DWC3_EP_END_TRANSFER_PENDING to check for this condition.

Fixes: 3aec99154d ("usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING")
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c58d8bfc77a2c7f6ff6339b58c9fca7ae6f57e70)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 7813e7128a usb: dwc3: ep0: Clear started flag on completion
Clear ep0's DWC3_EP_TRANSFER_STARTED flag if the END_TRANSFER command is
completed. Otherwise, we can't start control transfer again after
END_TRANSFER.

Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
(cherry picked from commit 2d7b78f59e020b07fc6338eefe286f54ee2d6773)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 517eea63b2 usb: dwc3: gadget: Clear DCTL.ULSTCHNGREQ before set
Send a no-action link state change request before the actual request
so DWC3 can send the same request whenever we call
dwc3_gadget_set_link_state().

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 2e708fa3b8987a6a76853cd4deaee990095a7b20)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 2ffb6631fb usb: dwc3: gadget: Set link state to RX_Detect on disconnect
When DWC3 receives disconnect event, it needs to set the link state to
RX_Detect.

DWC_usb3 3.30a programming guide 4.1.7

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 1b6009ea88ec3657792c6d15e33990abf2b907b0)
2020-03-14 16:34:31 +08:00
Thinh Nguyen fe2520a18a usb: dwc3: gadget: Don't send unintended link state change
DCTL.ULSTCHNGREQ is a write-only field. When doing a read-modify-write
to DCTL, the driver must make sure that there's no unintended link state
change request from whatever is read from DCTL.ULSTCHNGREQ. Set link
state change to no-action when the driver writes to DCTL.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5b738211fb59e114727381d07c647a77c0010996)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 33557123ec usb: dwc3: gadget: Fix request complete check
We can only check for IN direction if the request had completed. For OUT
direction, it's perfectly fine that the host can send less than the
setup length. Let's return true fall all cases of OUT direction.

Fixes: e0c42ce590 ("usb: dwc3: gadget: simplify IOC handling")
Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Link: https://lore.kernel.org/r/ac5a3593a94fdaa3d92e6352356b5f7a01ccdc7c.1576291140.git.thinhn@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ea0d762775e20aaff7909a3f0866ff1688b1c618)
2020-03-14 16:34:31 +08:00
Thinh Nguyen 3baa4f6c13 usb: dwc3: gadget: Clear started flag for non-IOC
Normally the END_TRANSFER command completion handler will clear the
DWC3_EP_TRANSFER_STARTED flag. However, if the command was sent without
interrupt on completion, then the flag will not be cleared. Make sure to
clear the flag in this case.

Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
(cherry picked from commit d3abda5a98a18e524e17fd4085c9f4bd53e9ef53)
2020-03-14 16:34:31 +08:00
Tejas Joglekar 1d775b8897 usb: dwc3: gadget: Fix logical condition
This patch corrects the condition to kick the transfer without
giving back the requests when either request has remaining data
or when there are pending SGs. The && check was introduced during
spliting up the dwc3_gadget_ep_cleanup_completed_requests() function.

Fixes: f38e35dd84 ("usb: dwc3: gadget: split dwc3_gadget_ep_cleanup_completed_requests()")

Cc: stable@vger.kernel.org
Signed-off-by: Tejas Joglekar <joglekar@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
(cherry picked from commit 8c7d4b7b3d43c54c0b8c1e4adb917a151c754196)
2020-03-14 16:34:31 +08:00
Peter Chen 1652f55722 MLK-23584 usb: dwc3: core: do disconnect when do soft reset
There might usb connection to host in device mode when we do dwc3
core init, so explicitly clear RUN_STOP to disconnect from host,
with that we can start a new session afterwards, we found this
problem when use UUU to flash image with Linux kernel.

Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2020-03-14 16:34:31 +08:00
Robin Gong d609c0e166 MLK-23562: regulator: core: adjust supply voltage in bypass
Take account of bypass case where min_dropout_uV is 0 to adjust external
supply voltage correctly, otherwise, external pmic voltage will never be
in ldo bypass mode.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit ed6597132c)
2020-03-14 19:01:26 +08:00
Irina Tirdea d6c5c09089 MLK-13793-6 regulator: anatop: fix min dropout for bypass mode
In bypass mode, the anatop digital regulators do not have any minimum
dropout value (the input voltage is equal to the output voltage according
to documentation).

Having a min dropout value of 125mV will lead to an increased voltage
for PMIC supplies.

Only set minimum dropout value for ldo enabled mode.

Signed-off-by: Irina Tirdea <irina.tirdea@nxp.com>
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 9092e24ba0dce713e5478c0f925168b00e9e83cb)
(cherry picked from commit e169cf3592)
2020-03-14 19:01:01 +08:00
Han Xu c283a3e662 MLK-23588: arm64: dts: enable usbotg on imx8qxp lpddr4 val board for uuu download
Enabled the usbotg ports on imx8qxp lpddr4 val board for uuu download
NAND image.

Signed-off-by: Han Xu <han.xu@nxp.com>
Reviewed-by: Frank Li <frank.li@nxp.com>
(cherry picked from commit ad81692901)
2020-03-13 15:33:42 -05:00
Silvano di Ninno 9b350b9ff8 arm64: dts: imx8dxl Add caam node
8DXL have a different IRQ mapping compare to
8QM and 8QxP.

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
(cherry picked from commit 7753837330)
2020-03-13 23:00:28 +01:00
Silvano di Ninno 4a7527cc63 crypto:caam - Add support for i.MX 8DXL
Update CAAM driver to support i.MX 8DXL

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
(cherry picked from commit 4e7727ca0a)
2020-03-13 23:00:15 +01:00
Franck LENORMAND 94ff75adc8 MLK-23421: arch: arm64: imx8dxl: Change IRQ number
On 8dxl, the IRQ numbe ris different than on other 8SoC.

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit e4468cd15c)
2020-03-13 23:00:03 +01:00
Franck LENORMAND ebcce7d68d MLK-23421: arm64: imx_v8_defconfig: Enable SECO_MU
Enable the support for SECO_MU by default

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 6f9d149507)
2020-03-13 22:59:53 +01:00
Franck LENORMAND 2e56e47950 MLK-23421: arm64: dts: Use fast IPC for seco mu
This patch enables all the MU in the security subsystem
and configure them to use FAST IPC.

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 9a91e2843e)
2020-03-13 22:59:42 +01:00
Franck LENORMAND 59c0700a70 MLK-23421: fw: imx: seco_mu: Use fast IPC
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit da897c095b)
2020-03-13 22:59:31 +01:00
Franck LENORMAND 972fba7b94 MLK-23421: mailbox: imx: add SECO MU support
i.MX8/8X SECO firmware IPC is an implementation of passing messages.
But current imx-mailbox driver only support one word  message,
i.MX8/8X linux side firmware has to request four TX, four RX and a
TXDB to support IPC to SECO firmware. This is low efficent and
more interrupts triggered compared with one TX and one RX.

To make SECO MU work,
  - parse the size of msg.
  - Only enable TR0/RR0 interrupt for transmit/receive message.
  - For TX/RX, only support one TX channel and one RX channel
  - For RX, support receive msg of any size, linited by hardcoded value of 30.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 297f4cf6e1)
2020-03-13 22:59:19 +01:00
Franck LENORMAND 4cc99e389c MLK-23421: doc: update SECO MU driver binding for fast IPC
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit a2c5191461)
2020-03-13 22:59:08 +01:00
Franck LENORMAND 38481440e9 MLK-23421: dt-bindings: mailbox: imx-mu: add SECO MU support
i.MX8/8X SECO MU is dedicated for communication between kernel
and SECO. To use SECO MU more effectivly, add "fsl,imx8-seco-mu"
compatible to support fast IPC.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
(cherry picked from commit 7dd4eb4742)
2020-03-13 22:58:55 +01:00
Peng Fan 59dd3fd183 MLK-23421: mailbox: imx: restructure code to make easy for new MU
Add imx_mu_generic_tx for data send and imx_mu_generic_rx for interrupt
data receive.

Pack original mu chans related code into imx_mu_init_generic

Add tx/rx/init hooks into imx_mu_dcfg

With these, it will be a bit easy to introduce i.MX8/8X SCU type
MU dedicated to communicate with SCU.

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 13b8e3b1fa)
2020-03-13 22:58:44 +01:00
Daniel Baluta e041fbd14e MLK-23560-4 ASoC: SOF: Fix maybe used unitialized warning
This fixes the following compilation warning:

sound/soc/sof/imx/imx8.c: In function ‘imx8_probe’:
sound/soc/sof/imx/imx8.c:210:6: warning: ‘i’ may be used uninitialized
in this function [-Wmaybe-uninitiali

Warning introduce with commit commit 352ad24ec
("MLK-23350-1 ASoC: sof: Skip power domain handline when num_domains")

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2020-03-13 17:04:47 +02:00
Pierre-Louis Bossart 5ef38ba2f6 MLK-23560-3 ASoC: SOF: define INFO_ flags in dsp_ops
Currently the INFO_ flags such as PAUSE/NO_PERIOD_WAKEUP are defined
in the SOF PCM core, which doesn't scale. To account for platform
variations, these flags need to be set in DSP ops.

This patch only moves the definitions and does not change any
functionality.

Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191024210318.30068-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-03-13 17:04:47 +02:00
Daniel Baluta f2e7784028 MLK-23560-2: ASoC: SOF: Enable PM support
We need to provide PM macros in order for the SOF core
to suspend/resume the DSP.

PM support on the DSP side is quite limited and we are mostly
doing PM for ARM core.

Without this patch DSP won't be restarted after a resume causing
SOF driver calls to time out.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2020-03-13 17:04:47 +02:00
Zhou Peng d5dcd2ce0e MLK-23377-2: arm64: imx8mp: vc8000e: fix system hang in suspend/resume operation
Add suspend related operation:
- add ioctl 'HX280ENC_IOCG_EN_CORE' to trigger HW in kernel
- backup/restore HW registers only after frame ready interrupt received
- notify application re-config HW to avoid unexpected HW behavior

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
(cherry picked from commit 8a6df0450284b10bc307a68e766b89b986152fb9)
2020-03-13 19:45:25 +08:00
Joakim Zhang 2fe48f817b MLK-23573 arm64: dts: imx8qm/qxp-val: Enable CAN
Enable CAN on i.MX8QM/QXP validation board for test team requirement.

Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
2020-03-13 16:27:22 +08:00
Liu Ying 5c85400769 MLK-23267-2 arm64: imx8qm-ss-lvds.dtsi: Correct clock property of irqsteer_lvds1 node
The irqsteer_lvds1 node's ipg clock source should be
lvds1_lis_lpcg_ipg_clk, instead of lvds0_lis_lpcg_ipg_clk.

Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 869d88224b)
2020-03-13 15:50:06 +08:00
Liu Ying 42a5a64801 MLK-23267-1 arm64: imx8qm-ss-lvds.dtsi: Separate ipg clock for lvds0/1 subsystems
Each LVDS subsystem should have ipg clock of their own.

Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit bf8ae75604)
2020-03-13 15:50:06 +08:00
Zhang Peng 98bba4c56d MLK-23570i fsl: fsl_dsp: Fix dsp suspend issue on imx.mp board
1. Add check pm runtime state to decide send suspend msg to dsp when
call fsl_dsp_suspend.
2. Set proxy->dsp_mu_init be zero in fsl_dsp_suspend for imx.mp.

Signed-off-by: Zhang Peng <peng_zhang_8@nxp.com>
(cherry picked from commit 10abba22b3)
2020-03-13 15:41:32 +08:00
Minjie Zhuang 7867389eae MGS-5453 [#imx-1895] update gc_feature_database.h file
update gc_feature_database.h file for patch_base_on_6.4.0.p2_from_20200221_20200227

Signed-off-by: Minjie Zhuang <minjie.zhuang@nxp.com>
2020-03-12 14:51:05 +08:00
Fancy Fang daf11c7201 MLK-23576 gpu/imx: lcdifv3: add system sleep PM ops
To support system suspend and resume, the system sleep
PM ops of suspend and resume are required to be added
for LCDIFv3 display.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
(cherry picked from commit 40a94ac801)
2020-03-12 11:00:42 +08:00
Guoniu.zhou 4f93c50ff3 LF-1089: media: imx: fix 1024x768@15 camera issue for imx8qm and qxp
For iMX8QM ov5640 camera, if resolution is 1024x768@15, the image
will have overlapping issue.
For iMX8QXP ov5640 camera, if resolution is 1024x768@15, camera APP
will hang, it means no data from driver.

Run command as bellow can reproduce the issue:
/unit_tests/V4L2/mx8_v4l2_cap_drm.out -cam 1 -ow 1024 -oh 768 -fr 15

Setting HS_SETTLE of CSI to 0x23 for 1024x768@15 can fix the issue

Reviewed-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 3a61dae9aa)
2020-03-11 18:20:12 +08:00
Silvano di Ninno ad86e208a5 MLK-23561 arm64: dts: imx8-ss-security: fix Secure Memory mapping
Ranges for the security subsystem node is too small and does not include
the caam_sm range.

Fixes: e08b2903ae ("LF-824:  arm64: dts: Add seco mu nodes")
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Tested-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
(cherry picked from commit 534d8537d4)
2020-03-10 18:42:21 +01:00
Viorel Suman 8a7e1d19a8 MLK-23567-3: ASoC: fsl_xcvr: add TX CS control
TX CS control is needed for SPDIF/eARC TX function,
so add it. Aside of this separate TX controls from
RX controls so that controls can be added as function
of RX/TX flags of "fsl,xcvr-mode" DTS variable.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 69a1a919b9)
2020-03-10 11:28:52 +02:00
Viorel Suman f90d88fe40 MLK-23567-2: ASoC: fsl_xcvr: use same format for both RX and TX
The only supported XCVR format is IEC958_SUBFRAME_LE, so use it
for both RX and TX.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit e40f7a6b1a)
2020-03-10 11:28:51 +02:00
Viorel Suman 5a7a9220ee MLK-23567-1: dts: arm64: imx8mp-ab2: add SPDIF iomux config
Add SPDIF iomux configuration.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 80aaafd873)
2020-03-10 11:28:50 +02:00
Viorel Suman f9f5b52011 MLK-23566-1: arm64: dts: imx8mp: replace "earc" with "xcvr"
IP module name is AUDIO XCVR, eARC being just one
of the audio interfaces supported by XCVR IP module.
Use IP module name instead of a specific audio interface
in order to avoid confusion.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 2bcdf92a47)
2020-03-10 11:28:50 +02:00
Anson Huang 80840944c4 MLK-23564 cpufreq: imx-cpufreq-dt: Correct i.MX8MP market segment fuse location
i.MX8MP's market segment fuse location is 0x440 bit[6:5], corrent it.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 1af687d87a)
2020-03-10 14:41:55 +08:00
Ye Li 1c83036daa MLK-23552-4 arm64: dts: imx8dxl: Update ADMA subsystem nodes
Remove non-existing ADMA nodes on iMX8DXL, update the edma0 and
enable acm since this parent for some audio lpcg nodes.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 8a35ec5fc3)
2020-03-09 21:10:43 -07:00
Ye Li 72d36e2d91 MLK-23552-3 clk: imx8dxl-acm: Update ACM clock driver
Fix wrong compatible string which is duplicated with iMX8QXP and cause
register failed. And update clock tree according to iMX8DXL ADD, remove
unused inputs to audio mux.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 6d03fcd18f)
2020-03-09 21:10:42 -07:00
Ye Li ad21d4ecd6 MLK-23552-2 arm64: dts: imx8dxl: Remove IMG subsystem
iMX8DXL does not have IMG subsystem, so remove this SS dtsi file
from iMX8DXL

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 4ad83f42e3)
2020-03-09 21:10:41 -07:00