- Jul 16, 2021
-
-
Shengjiu Wang authored
This is a cpu dai driver for rpmsg audio use case, which is mainly used for getting the user's configuration from devicetree and configure the clocks which is used by Cortex-M core. Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1615516725-4975-3-git-send-email-shengjiu.wang@nxp.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Shengjiu Wang authored
fsl_rpmsg is a virtual audio device. Mapping to real hardware devices are SAI, DMA controlled by Cortex M core. What we see from Linux side is a device which provides audio service by rpmsg channel. Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1615516725-4975-4-git-send-email-shengjiu.wang@nxp.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Shengjiu Wang authored
Remove rpmsg audio driver for preparing port upstreamed rpmsg audio driver back. Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by:
Peng Zhang <peng.zhang_8@nxp.com>
-
Robert Chiras authored
Move the elcdif_pll clock initialization before the lcd_clk, since the elcdif_clk needs to be initialized ahead of lcd_clk, being its parent. This change fixes issues with the LCD clocks during suspend/resume. Signed-off-by:
Robert Chiras <robert.chiras@nxp.com> Suggested-by:
Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com> Acked-by:
Laurentiu Palcu <laurentiu.palcu@nxp.com>
-
Rob Herring authored
The example for the Silvaco I3C master doesn't match the schema's compatible string. Fix it. Cc: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Conor Culhane <conor.culhane@silvaco.com> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Cc: linux-i3c@lists.infradead.org Signed-off-by:
Rob Herring <robh@kernel.org> Reviewed-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210311234056.1588751-1-robh@kernel.org
-
Miquel Raynal authored
Silvaco provide a dual-role I3C master. Description is rather simple: it needs a register mapping, three clocks and an interrupt. Signed-off-by:
Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210121101808.14654-5-miquel.raynal@bootlin.com
-
Yang Yingliang authored
Fix the following make W=1 warning: drivers/i3c/master/svc-i3c-master.c:207: warning: expecting prototype for struct svc_i3c_i3c_dev_data. Prototype was for struct svc_i3c_i2c_dev_data instead Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Reviewed-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210602085544.4101980-1-yangyingliang@huawei.com (cherry picked from commit 3e5feb11)
-
Yang Yingliang authored
irq allocated with devm_request_irq() will be freed in devm_irq_release(), using free_irq() in ->remove() will causes a dangling pointer, and a subsequent double free. So remove the free_irq() in svc_i3c_master_remove(). Reported-by:
Hulk Robot <hulkci@huawei.com> Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Reviewed-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210602084935.3977636-1-yangyingliang@huawei.com (cherry picked from commit 59a61e69)
-
Colin Ian King authored
The assignment of xfer_len to cmd->read_len appears to be redundant as the next statement re-assigns the value 0 to it. Clean up the code by removing the redundant first assignment. Addresses-Coverity: ("Unused value") Fixes: dd3c5284 ("i3c: master: svc: Add Silvaco I3C master driver") Signed-off-by:
Colin Ian King <colin.king@canonical.com> Reviewed-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210224151349.202332-1-colin.king@canonical.com (cherry picked from commit 436cb709)
-
Miquel Raynal authored
Disabling all event calls is already handled by the core right before starting the DAA process. Do not do it again when the DAA process completes, it is redundant. Fixes: 1dd728f5 ("i3c: master: Add driver for Synopsys DesignWare IP") Signed-off-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20201228105501.6104-1-miquel.raynal@bootlin.com (cherry picked from commit 5c34b8e7)
-
Miquel Raynal authored
Add support for Silvaco I3C dual-role IP. The master role is supported in SDR mode only. I2C transfers have not been tested but are shared because they are very close to the I3C transfers in terms of register configuration. The IBI processing follows this logic: - When a slave advertizes an interrupt (SDA pulled low) an interrupt gets generated by the master. This time is unbounded and may be deferred. - The IRQ handler itself does not process anything: it only queues a work that will be run in non-atomic context. This is needed because short wait periods must be experienced. - The IBI job is divided in two parts: the first one is "critical" in the sense that it may not support getting interrupted. If this happens, after this first section the driver checks the master error register and depending on its content either flushes everything and errors out, or ends the processing (this second section may be interrupted). - If the critical section got interrupted, the slave will automatically respin it's IBI request when it will be allowed to. Signed-off-by:
Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210121101808.14654-6-miquel.raynal@bootlin.com (cherry picked from commit dd3c5284)
-
Uwe Kleine-König authored
The driver core ignores the return value of struct bus_type::remove() because there is only little that can be done. To simplify the quest to make this function return void, let struct i3c_driver::remove() return void, too. This makes it obvious that returning an error code is a bad idea and future driver authors cannot get that wrong. Up to now there are no drivers with a remove callback, so there is no need to adapt drivers. Signed-off-by:
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210128091048.17006-2-u.kleine-koenig@pengutronix.de (cherry picked from commit dd926703)
-
Uwe Kleine-König authored
A registered driver without a probe callback doesn't make sense, so refuse to register such a driver. (Otherwise i3c_device_probe() yields a NULL pointer exception.) A driver without remove is possible, e.g. when all resources are freed using devm callbacks. So guard the call to driver->remove by a check for being non-NULL. Note that the only in-tree i3c driver (drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i3c.c) doesn't have a remove callback. Signed-off-by:
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210128091048.17006-1-u.kleine-koenig@pengutronix.de (cherry picked from commit 7456fea5)
-
David Gow authored
The MIPI i3c HCI driver makes use of IOMEM functions like devm_platform_ioremap_resource(), which are only available if CONFIG_HAS_IOMEM is defined. This causes the driver to be enabled under make ARCH=um allyesconfig, even though it won't build. By adding a dependency on HAS_IOMEM, the driver will not be enabled on architectures which don't support it. Fixes: 9ad9a52c ("i3c/master: introduce the mipi-i3c-hci driver") Signed-off-by:
David Gow <davidgow@google.com> Acked-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20210127040636.1535722-1-davidgow@google.com (cherry picked from commit 9d909f1b)
-
Nathan Chancellor authored
Clang warns: ../drivers/i3c/master/mipi-i3c-hci/core.c:780:21: warning: attribute declaration must precede definition [-Wignored-attributes] static const struct __maybe_unused of_device_id i3c_hci_of_match[] = { ^ ../include/linux/compiler_attributes.h:267:56: note: expanded from macro '__maybe_unused' #define __maybe_unused __attribute__((__unused__)) ^ ../include/linux/mod_devicetable.h:262:8: note: previous definition is here struct of_device_id { ^ 1 warning generated. 'struct of_device_id' should not be split, as it is a type. Move the __maybe_unused attribute after the static and const qualifiers so that there are no warnings about this variable, period. Fixes: 95393f3e ("i3c/master/mipi-i3c-hci: quiet maybe-unused variable warning") Link: https://github.com/ClangBuiltLinux/linux/issues/1221 Signed-off-by:
Nathan Chancellor <natechancellor@gmail.com> Acked-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20201222025931.3043480-1-natechancellor@gmail.com (cherry picked from commit 291b5c98)
-
Nicolas Pitre authored
If CONFIG_OF is disabled then the matching table is notreferenced. Reported-by:
kernel test robot <lkp@intel.com> Signed-off-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> (cherry picked from commit 95393f3e)
-
Colin Ian King authored
The variable next_addr is not initialized and is being used in a call to i3c_master_get_free_addr as a starting point to find the next address. Fix this by initializing next_addr to 0 to avoid an uninitialized garbage starting address from being used. Addresses-Coverity: ("Uninitialized scalar variable") Fixes: 9ad9a52c ("i3c/master: introduce the mipi-i3c-hci driver") Signed-off-by:
Colin Ian King <colin.king@canonical.com> Acked-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Link: https://lore.kernel.org/linux-i3c/20201124123504.396249-1-colin.king@canonical.com (cherry picked from commit 8e345737)
-
Nicolas Pitre authored
This adds basic support for hardware implementing the MIPI I3C HCI specification. This driver is currently limited by the capabilities of the I3C subsystem, meaning things like scheduled commands, auto-commands and NCM mode are not yet supported. This supports version 1.0 of the MIPI I3C HCI spec, as well as the imminent release of version 1.1. Support for draft version 2.0 of the spec is also largely included with the caveat that future adjustments to this code are likely as the spec is still a work in progress. This is also lightly tested as actual hardware is still very scarce, even for HCI v1.0. Hence the EXPERIMENTAL tag. Further contributions to this driver are expected once vendor implementations and new I3C devices become available. Signed-off-by:
Nicolas Pitre <npitre@baylibre.com> Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Link: https://lore.kernel.org/linux-i3c/20201111220510.3622216-3-nico@fluxnic.net (cherry picked from commit 9ad9a52c)
-
Clark Wang authored
When the defer probe occurs, the pm_runtime_put() used before may cause runtime pm to be disabled before clks of device truly closed. So use pm_runtime_put_sync() in the error path to suspend it immediately and put pm_runtime_disable() to the last. Signed-off-by:
Clark Wang <xiaoning.wang@nxp.com> Reviewed-by:
Jun Li <jun.li@nxp.com> Reviewed-by:
Haibo Chen <haibo.chen@nxp.com>
-
Apeksha Gupta authored
add file for new fec-uio driver and maintainers for net/fec-uio. Signed-off-by:
Apeksha Gupta <apeksha.gupta@nxp.com>
-
Apeksha Gupta authored
Enable fec-uio driver for imx booting up support. CONFIG_FEC_UIO flag added to compile the fec-uio driver. Signed-off-by:
Apeksha Gupta <apeksha.gupta@nxp.com> Reviewed-by:
Dong Aisheng <aisheng.dong@nxp.com>
-
Apeksha Gupta authored
New DTS file 'imx8mmevk-evk-dpdk.dts' is added to support fec ethernet device detection in user space DPDK application via fec-uio driver. Signed-off-by:
Sachin Saxena <sachin.saxena@nxp.com> Signed-off-by:
Apeksha Gupta <apeksha.gupta@nxp.com> Reviewed-by:
Dong Aisheng <aisheng.dong@nxp.com>
-
Apeksha Gupta authored
i.mx: fec-uio driver This patch adds the userspace support. In the new mode, basic hardware initialization is performed in kernel via userspace input/output, while the majority of code is written in the userspace. Signed-off-by:
Sachin Saxena <sachin.saxena@nxp.com> Signed-off-by:
Apeksha Gupta <apeksha.gupta@nxp.com> Reviewed-by:
Sachin Saxena <sachin.saxena@nxp.com>
-
Sandor Yu authored
Add a new drm bridge driver for ITE IT6161 MIPI to HDMI converter. EDID and HDMI Audio are supported. Driver default work in 2 lanes and video mode 480p60 has verified on iMX8ULP EVK board. Signed-off-by:
Sandor Yu <Sandor.yu@nxp.com>
-
Sandor Yu authored
Add it6161 to imx_v8_deconfig. Signed-off-by:
Sandor Yu <Sandor.yu@nxp.com>
-
Sandor Yu authored
Add it6161 property to imx8ulp evk board. Signed-off-by:
Sandor Yu <Sandor.yu@nxp.com>
-
- Jul 15, 2021
-
-
Chancel Liu authored
sound/drivers/aloop.c should be compiled in order to support AFE wrapper. So the corresponding configuration, that is SND_ALOOP, needs to be added to arch/arm64/configs/imx_v8_defconfig in the type of module. Signed-off-by:
Chancel Liu <chancel.liu@nxp.com>
-
- Jul 14, 2021
-
-
Shengjiu Wang authored
Add necessary clock for rpmsg audio. These clocks are needed by M4 image Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by:
Peng Zhang <peng.zhang_8@nxp.com> (cherry-picked from commit 0d11ab36510677aed5481c65fbd2f4a9264c75bb)
-
Shengjiu Wang authored
Add necessary clock for rpmsg audio. These clocks are needed by M4 image Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by:
Peng Zhang <peng.zhang_8@nxp.com> (cherry-picked from commit df9a1745901e59ecaa94a93d159d263c16a75549)
-
Shengjiu Wang authored
Add necessary clock for rpmsg audio. These clocks are needed by M4 image. Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by:
Peng Zhang <peng.zhang_8@nxp.com> (cherry-picked from commit 399043954dca67fc6ec1c03f3db3de90867ef5af)
-
Shengjiu Wang authored
On i.MX8MP low power audio case, the audiomix module is shared with M4 core, M4 core need to enable the clock for SAI and SDMA, but A core don't know this change, when micfill is used on A core, there is conflict for audiomix setting. The playback will be blocked on below case: aplay -D"rpmsg" & arecord -D"micfil" Signed-off-by:
Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by:
Peng Zhang <peng.zhang_8@nxp.com> (cherry-picked from commit e5f8f4abf99f1aff26419f1914ea770369fb0ab9)
-
Breno Lima authored
LF-4086-3 arm64: dts: imx8m: Enable fsl,sdio-interrupt-enabled property for boards enabling SDIO interrupt All NXP Wi-Fi SOCs are enabling the SDIO interrupt mechanism as soon as the firmware starts up, for performance reasons this feature can't be disabled on the Wi-Fi side. Enable fsl,sdio-interrupt-enabled property for all i.MX boards using NXP Wi-Fi on SDIO interface. Signed-off-by:
Breno Lima <breno.lima@nxp.com> Reviewed-by:
Haibo Chen <haibo.chen@nxp.com>
-
Breno Lima authored
uSDHC controller can enable auto tuning for DAT[0] and CMD only. Add documentation for fsl,sdio-interrupt-enabled device tree property. Signed-off-by:
Breno Lima <breno.lima@nxp.com> Reviewed-by:
Haibo Chen <haibo.chen@nxp.com>
-
Breno Lima authored
LF-4086-1 mmc: sdhci-esdhc-imx: Add device tree property to select DATA[0] and CMD signals for periodic tuning SDIO cards can implement an optional feature that uses DATA[1] to signal the card's interrupt to the i.MX device, this feature can be enabled by the SDIO card device and does not depends on i.MX uSDHC driver setup configuration. Out of reset uSDHC is configuring the uSDHC_VEND_SPEC2 register to use DATA[3:0] signals for calculating the appropriate delay cell for the current operation environment, this setup can conflict with the SDIO interrupt as DATA[1] signal can be asserted asynchronously. SDIO failures can be observed when running i.MX6ULL EVK and 88w8987/88w8997 at higher frequencies such as SDR104 or SDR50. Wi-Fi driver is reporting CMD53 read error due to incorrect delay cell calculated by the i.MX processor and uSDHC controller. Add optional device tree property to select DATA[0] and CMD signals for uSDHC auto tuning mechanism. This setup can only be used if SD interface length are well matched. Signed-off-by:
Breno Lima <breno.lima@nxp.com> Reviewed-by:
Haibo Chen <haibo.chen@nxp.com>
-
- Jul 13, 2021
-
-
Camelia Groza authored
ALDPS is enabled by default for the RTL8211F RGMII PHYs starting with commit 66e22932 ("net: phy: realtek: enable ALDPS to save power for RTL8211F"). This enablement causes auto negotiation issues when disconnecting and reconnecting the PHY successively. According to the PHY data sheet, this feature is disabled by default. Add the "rtl821x,aldps-disable" device tree property to mark this under the affected nodes. Signed-off-by:
Camelia Groza <camelia.groza@nxp.com>
-
- Jul 12, 2021
-
-
Gagandeep Singh authored
Resources release function is printing an information level print as critical level which basically tells how many USDPAA owned resources have been released. Also it is printing information like "USDPAA process leaks count" which may give wrong impression to user that some resources are leaked. By default, all critical level prints are visible on console and this information level print is not required to be visible on console. In this patch, changing this print to "info" which we can see using dmesg command. Signed-off-by:
Gagandeep Singh <g.singh@nxp.com> DPDK-2888
-
Alice Guo authored
When using root dts, there is error "failed to allocate memory for node 'linux,cma'" in boot log and "cma_alloc: alloc failed" when play video with root fdtfile. This is because region of memory which is specifies by alloc-ranges occupied the memory allocated to inmate cell or jailhouse. Resetting memory allocation of linux,cma in root dts can solve this problem. Reviewed-by:
Peng Fan <peng.fan@nxp.com> Signed-off-by:
Alice Guo <alice.guo@nxp.com>
-
Haibo Chen authored
Hardware suggest to use Standard Drive Strength for USDHC pad to get a better signal quality. Reviewed-by:
Sherry Sun <sherry.sun@nxp.com> Signed-off-by:
Haibo Chen <haibo.chen@nxp.com>
-
Richard Zhu authored
Since the i.MX8 RPMSG support had been switched to remote proc. To clean up the codes, remove the local i.MX RPMSG supports. Signed-off-by:
Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by:
Jun Li <jun.li@nxp.com>
-
Richard Zhu authored
Since the RPMSG usage had been switched to remote proc. Remove the local RPMSG support to clean up the codes. Signed-off-by:
Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by:
Jun Li <jun.li@nxp.com>
-