Age | Commit message (Collapse) | Author |
|
Previously, we had the sleep-moci pin set to always on. However, the
Dahlia carrier board supports disabling the sleep-moci when the system
is suspended to power down peripherals that support it. This reduces
overall power consumption. This commit adds support for this feature by
disabling the reg_force_sleep_moci regulator and adding two new
regulators for the USB hub and PCIe that can be turned off when the
system is suspended.
Upstream-Status: Backport [1288f819d6c7e3dc2e301728cb7fa9a99a718234]
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
The Verdin family has a signal called sleep-moci which can be used to
turn off peripherals on the carrier board when the SoM goes into
suspend. So far we have hogged this signal, which means the peripherals
are always on and it is not possible to add peripherals that depend on
the sleep-moci to be on. With this change, we replace the hog with a
regulator so that peripherals can add their own regulators that use the
same gpio. Carrier boards that allow peripherals to be powered off in
suspend can disable this regulator and implement their own regulator to
control the sleep-moci.
Upstream-Status: Backport [9f06926ef1b22a52e3c8ceea394cf7408c4e66b2]
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
Previously, we had the sleep-moci pin set to always on. However, the
Dahlia carrier board supports disabling the sleep-moci when the system
is suspended to power down peripherals that support it. This reduces
overall power consumption. This commit adds support for this feature by
disabling the reg_force_sleep_moci regulator and adding two new
regulators for the USB hub and PCIe that can be turned off when the
system is suspended.
Upstream-Status: Backport [25b3af5395b5b07d8e656c932b7f694daa14b384]
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
The Verdin family has a signal called sleep-moci which can be used to
turn off peripherals on the carrier board when the SoM goes into
suspend. So far we have hogged this signal, which means the peripherals
are always on and it is not possible to add peripherals that depend on
the sleep-moci to be on. With this change, we replace the hog with a
regulator so that peripherals can add their own regulators that use the
same gpio. Carrier boards that allow peripherals to be powered off in
suspend can disable this regulator and implement their own regulator to
control the sleep-moci.
Upstream-Status: Backport [9d071e1889a578162ced6a6c9062653f9bcb442c]
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
Enable the onboard USB hub to support sleep moci. It will control the
reg_usb_hub regulator on the Dahlia carrier board.
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
Call onboard_hub_create/destroy_pdevs() from hub_probe/disconnect()
to create/destroy platform devices for onboard USB hubs that may be
connected to the hub. The onboard hubs must have nodes in the
device tree.
onboard_hub_create/destroy_pdevs() are NOPs unless
CONFIG_USB_ONBOARD_HUB=y/m.
Also add a field to struct usb_hub to keep track of the onboard hub
platform devices that are owned by the hub.
Upstream-Status: Backport [3a6bf4a08142826698121bef16b244dcf50a6431]
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Link: https://lore.kernel.org/r/20220630123445.v24.4.Ic9dd36078f9d803de82ca01a6700c58b8e4de27e@changeid
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Enable user-space I/O driver support for HID subsystem (CONFIG_UHID=m)
as e.g. required for Bluetooth keyboards.
Related-to: ELB-5738
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
On the Dahlia and Development carrier boards for the Verdin family
(iMX8MM and iMX8MP), WM8904 and NAU8822 codecs are used. Instead of
module-specific names, switch to more generic names based on the codec
employed on the carrier board itself.
This modification facilitates access to ALSA card names, ensuring
consistency across iMX8MP and iMX8MM, as they share the same carrier
board.
Upstream-Status: Submitted [https://lore.kernel.org/all/20240411161441.70262-1-hiagofranco@gmail.com/]
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
|
|
On an i.MX8M Plus we have the use case where a Bluetooth controller is
attached to a imx-uart that uses the SDMA engine. We use serdev to load
the Bluetooth driver as follows:
&uart4 {
bluetooth {
compatible = "mrvl,88w8997";
max-speed = <921600>;
};
}
From time to time we see that the SDMA engine is not ready when the
Bluetooth driver tries to load. This will result in the following error:
[ 5.833037] imx-sdma 30bd0000.dma-controller: firmware found.
[ 5.835034] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 5.835305] Bluetooth: HCI UART protocol Broadcom registered
[ 5.835330] Bluetooth: HCI UART protocol QCA registered
[ 5.835378] Bluetooth: HCI UART protocol Marvell registered
[ 5.837497] ------------[ cut here ]------------
[ 5.841549] imx-sdma 30e00000.dma-controller: firmware found.
[ 5.847712] WARNING: CPU: 3 PID: 143 at kernel/dma/mapping.c:528 dma_free_attrs+0xb0/0xe0
[ 5.847730] Modules linked in: snd_soc_wm8904(+) sec_mipi_dsim_imx(+) hci_uart sec_dsim
[ 5.853442] imx-sdma 30e10000.dma-controller: firmware found.
[ 5.858637] btqca btbcm dw_hdmi_cec lontium_lt8912b(+) ina2xx bluetooth snd_soc_fsl_sai snd_soc_fsl_aud2htx rfkill imx_sdma lm75 flexcan can_dev caam
[ 5.864530] imx-sdma 30bd0000.dma-controller: loaded firmware 4.5
[ 5.868870] secvio error display_connector galcore(O) fuse
[ 5.868890] CPU: 3 PID: 143 Comm: kworker/u8:2 Tainted: G O 5.15.148-6.6.0-devel+git.23a8e831749d #1
[ 5.868896] Hardware name: Toradex Verdin iMX8M Plus WB on Dahlia Board (DT)
[ 5.868900] Workqueue: events_unbound async_run_entry_fn
[ 5.915483] lt8912 3-0048: supply vcclvdspll not found, using dummy regulator
[ 5.919370] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 5.919377] pc : dma_free_attrs+0xb0/0xe0
[ 5.919384] lr : dma_free_attrs+0x50/0xe0
[ 5.919390] sp : ffff80000a07b8f0
[ 5.919393] x29: ffff80000a07b8f0 x28: 0000000000000000 x27: ffff80000a2c5200
[ 5.919401] x26: ffff0000c6453100 x25: 0000000000000000 x24: 0000000000000000
[ 5.919408] x23: 00000000de081000 x22: 0000000000000000
[ 6.021103] lt8912 3-0048: supply vcchdmipll not found, using dummy regulator
[ 6.021961] x21: ffff800009f17000
[ 6.052001] x20: 00000000000000c0 x19: ffff0000c056bc10 x18: ffff800009bcddcc
[ 6.059145] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[ 6.066293] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000001000
[ 6.073448] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000
[ 6.080595] x8 : ffff800009f18000 x7 : 0000000000000000 x6 : 000000000000003f
[ 6.087744] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 00000000de081000
[ 6.094887] x2 : ffff800009f17000 x1 : 00000000000000c0 x0 : 0000000000000080
[ 6.102034] Call trace:
[ 6.104482] dma_free_attrs+0xb0/0xe0
[ 6.108154] sdma_free_bd+0x60/0x70 [imx_sdma]
[ 6.112609] sdma_transfer_init+0x208/0x344 [imx_sdma]
[ 6.117760] sdma_prep_dma_cyclic+0xa4/0x364 [imx_sdma]
[ 6.122995] imx_uart_startup+0x468/0x780
[ 6.127011] uart_port_startup+0x138/0x2fc
[ 6.131111] uart_port_activate+0x54/0xd0
[ 6.135124] tty_port_open+0x90/0x130
[ 6.138791] uart_open+0x1c/0x30
[ 6.142023] ttyport_open+0x70/0x17c
[ 6.145602] serdev_device_open+0x2c/0xe0
[ 6.149615] hci_uart_register_device+0x5c/0x33c [hci_uart]
[ 6.155228] mrvl_serdev_probe+0x78/0x9c [hci_uart]
[ 6.160140] serdev_drv_probe+0x38/0x80
[ 6.163984] really_probe+0xbc/0x46c
[ 6.167562] __driver_probe_device+0x104/0x160
[ 6.172008] driver_probe_device+0x40/0x120
[ 6.176198] __driver_attach_async_helper+0x4c/0xf0
[ 6.181082] async_run_entry_fn+0x34/0x160
[ 6.185181] process_one_work+0x1d0/0x374
[ 6.189196] worker_thread+0x13c/0x490
[ 6.192949] kthread+0x150/0x160
[ 6.196180] ret_from_fork+0x10/0x20
[ 6.199764] ---[ end trace 906604ec7108d636 ]---
[ 6.204403] imx-uart 30a60000.serial: We cannot prepare for the RX slave dma!
When the issue appears the sdma firmware is loaded after the uart
requests a dma channel. This results in the above error. With this
commit we make sure that the firmware is loaded before the sdma is
registered and thus making sure that the sdma is ready when a driver
requests a dma channel.
Upstream-Status: Inappropriate [other]
The upstream driver is not affected by this issue because it works even
if the firmware is not loaded yet. It then uses the preprogrammed sdma
firmware and switches to the new firmware as soon as it is ready.
However, in comparison to the downstream driver it does not support
suspend/resume and the drivers are therefore different. Trying to make
the downstream driver work without the firmware loaded resulted in spare
"Timeout waiting for CH0 ready" errors. Most likely it is an issue with
the clock enable/disable sequence in the sdma driver that doesn't
foresee this use case.
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
CONFIG_MMC_SDHCI_AM654 now depends on ARCH_K3 which is not set.
The driver is not needed on NXP SoCs.
commit da9eae2c1a45 ("mmc: sdhci_am654: Fix TI SoC dependencies")
CONFIG_DEBUG_PREEMPT is by default not selected
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
drivers/gpu/drm/bridge/lontium-lt8912b.c
drivers/usb/dwc3/drd.c
|
|
ARM: dts: imx6sx: fix, remove conflict marker
|
|
Fixes: 5955a854cd80 ("Merge commit v5.4.132 into fslc-5.15-2.2.x-imx")
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Merge downstream `lf-5.15.71-2.2.2` and merge stable releases up to 5.15.148
|
|
This reverts commit ef4a40953c8076626875ff91c41e210fcee7a6fd.
The commit was applied to make further commits apply cleanly, but the
commit depends on other commits in the same patchset. I.e. the
controlling DSI host would need a change too. Thus one would need to
backport the full patchset changing the DSI hosts and all downstream
DSI device drivers.
Revert the commit and fix up the conflicts with the backported fixes
to the lt8912b driver.
Upstream-Status: Submitted [https://lore.kernel.org/stable/20240228145945.2499754-1-max.oss.09@gmail.com/]
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
drivers/gpu/drm/bridge/lontium-lt8912b.c
|
|
With commit 1263f108fb28 ("arm64: dts: imx8mp-verdin: fix cma memory
region") we introduced a new problem for modules with more than 3GB of
RAM. The VPU driver Hantro is currently unable to cross 32bit
boundaries. However, since the cma region is at the end of the RAM, we
have crossed the boundary for modules with more than 3GB of RAM. We set
the alloc-ranges property to the same value that is used in imx8mp.dtsi.
We do this to be consistent between Verdin iMX8MM and Verdin iMX8MP.
Upstream-Status: Inappropriate [other]
We use the kernel configuration to define the CMA size and don't use the
linux,cma node in the device tree. However, we need to verify that the
upstream hantro driver can handle 64 bit addresses.
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
With commit 757e132269ec ("arm64: dts: imx8mm-verdin: fix cma memory
region") we introduced a new problem for modules with more than 3GB of
RAM. The VPU driver Hantro is currently unable to cross 32bit
boundaries. However, since the cma region is located at the end of the
RAM, we have crossed the boundary for modules with more than 3GB of RAM.
The Verdin iMX8MM modules are not yet affected by this issue as there is
no module with more than 2GB of RAM. However, to be consistent with the
Verdin iMX8MP and to be future proof in case there is a module with more
RAM, we overwrite the alloc-ranges property here as well. We cannot use
the default alloc-ranges property from imx8mm.dtsi because it starts at
1GB of RAM and therefore does not work with modules that only have 1GB
of RAM. That is why we deleted this property in the first place.
Upstream-Status: Inappropriate [other]
We use the kernel configuration to define the CMA size and don't use the
linux,cma node in the device tree. However, we need to verify that the
upstream hantro driver can handle 64 bit addresses.
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
The lcdifv3 video controller has a clock dependency on the HDMI PHY for
the imx8mp. Powering down the HDMI PHY before the drm display pipeline
finishes after a hot-plug monitor disconnection event causes a vblank
timeout error due to the lcdif clock stopping. Likely because of this,
the downstream code doesn't power down the HDMI PHY (it was commented),
leaving the PHY ON even on a disconnection event, resulting in the HDMI
data and clock signals still running. This appears to cause issues when
using HDMI with bridge devices (e.g. HDMI-->eDP) to handle HPD (Hot-Plug Detect)
events from the bridge.
To address the problem, the workaround moves the PHY power-off logic to
the suspend of the lcdifv3 driver. At this position, it guarantees that
the DRM pipeline has finished and disabled and the PHY can be powered off
without problems. Doing this appears to be safe as the PHY is powered on
again on imx8mp_hdmi_phy_init() before starting the DRM pipeline. The PHY
is controlled by the HDMI TX BLK CTRL peripheral, but the downstream driver
for the peripheral is not fully implemented. So, the workaround maps
HDMI TX BLK CTRL register space to the lcdifv3 driver and controls it
directly, similar to the approach used in the imx HDMI driver.
Upstream-Status: Inappropriate [other]
The imx8mp already has a fully working implementation on upstream [1] and
[2]. Nonetheless, attempting to backport it appears impractical, leading
to the adoption of this workaround.
[1] https://lore.kernel.org/lkml/20240210204606.11944-1-aford173@gmail.com/
[2] https://lore.kernel.org/lkml/20240203165307.7806-1-aford173@gmail.com/
Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
|
|
Add support for ExFAT filesystem.
Related-to: ELB-5583
Upstream-Status: Inappropriate [Configuration]
Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
|
|
This is the 5.15.148 stable release
Conflicts:
drivers/usb/phy/phy-mxs-usb.c
|
|
This is the 5.15.147 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.146 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.145 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.144 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.143 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
arch/arm64/boot/dts/freescale/imx8mq.dtsi
|
|
This is the 5.15.142 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.141 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.140 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
drivers/i3c/master/svc-i3c-master.c
|
|
This is the 5.15.139 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
drivers/clk/imx/clk-imx8mq.c
|
|
Revert the following commits in stable before merging, the sources have
been heavely modified by NXP.
d4c8bf5635c4b rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
a82e0fda8a2f8 rpmsg: glink: Release driver_override
bfd4a664ddfbe rpmsg: Fix calling device_lock() on non-initialized device
2e76b4f6218c4 rpmsg: Fix kfree() of static memory on setting driver_override
5c0da71871d3a rpmsg: Constify local variable in field store macro
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
drivers/misc/pci_endpoint_test.c
|
|
This reverts commit 5c0da71871d3ac3f96d37067bf1a0ba9c25c2c72.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit 2e76b4f6218c4db3ff00eb15d94d72f371736de4.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit bfd4a664ddfbe12f008efb0b0ab6bf25a8ab2538.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit a82e0fda8a2f8561a6a6681e8b3557e60cad17da.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit d4c8bf5635c4bedaf2470761ced1f502b2d5434e.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.137 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.136 stable release
Conflicts:
Documentation/security/keys/trusted-encrypted.rst
security/keys/trusted-keys/trusted_core.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.135 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.134 stable release
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.133 stable release
Conflicts:
drivers/perf/fsl_imx8_ddr_perf.c
Used the stable fix
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Revert the following commits before merging, the sources have been
heavely modified by NXP.
5a86ca588b3f9 Revert "perf/imx_ddr: don't enable counter0 if none of 4 counters are used"
56ad67babb7fb Revert "usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()"
50b3a42d82f07 Revert "USB: core: Unite old scheme and new scheme descriptor reads"
cdcf46014f5ca Revert "USB: core: Change usb_get_device_descriptor() API"
2f2af6028f201 Revert "USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()"
9e168d3268f89 Revert "USB: core: Fix oversight in SuperSpeed initialization"
7e95107f9b664 Revert "PCI: dwc: Add start_link/stop_link inlines"
d0bec10a7f796 Revert "PCI: layerscape: Add the endpoint linkup notifier support"
aaf9dc6089bc3 Revert "PCI: layerscape: Add workaround for lost link capabilities during reset"
Conflicts:
arch/arm/boot/dts/imx6qdl.dtsi
arch/arm/boot/dts/imx6sx.dtsi
Keep stable node name changes
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
Keep stable code change
drivers/media/i2c/ov5640.c
Keep stable code change
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This is the 5.15.131 stable release
|
|
This is the 5.15.130 stable release
|
|
6.4.11_22Q2_NXP: IMX-3189: fix
the build error caused by conflicting types of "_QuerySignal" with gcc13.1.
Signed-off-by: IPD_SCM <IPD_SCM@verisilicon.com>
Signed-off-by: Yuan Tian <yuan.tian@nxp.com>
Upstream-Status: Inappropriate [other]
Upstream does not have the propriatery Vivante driver.
Cherry picked from NXP downstream commit 9b70e0e11b04c18545093bd6d172762f65709365.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit c7802ff51adce9ae2e8392b926943342549de38c.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit 484ddaa90b7e8b40b0a479dfc24f0a1b9cd70e7d.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit 56c49a3328e988c82981f4d098be22695d46fcf3.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit eda9a296658203b1cc07d777c19c8c9eac6d0d17.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
hub_port_init()"
This reverts commit 7fe9d87996062f5eb0ca476ad0257f79bf43aaf5.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This reverts commit 7e3ddbea87a92979fda4a9ddac37f423cb5a9d8a.
Downstream NXP and stable have deviated to far, do not pull this in.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|