summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2022-11-14toradex_defconfig: remove cma configurationtoradex_5.15-2.0.x-imxAndrejs Cainikovs
Verdin boards rely on CMA configuration in device tree instead. Upstream-Status: Inappropriate [downstream specific] Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2022-11-14arm64: dts: imx8m{m,p}-verdin: set cmaAndrejs Cainikovs
Bring back CMA in device tree and set its size to 512MB for entire Verdin family. Upstream-Status: Inappropriate [downstream specific] Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2022-11-08toradex_imx_v8.config: Disable dspPhilippe Schenker
This commit disables the DSP on Verdin iMX8M Plus since it is anyway not used on our reference images. This removes the errormessage in dmesg: [ 0.816509] of_reserved_mem_lookup() returned NULL Upstream-Status: Inappropriate [Configuration] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-11-03Revert "arm64: dts: imx8mp-verdin: limit sdio wi-fi frequency to 100 mhz"Marcel Ziswiler
This reverts commit 9f04e0d3d5603fee7648dfac6713a29478686932. As we found the real instability having been due to a contention between the async SDIO interrupt and the auto-tuning, no longer limit the SDIO frequency to 100 MHz. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-status: Inappropriate [NXP downstream SDIO stack]
2022-11-03arm64: dts: imx8mp-verdin: fix sdio wifi instabilityMarcel Ziswiler
Fix SDIO Wi-Fi instability by adding fsl,sdio-async-interrupt-enabled device tree property to the usdhc1 instance connected to the on-module AW-CM276NF Wi-Fi. From Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml: Recommend for SDIO cards that enables SDIO async interrupt for SDR104 and SDR50 operating modes. SDIO async interrupt uses DAT[1] to signal the card's interrupt. uSDHC tuning mechanism must use DAT[0] and CMD signals to avoid a possible conflict and incorrect delay line calculated by the uSDHC auto tuning mechanism. Enabling this device tree property is only recommended for layouts that are matching the SD interface length. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-status: Inappropriate [NXP downstream SDIO stack]
2022-11-03arm64: dts: imx8mm-verdin: fix sdio wifi instabilityMarcel Ziswiler
Fix SDIO Wi-Fi instability by adding fsl,sdio-async-interrupt-enabled device tree property to the usdhc3 instance connected to the on-module AW-CM276NF Wi-Fi. From Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml: Recommend for SDIO cards that enables SDIO async interrupt for SDR104 and SDR50 operating modes. SDIO async interrupt uses DAT[1] to signal the card's interrupt. uSDHC tuning mechanism must use DAT[0] and CMD signals to avoid a possible conflict and incorrect delay line calculated by the uSDHC auto tuning mechanism. Enabling this device tree property is only recommended for layouts that are matching the SD interface length. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-status: Inappropriate [NXP downstream SDIO stack]
2022-11-02arm64: dts: verdin-imx8mp: dahlia: mark usb_2 permanently attachedMarcel Ziswiler
As both Dahlia and the Verdin Development Board have on-carrier permanently attached USB hubs mark Verdin USB_2 as such. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: verdin-imx8mp: add gpio usb-b connectorMarcel Ziswiler
Add GPIO USB-B connector (gpio-usb-b-connector) functionality using Verdin USB_1_ID. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: verdin-imx8mp: disable usb port power controlMarcel Ziswiler
Disable port power control on Verdin USB_1/2 as we use regular fixed-regulators with Verdin USB_1/2_EN as enable GPIOs. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: verdin-imx8mp: add usb_1 over-current detectionMarcel Ziswiler
Add Verdin USB_1 over-current detection functionality via Verdin USB_1_OC# (SODIMM 157) being active-low and removing its previous gpio_hog3 mapping. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: verdin-imx8mp: remove usb_2 over-current detection disablingMarcel Ziswiler
The disable-over-current property is only applicable for the ci-hdrc-usb2 and dwc2 drivers while the i.MX 8M Plus integrates dwc3 IP. Therefore remove this property which does not really serve any purpose here. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: verdin-imx8mp: improve pinctrl for vbus-suppliesMarcel Ziswiler
As we are using two fixed regulators for Verdin USB_1_EN (SODIMM 155) and Verdin USB_2_EN (SODIMM 185), those should be muxed as GPIOs rather than OTG_PWR. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20221102131203.35648-1-marcel@ziswiler.com/]
2022-11-02arm64: dts: imx8mp: Add memory for USB3 glue layer to usb3 nodesAlexander Stein
The USB3 glue layer has 2 areas in the register set, see RM Rev.1 section 11.2.5.2.1 GLUE_usb3 memory map: * USB3 control/status * PHY control/status Provide the memory area to the usb3 nodes for accessing the features in the USB3 control area. Reviewed-by: Li Jun <jun.li@nxp.com> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Link: https://lore.kernel.org/r/20220218152707.2198357-5-alexander.stein@ew.tq-group.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Upstream-status: Backport [290918c72a2973ffc876d8efb4da304bf7aaea8f]
2022-10-11toradex_defconfig: Add systemd required kernel configFrancesco Dolcini
Add standard systemd requirements [0] to imx8 kernel config. [0] https://github.com/systemd/systemd/blob/main/README Upstream-status: Inappropriate [defconfig change] Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2022-09-22arm64: dts: imx8mp-verdin: fix ctrl_sleep_mociMax Krummenacher
The GPIO signaling ctrl_sleep_moci is currently handled as a gpio hog. But the gpio-hog node is made a child of the wrong gpio controller. Move it to the node representing gpio4 so that it actually works. Without this carrier board components jumpered to use the signal are unconditionally switched off. Fixes: 1d8df9c74bff ("arm64: dts: freescale: add initial support for verdin imx8m plus") Upstream-status: Submitted [https://lore.kernel.org/all/20220922162925.2368577-2-marcel@ziswiler.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-21arm64: dts: imx8mp-verdin: add pcie functionalityMax Krummenacher
Enable the PCIe and PCIe PHY. Upstream-status: Pending [mainline does not support PCIe yet] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-05Revert "arm64: dts: imx8mp-verdin: prevent emmc crash"Max Krummenacher
This reverts commit 96084b8822418f30ff0b941bfe7222d7e941090d. The kernel panic was due to U-Boot not (yet) setting the DDR RAM size dynamically depending on the SKU but setting it to the maximum of 8GB. The kernel crashes when it first tries to access not existing RAM addresses. Upstream-status: Inappropriate [reverting not upstreamed commit] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-05toradex_defconfig: verdin-imx8mp: fix concurrent use of dsi and native hdmiMax Krummenacher
With native HDMI being a kernel built in and the DSI adapters being a module, concurrent use of the two leads to a not booting kernel. When DRM tries to bring up native HDMI it also tries to bring up the bridge to DSI which then returns EAGAIN as the DSI to HDMI/LVDS kernel modules cannot be loaded yet. This results in a never ending loop rather than continuing to init and trying again. Compiling the bridge to DSI as a module fixes the issue. Upstream-status: Inappropriate [defconfig change] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-05toradex_defconfig: remove unused graphic driversMax Krummenacher
These are not used on our SoM, remove them. Upstream-status: Inappropriate [defconfig change] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mm-verdin: extend pmic voltagesPhilippe Schenker
Currently, we limited the voltages from the PMIC very strictly. This causes an issue with one Toradex SKU that uses a consumer-grade chip that is capable of going up to 1.8GHz at 1.00V. Extend the ranges to min/max values of the SoC operating ranges (table 10) in the datasheet. Detailed explanation as follows: BUCK2: - As already described above, the SKU with the consumer-grade chip needs a voltage of at least 1.00V. 1.05V is chosen now as this is listed as the maximum. Both industrial and consumer-grade chips have an absolute maximum rating of 1.15V which makes it still safe to put 1.05V - Lower the regulator-min value to the smallest value allowed from the Quad-A53, 1.2GHz version of the SoC BUCK3: - This regulator is used for SoC input voltages VDD_GPU, VDD_VPU and VDD_DRAM. - Use the smallest value of these three inputs as the regulator-min - Use the largest value of these three inputs as the regulator-max LDO2: - This LDO is used for VDD_SNVS_0P8 SoC input voltage. As this has a single nominal input voltage just put this in the middle of 0.8V. Fixes: commit 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini") Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Upstream-Status: Submitted [https://lore.kernel.org/all/20220901100151.1378709-5-marcel@ziswiler.com/]
2022-09-01arm64: dts: imx8mp-verdin: board regulators: add always-onMax Krummenacher
These regulators are switched on by HW during power up and can not be influenced by SW. Set the always-on property. Upstream-status: Submitted [https://lore.kernel.org/all/20220901110422.1859621-1-max.oss.09@gmail.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mp-verdin: prevent emmc crashMax Krummenacher
Heavy bandwidth use of the eMMC leads to a unrecoverable kernel crash. Fix this by limiting the maximum frequency used. `hdparm -t /dev/mmcblk2` or `cat /dev/mmcblk2 > /dev/null` produce the following kernel debug output: | root@verdin-imx8mp-06775464:~# uname -a | Linux verdin-imx8mp-06775464 5.15.40-05907-ga69fc9b0472d #2 SMP PREEMPT Wed Aug 31 18:51:37 CEST 2022 aarch64 aarch64 aarch64 GNU/Linux | root@verdin-imx8mp-06775464:~# hdparm -t /dev/mmcblk2 | | /dev/mmcblk2: | Timing buffered disk reads: 688 MB in 3.01 seconds = 228.81 MB/sec [ 96.899831] audit: type=1701 audit(1661965049.536:4): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=917 comm="hdparm" exe="/sbin/hdparm.hdparm" sig=4 res=1 [ 96.900136] Unable to handle kernel paging request at virtual address 00746f6e20746f6c [ 96.900724] Unable to handle kernel paging request at virtual address 00746f6e20746f6c [ 96.900729] Mem abort info: [ 96.900731] ESR = 0x96000004 [ 96.900734] EC = 0x25: DABT (current EL), IL = 32 bits [ 96.900737] SET = 0, FnV = 0 [ 96.900739] EA = 0, S1PTW = 0 [ 96.900741] FSC = 0x04: level 0 translation fault [ 96.900743] Data abort info: [ 96.900745] ISV = 0, ISS = 0x00000004 [ 96.900747] CM = 0, WnR = 0 [ 96.900749] [00746f6e20746f6c] address between user and kernel address ranges [ 96.900753] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 96.900757] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex cfg80211 rfkill imx_sdma snd_soc_nau8822 ina2xx lm75 flexcan caam can_dev secvio error panel_lvds fuse [ 96.900797] CPU: 1 PID: 239 Comm: systemd-journal Not tainted 5.15.40-05907-ga69fc9b0472d #2 [ 96.900802] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 96.900806] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 96.900811] pc : lock_page_memcg+0x38/0xc0 [ 96.900825] lr : lock_page_memcg+0x2c/0xc0 [ 96.900830] sp : ffff80000a30b980 [ 96.900832] x29: ffff80000a30b980 x28: ffff80000a30bb88 x27: 0000ffff8661a000 [ 96.900840] x26: 0000ffff86619000 x25: ffff0000c617dc00 x24: 0000000000000000 [ 96.900847] x23: fffffc0000041a80 x22: ffff80000a30bab8 x21: 20746f6e207465ac [ 96.900854] x20: fffffc0000041a80 x19: 20746f6e2074616c x18: 00000000fffffffc [ 96.900861] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000002 [ 96.900868] x14: 0000000000000000 x13: 000000000012a558 x12: ffff0000c75dd005 [ 96.900875] x11: 0000000000000000 x10: ffff8001f576c000 x9 : 0000000000000003 [ 96.900883] x8 : fffffc0003138788 x7 : ffff8001f576c000 x6 : 0000000000000000 [ 96.900889] x5 : 000000000004106a x4 : 00000000ffffffff x3 : ffff0000c617dc00 [ 96.900896] x2 : 0000000000000000 x1 : ffff0000c0740e00 x0 : 20746f6e207465ac [ 96.900904] Call trace: [ 96.900907] lock_page_memcg+0x38/0xc0 [ 96.900912] page_remove_rmap+0x20/0x3c0 [ 96.900919] unmap_page_range+0x558/0x87c [ 96.900925] unmap_vmas+0x9c/0x15c [ 96.900930] exit_mmap+0x68/0x1a4 [ 96.900936] __mmput+0x38/0x14c [ 96.900943] mmput+0x48/0x54 [ 96.900947] do_exit+0x2c0/0x970 [ 96.900952] do_group_exit+0x3c/0xa0 [ 96.900956] get_signal+0x144/0x760 [ 96.900962] do_notify_resume+0x224/0x130c [ 96.900969] el0_undef+0x48/0x60 [ 96.900978] el0t_64_sync_handler+0x130/0x1b0 [ 96.900983] el0t_64_sync+0x1a0/0x1a4 [ 96.900990] Code: 97fa3cde d503201f f90013f5 1400000f (b94e0261) [ 96.900995] ---[ end trace f024570fb29b7f38 ]--- [ 96.900998] note: systemd-journal[239] exited with preempt_count 1 [ 96.901001] Fixing recursive fault but reboot is needed! [ 96.901004] ------------[ cut here ]------------ [ 96.901006] Voluntary context switch within RCU read-side critical section! [ 96.901021] WARNING: CPU: 1 PID: 239 at kernel/rcu/tree_plugin.h:316 rcu_note_context_switch+0x34c/0x3a4 [ 96.901030] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex cfg80211 rfkill imx_sdma snd_soc_nau8822 ina2xx lm75 flexcan caam can_dev secvio error panel_lvds fuse [ 96.901058] CPU: 1 PID: 239 Comm: systemd-journal Tainted: G D 5.15.40-05907-ga69fc9b0472d #2 [ 96.901063] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 96.901065] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 96.901070] pc : rcu_note_context_switch+0x34c/0x3a4 [ 96.901074] lr : rcu_note_context_switch+0x34c/0x3a4 [ 96.901079] sp : ffff80000a30b530 [ 96.901081] x29: ffff80000a30b530 x28: ffff80000a30b6f3 x27: ffff8000094a2cb8 [ 96.901089] x26: 0000000000000001 x25: ffff0000c0740e00 x24: ffff800009c0c000 [ 96.901096] x23: 0000000000000000 x22: ffff0000c0740e00 x21: ffff0001fef492c0 [ 96.901103] x20: ffff8000097ddfc0 x19: ffff0001fef49fc0 x18: fffffffffffe9148 [ 96.901110] x17: 65676e6172207373 x16: 000000000000002d x15: 0000000000000048 [ 96.901117] x14: 0000000000000000 x13: 216e6f6974636573 x12: 206c616369746972 [ 96.901124] x11: 6320656469732d64 x10: 6165722055435220 x9 : 206e696874697720 [ 96.901131] x8 : ffff800009a71eb0 x7 : ffff80000a30b330 x6 : 00000000fffff220 [ 96.901138] x5 : ffff0001fef429d0 x4 : 0000000000000000 x3 : 0000000000000027 [ 96.901145] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c0740e00 [ 96.901152] Call trace: [ 96.901153] rcu_note_context_switch+0x34c/0x3a4 [ 96.901158] __schedule+0xb8/0x754 [ 96.901163] schedule+0x74/0x10c [ 96.901167] do_exit+0x968/0x970 [ 96.901171] die+0x1f4/0x230 [ 96.901175] die_kernel_fault+0x64/0x7c [ 96.901181] __do_kernel_fault+0x90/0x190 [ 96.901186] do_translation_fault+0x5c/0xcc [ 96.901191] do_mem_abort+0x44/0xbc [ 96.901195] el1_abort+0x40/0x6c [ 96.901199] el1h_64_sync_handler+0xb4/0xd0 [ 96.901202] el1h_64_sync+0x78/0x7c [ 96.901206] lock_page_memcg+0x38/0xc0 [ 96.901211] page_remove_rmap+0x20/0x3c0 [ 96.901215] unmap_page_range+0x558/0x87c [ 96.901220] unmap_vmas+0x9c/0x15c [ 96.901224] exit_mmap+0x68/0x1a4 [ 96.901229] __mmput+0x38/0x14c [ 96.901233] mmput+0x48/0x54 [ 96.901238] do_exit+0x2c0/0x970 [ 96.901241] do_group_exit+0x3c/0xa0 [ 96.901246] get_signal+0x144/0x760 [ 96.901250] do_notify_resume+0x224/0x130c [ 96.901255] el0_undef+0x48/0x60 [ 96.901261] el0t_64_sync_handler+0x130/0x1b0 [ 96.901265] el0t_64_sync+0x1a0/0x1a4 [ 96.901269] ---[ end trace f024570fb29b7f39 ]--- [ 96.903683] Unable to handle kernel paging request at virtual address 00746f6e20746f6c [ 96.903688] Mem abort info: [ 96.903690] ESR = 0x96000004 [ 96.903692] EC = 0x25: DABT (current EL), IL = 32 bits [ 96.903695] SET = 0, FnV = 0 [ 96.903697] EA = 0, S1PTW = 0 [ 96.903699] FSC = 0x04: level 0 translation fault [ 96.903702] Data abort info: [ 96.903703] ISV = 0, ISS = 0x00000004 [ 96.903705] CM = 0, WnR = 0 [ 96.903707] [00746f6e20746f6c] address between user and kernel address ranges [ 96.903710] Internal error: Oops: 96000004 [#2] PREEMPT SMP [ 96.903713] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex cfg80211 rfkill imx_sdma snd_soc_nau8822 ina2xx lm75 flexcan caam can_dev secvio error panel_lvds fuse [ 96.903742] CPU: 1 PID: 619 Comm: klogd Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 96.903746] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 96.903749] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 96.903754] pc : lock_page_memcg+0x38/0xc0 [ 96.903760] lr : lock_page_memcg+0x2c/0xc0 [ 96.903764] sp : ffff80000a5db980 [ 96.903766] x29: ffff80000a5db980 x28: ffff80000a5dbb88 x27: 0000ffff820b4000 [ 96.903774] x26: 0000ffff820b3000 x25: ffff0000c1bb7240 x24: 0000000000000000 [ 96.903781] x23: fffffc0000041a80 x22: ffff80000a5dbab8 x21: 20746f6e207465ac [ 96.903788] x20: fffffc0000041a80 x19: 20746f6e2074616c x18: 00000000fffffffc [ 96.903795] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000002 [ 96.903801] x14: 0000000000000000 x13: 000000000012a558 x12: ffff0000c75dd005 [ 96.903808] x11: 0000000000000000 x10: 000000000000002e x9 : 0000000000000000 [ 96.903816] x8 : 0000000000000000 x7 : ffff8001f576c000 x6 : 0000000000000000 [ 96.903822] x5 : 000000000004106a x4 : 00000000ffffffff x3 : ffff0000c1bb7240 [ 96.903829] x2 : 0000000000000000 x1 : ffff0000c6c14600 x0 : 20746f6e207465ac [ 96.903836] Call trace: [ 96.903838] lock_page_memcg+0x38/0xc0 [ 96.903843] page_remove_rmap+0x20/0x3c0 [ 96.903847] unmap_page_range+0x558/0x87c [ 96.903851] unmap_vmas+0x9c/0x15c [ 96.903856] exit_mmap+0x68/0x1a4 [ 96.903861] __mmput+0x38/0x14c [ 96.903866] mmput+0x48/0x54 [ 96.903870] do_exit+0x2c0/0x970 [ 96.903874] do_group_exit+0x3c/0xa0 [ 96.903878] get_signal+0x144/0x760 [ 96.903882] do_notify_resume+0x224/0x130c [ 96.903888] el0_undef+0x48/0x60 [ 96.903893] el0t_64_sync_handler+0x130/0x1b0 [ 96.903897] el0t_64_sync+0x1a0/0x1a4 [ 96.903903] Code: 97fa3cde d503201f f90013f5 1400000f (b94e0261) [ 96.903907] ---[ end trace f024570fb29b7f3a ]--- [ 96.903909] note: klogd[619] exited with preempt_count 1 [ 96.903912] Fixing recursive fault but reboot is needed! [ 96.913892] audit: type=1701 audit(1661965049.536:5): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=239 comm="systemd-journal" exe="/lib/systemd/systemd-journald" sig=4 res=1 [ 96.913901] audit: type=1701 audit(1661965049.536:6): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=619 comm="klogd" exe="/bin/busybox.nosuid" sig=4 res=1 [ 97.701098] Mem abort info: [ 97.703895] ESR = 0x96000004 [ 97.706947] EC = 0x25: DABT (current EL), IL = 32 bits [ 97.712262] SET = 0, FnV = 0 [ 97.715313] EA = 0, S1PTW = 0 [ 97.718457] FSC = 0x04: level 0 translation fault [ 97.723337] Data abort info: [ 97.726218] ISV = 0, ISS = 0x00000004 [ 97.730056] CM = 0, WnR = 0 [ 97.733026] [00746f6e20746f6c] address between user and kernel address ranges [ 97.740163] Internal error: Oops: 96000004 [#3] PREEMPT SMP [ 97.745733] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex cfg80211 rfkill imx_sdma snd_soc_nau8822 ina2xx lm75 flexcan caam can_dev secvio error panel_lvds fuse [ 97.762966] CPU: 3 PID: 917 Comm: hdparm Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 97.772009] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 97.780094] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 97.787054] pc : lock_page_memcg+0x38/0xc0 [ 97.791151] lr : lock_page_memcg+0x2c/0xc0 [ 97.795246] sp : ffff80001b6ab980 [ 97.798556] x29: ffff80001b6ab980 x28: ffff80001b6abb88 x27: 0000ffff811f7000 [ 97.805693] x26: 0000ffff811f6000 x25: ffff0000cab943c0 x24: 0000000000000000 [ 97.812829] x23: fffffc0000041a80 x22: ffff80001b6abab8 x21: 20746f6e207465ac [ 97.819966] x20: fffffc0000041a80 x19: 20746f6e2074616c x18: 00000000fffffffc [ 97.827101] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000002 [ 97.834237] x14: 0000000000000000 x13: 000000000012a558 x12: ffff0000c6639405 [ 97.841374] x11: 0000000000000000 x10: 000000000000002e x9 : 0000000000000000 [ 97.848509] x8 : 0000000000000000 x7 : ffff8001f5794000 x6 : ffffffffffffffff [ 97.855645] x5 : 000000000004106a x4 : 00000000ffffffff x3 : ffff0000cab943c0 [ 97.862781] x2 : 0000000000000000 x1 : ffff0000c0716200 x0 : 20746f6e207465ac [ 97.869917] Call trace: [ 97.872362] lock_page_memcg+0x38/0xc0 [ 97.876111] page_remove_rmap+0x20/0x3c0 [ 97.880032] unmap_page_range+0x558/0x87c [ 97.884040] unmap_vmas+0x9c/0x15c [ 97.887440] exit_mmap+0x68/0x1a4 [ 97.890756] __mmput+0x38/0x14c [ 97.893897] mmput+0x48/0x54 [ 97.896776] do_exit+0x2c0/0x970 [ 97.900002] do_group_exit+0x3c/0xa0 [ 97.903576] get_signal+0x144/0x760 [ 97.907063] do_notify_resume+0x224/0x130c [ 97.911158] el0_undef+0x48/0x60 [ 97.914386] el0t_64_sync_handler+0x130/0x1b0 [ 97.918741] el0t_64_sync+0x1a0/0x1a4 [ 97.922403] Code: 97fa3cde d503201f f90013f5 1400000f (b94e0261) [ 97.928495] ---[ end trace f024570fb29b7f3b ]--- [ 97.933121] note: hdparm[917] exited with preempt_count 1 [ 97.938759] Fixing recursive fault but reboot is needed! [ 98.846252] Unable to handle kernel paging request at virtual address 006140011e602020 [ 98.846279] audit: type=1701 audit(1661965051.480:7): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=930 comm="systemd" exe="/lib/systemd/systemd" sig=7 res=1 [ 98.854511] Mem abort info: [ 98.871475] audit: type=1701 audit(1661965051.480:8): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=931 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.871802] ESR = 0x96000004 [ 98.888857] audit: type=1701 audit(1661965051.480:9): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=933 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.888947] EC = 0x25: DABT (current EL), IL = 32 bits [ 98.907393] audit: type=1701 audit(1661965051.488:10): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=934 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.908588] SET = 0, FnV = 0 [ 98.922807] audit: type=1701 audit(1661965051.488:11): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=935 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.925870] EA = 0, S1PTW = 0 [ 98.940229] audit: type=1701 audit(1661965051.488:12): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=936 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.943354] FSC = 0x04: level 0 translation fault [ 98.960004] audit: type=1701 audit(1661965051.488:13): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=939 comm="systemd" exe="/lib/systemd/systemd" sig=11 res=1 [ 98.963297] Data abort info: [ 98.979852] ISV = 0, ISS = 0x00000004 [ 98.983892] CM = 0, WnR = 0 [ 98.987544] [006140011e602020] address between user and kernel address ranges [ 98.994927] Internal error: Oops: 96000004 [#4] PREEMPT SMP [ 99.000509] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex cfg80211 rfkill imx_sdma snd_soc_nau8822 ina2xx lm75 flexcan caam can_dev secvio error panel_lvds fuse [ 99.017755] CPU: 0 PID: 930 Comm: systemd Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 99.026888] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 99.034976] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 99.041938] pc : __d_lookup+0x60/0x170 [ 99.045697] lr : __d_lookup+0x44/0x170 [ 99.049449] sp : ffff80001b84ba10 [ 99.052762] x29: ffff80001b84ba10 x28: 0000000000000000 x27: 0000000000000000 [ 99.059901] x26: ffff800009c56b38 x25: ffffffffffffffff x24: ffff80001b84bb68 [ 99.067040] x23: ffff0000c24b06c0 x22: ffff0000c24b06c0 x21: 00000000b953fdd3 [ 99.074178] x20: ffff0001f6600000 x19: 1e6140011e602008 x18: 00000000fffffffc [ 99.081315] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000020 [ 99.088453] x14: ffffffffffffffff x13: ffff0000c6639480 x12: ffff0000c6639405 [ 99.095591] x11: 0000000000000000 x10: 000000000000002e x9 : ffff800009a6fb50 [ 99.102728] x8 : 0101010101010101 x7 : d0a3a0b1bdffb6d0 x6 : 00000000000000b8 [ 99.109866] x5 : 0000000000000001 x4 : 0000000000000000 x3 : ffff80001b84bb68 [ 99.117004] x2 : ffff800009a5b000 x1 : ffff0000c1869c00 x0 : 0000000000000001 [ 99.124143] Call trace: [ 99.126589] __d_lookup+0x60/0x170 [ 99.129995] d_lookup+0x44/0x70 [ 99.133137] lookup_dcache+0x24/0x84 [ 99.136712] __lookup_hash+0x24/0xd0 [ 99.140286] do_unlinkat+0x134/0x270 [ 99.143860] do_coredump+0xbf4/0x1410 [ 99.147522] get_signal+0x380/0x760 [ 99.151011] do_notify_resume+0x16c/0x130c [ 99.155110] el0_svc+0x4c/0x60 [ 99.158169] el0t_64_sync_handler+0x1a8/0x1b0 [ 99.162526] el0t_64_sync+0x1a0/0x1a4 [ 99.166190] Code: 54000081 14000011 f9400273 b40001f3 (b9401a62) [ 99.172283] ---[ end trace f024570fb29b7f3c ]--- [ 99.217876] ------------[ cut here ]------------ [ 99.219715] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001a7 [ 99.222507] WARNING: CPU: 2 PID: 37 at mm/slub.c:4529 __ksize+0xc8/0xd0 [ 99.231325] Mem abort info: [ 99.237896] Modules linked in: bluetooth mwifiex_sdio snd_soc_fsl_sai crct10dif_ce mwifiex [ 99.240696] ESR = 0x96000004 [ 99.240697] cfg80211 rfkill [ 99.248964] EC = 0x25: DABT (current EL), IL = 32 bits [ 99.252004] imx_sdma snd_soc_nau8822 ina2xx lm75 [ 99.254883] SET = 0, FnV = 0 [ 99.260189] flexcan caam can_dev secvio [ 99.264895] EA = 0, S1PTW = 0 [ 99.267940] error panel_lvds fuse [ 99.271865] FSC = 0x04: level 0 translation fault [ 99.274997] CPU: 2 PID: 37 Comm: kauditd Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 99.278407] Data abort info: [ 99.283262] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 99.283265] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 99.292310] ISV = 0, ISS = 0x00000004 [ 99.295180] pc : __ksize+0xc8/0xd0 [ 99.303283] CM = 0, WnR = 0 [ 99.310218] lr : ksize+0x1c/0x30 [ 99.310224] sp : ffff80000a203ca0 [ 99.314070] user pgtable: 4k pages, 48-bit VAs, pgdp=00000001019fc000 [ 99.317449] x29: ffff80000a203ca0 x28: ffff0000f90f6800 x27: 0000000000000000 [ 99.320421] [00000000000001a7] pgd=0000000000000000 [ 99.323638] [ 99.323641] x26: 0000000000000001 x25: 0000000000000000 [ 99.326951] , p4d=0000000000000000 [ 99.333385] x24: 00000000ffffffff [ 99.333388] x23: 0000000000000cc0 x22: ffff0000c0200400 [ 99.340522] [ 99.345389] x21: 0000000000000000 [ 99.345392] x20: ffff0000c13c7800 x19: ffff0000f861bc00 x18: 00000000fffffffb [ 99.345399] x17: 000000040044ffff [ 99.346885] Internal error: Oops: 96000004 [#5] PREEMPT SMP [ 99.352103] x16: 00400032b5503510 [ 99.355498] Modules linked in: [ 99.358894] x15: 0000000000000000 [ 99.364113] bluetooth [ 99.365599] [ 99.368994] mwifiex_sdio [ 99.376122] x14: ffff0000c00d5400 [ 99.379431] snd_soc_fsl_sai [ 99.384997] x13: ffff8001f5780000 [ 99.388392] crct10dif_ce [ 99.391441] x12: 0000000034d4d91d [ 99.394836] mwifiex [ 99.397190] [ 99.398676] cfg80211 [ 99.401292] x11: 0000000000000000 [ 99.404601] rfkill [ 99.407476] x10: 00000000000009c0 [ 99.410871] imx_sdma [ 99.413486] x9 : ffff80000a203d40 [ 99.416882] snd_soc_nau8822 [ 99.419062] [ 99.420547] ina2xx [ 99.422814] x8 : ffff0000c021de20 [ 99.426123] lm75 [ 99.428217] x7 : ffff0001fef5d340 [ 99.431613] flexcan [ 99.433880] x6 : ffff800009aeb4d0 [ 99.437275] caam [ 99.440150] [ 99.441636] can_dev [ 99.443729] x5 : 0000000000000000 [ 99.447038] secvio [ 99.448957] x4 : ffff80000a203c50 [ 99.452353] error [ 99.454534] x3 : 0000000000000001 [ 99.457929] panel_lvds [ 99.459849] [ 99.461335] fuse [ 99.463515] x2 : 0000000000000000 [ 99.466823] [ 99.468917] x1 : fffffc000304f1c0 [ 99.472313] CPU: 1 PID: 1 Comm: systemd Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 99.474320] x0 : 0000000000000000 [ 99.477715] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 99.480156] [ 99.481642] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 99.483563] Call trace: [ 99.486871] pc : kmem_cache_alloc+0xdc/0x294 [ 99.488360] __ksize+0xc8/0xd0 [ 99.491753] lr : kmem_cache_alloc+0x80/0x294 [ 99.500704] __alloc_skb+0xa0/0x1fc [ 99.504099] sp : ffff800009cdba80 [ 99.512183] skb_copy+0x44/0xb0 [ 99.513668] x29: ffff800009cdba80 [ 99.520622] kauditd_send_multicast_skb+0x74/0xc0 [ 99.523063] x28: ffff0000c17579c0 [ 99.527327] kauditd_send_queue+0x68/0x1b0 [ 99.530375] x27: 0000000000000000 [ 99.534639] kauditd_thread+0x29c/0x320 [ 99.538121] [ 99.541430] kthread+0x154/0x160 [ 99.544565] x26: ffff0000c17579c0 [ 99.547874] ret_from_fork+0x10/0x20 [ 99.552572] x25: ffff800009a58000 [ 99.555968] ---[ end trace f024570fb29b7f3d ]--- [ 99.560057] x24: ffff0000c1757a38 [ 99.563502] ------------[ cut here ]------------ [ 99.567282] [ 99.567283] x23: ffff0000c0078000 [ 99.568769] WARNING: CPU: 3 PID: 37 at mm/slub.c:4529 __ksize+0xc8/0xd0 [ 99.571991] x22: 0000000000002800 [ 99.575300] Modules linked in: [ 99.578869] x21: 0000000000000000 [ 99.582265] bluetooth [ 99.586876] [ 99.590272] mwifiex_sdio [ 99.594883] x20: ffff800008224004 [ 99.596369] snd_soc_fsl_sai [ 99.599678] x19: ffff0000c0005700 [ 99.606285] crct10dif_ce [ 99.609681] x18: 0000000000000000 [ 99.612729] mwifiex [ 99.616125] [ 99.618479] cfg80211 [ 99.619965] x17: 0000000000000000 [ 99.622579] rfkill [ 99.625888] x16: 0000000000000000 [ 99.628763] imx_sdma [ 99.632158] x15: ffff0000c183a108 [ 99.634773] snd_soc_nau8822 [ 99.638169] [ 99.640349] ina2xx [ 99.641834] x14: ffff0000c1839290 [ 99.644101] lm75 [ 99.647410] x13: ffff0000c183a108 [ 99.649504] flexcan [ 99.652899] x12: ffff0000c1839290 [ 99.655166] caam [ 99.658562] [ 99.661437] can_dev [ 99.662922] x11: 0000000000000000 [ 99.665016] secvio [ 99.668325] x10: 0000000000000000 [ 99.670244] error [ 99.673640] x9 : 0000000000000000 [ 99.675821] panel_lvds [ 99.679216] [ 99.681135] fuse [ 99.682621] x8 : ffff0000c183b500 [ 99.684801] [ 99.688110] x7 : 0000000000000016 [ 99.690204] CPU: 3 PID: 37 Comm: kauditd Tainted: G D W 5.15.40-05907-ga69fc9b0472d #2 [ 99.693599] x6 : ffff80000909e708 [ 99.695606] Hardware name: Toradex Verdin iMX8M Plus WB on Verdin Development Board (DT) [ 99.699002] [ 99.701443] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 99.702928] x5 : ffff0000f9f4a240 [ 99.704848] pc : __ksize+0xc8/0xd0 [ 99.708157] x4 : ffff800009cdbb80 [ 99.709643] lr : ksize+0x1c/0x30 [ 99.713038] x3 : 0000000000000001 [ 99.722076] sp : ffff80000a203ca0 [ 99.725472] [ 99.733555] x29: ffff80000a203ca0 [ 99.735041] x2 : 0000000000000020 [ 99.741996] x28: ffff0000f90f6800 [ 99.745305] x1 : 0000000000738601 [ 99.748701] x27: 0000000000000000 [ 99.752097] x0 : 0000000000000187 [ 99.755319] [ 99.758714] [ 99.762023] x26: 0000000000000001 [ 99.763508] Call trace: [ 99.766816] x25: 0000000000000000 [ 99.770126] kmem_cache_alloc+0xdc/0x294 [ 99.773521] x24: 00000000ffffffff [ 99.776916] anon_vma_clone+0x70/0x1dc [ 99.780311] [ 99.783707] anon_vma_fork+0x30/0x1b0 [ 99.785193] x23: 0000000000000cc0 [ 99.786678] dup_mm+0x39c/0x544 [ 99.789986] x22: ffff0000c0200400 [ 99.792427] copy_process+0x1210/0x1524 [ 99.795822] x21: 0000000000000000 [ 99.799739] kernel_clone+0x5c/0x3c0 [ 99.803134] [ 99.806878] __do_sys_clone+0x54/0x80 [ 99.808363] x20: ffff0000c13c7800 [ 99.812019] __arm64_sys_clone+0x24/0x30 [ 99.815328] x19: ffff0000f861bc00 [ 99.818463] invoke_syscall+0x48/0x114 [ 99.821858] x18: 00000000fffffffb [ 99.825688] el0_svc_common.constprop.0+0x44/0xec [ 99.829084] [ 99.832655] do_el0_svc+0x28/0x90 [ 99.834140] x17: 000000040044ffff [ 99.837796] el0_svc+0x20/0x60 [ 99.841105] x16: 00400032b5503510 [ 99.845022] el0t_64_sync_handler+0x1a8/0x1b0 [ 99.848417] x15: 0000000000000000 [ 99.852160] el0t_64_sync+0x1a0/0x1a4 [ 99.855555] [ 99.860256] Code: 54000d40 b9402a62 b9400ae3 11000463 (f862681a) [ 99.861739] x14: ffff0000c00d5400 [ 99.865052] ---[ end trace f024570fb29b7f3e ]--- [ 99.868357] x13: ffff8001f5780000 [ 99.871424] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 99.874800] x12: 0000000034d4d91d [ 99.879152] SMP: stopping secondary CPUs [ 99.882547] [ 99.921538] x11: 0000000000000000 x10: 00000000000009c0 x9 : ffff80000a203d40 [ 99.928674] x8 : ffff0000c021de20 x7 : ffff0001fef5d340 x6 : ffff800009aeb4d0 [ 99.935810] x5 : 0000000000000000 x4 : ffff80000a203c50 x3 : 0000000000000001 [ 99.942946] x2 : 0000000000000000 x1 : fffffc000304f1c0 x0 : 0000000000000000 [ 99.950081] Call trace: [ 99.952524] __ksize+0xc8/0xd0 [ 99.955577] __alloc_skb+0xe0/0x1fc [ 99.959066] skb_copy+0x44/0xb0 [ 99.962206] kauditd_send_multicast_skb+0x74/0xc0 [ 99.966910] kauditd_send_queue+0x68/0x1b0 [ 99.971005] kauditd_thread+0x29c/0x320 [ 99.974839] kthread+0x154/0x160 [ 99.978066] ret_from_fork+0x10/0x20 [ 99.981640] ---[ end trace f024570fb29b7f3f ]--- [ 99.986264] Kernel Offset: disabled [ 99.989748] CPU features: 0x00002001,20000846 [ 99.994102] Memory Limit: none [ 99.997158] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]--- It happens also on vanilla 6.0-rc3. It does seem to work on imx8mp-evk with an unchanged NXP BSP | root@imx8mpevk:~# uname -a | Linux imx8mpevk 5.15.32-lts-next+gfa6c3168595c #1 SMP PREEMPT Tue Jun 7 02:34:46 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux | root@imx8mpevk:~# cat /dev/mmcblk2 > /dev/null | root@imx8mpevk:~# Upstream-Status: Pending [Not yet the solution] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mp-verdin: add native lvds functionalityMax Krummenacher
The LVDS signals generated from the LDB can be accessed on the Verdin Development Board mezzanine connector. Add a panel and ldb node in the device tree and allow for enabling it in a overlay. Upstream-status: Pending [mainline does not support LDB yet] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mp-verdin: enable the vpu related nodesMax Krummenacher
Enable the Video Processing Unit nodes as the VPU could be used for image processing even in a headless system. Upstream-status: Pending [mainline does not support VPU yet] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mp-verdin: add dsi to lvds functionalityMax Krummenacher
Add a panel-lvds node and use the correct dsi to lvds chip name. Both to be later extended in a dt overlay according to the exact board HW configuration. Upstream-status: Submitted [https://lore.kernel.org/lkml/20220901154051.1885509-2-max.oss.09@gmail.com/T/#u] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-09-01arm64: dts: imx8mp-verdin: add dsi to hdmi functionalityMax Krummenacher
Add the hdmi connector present on the dsi to hdmi adapter now required by the upstream lontium bridge driver. The dsi to hdmi adapter is enabled in an device tree overlay. Upstream-status: Submitted [https://lore.kernel.org/lkml/20220901154051.1885509-1-max.oss.09@gmail.com/T/#t] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-29arm64: imx8mm-verdin: introduce hdmi-connectorPhilippe Schenker
Upstream-Status: Pending The lontium lt8912b driver needs an hdmi connector to be connected to port 1. Introduce this connector to be enabled in overlays. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-08-26arm64: dts: verdin-imx8mm: add lvds panel nodeMarcel Ziswiler
Add an LVDS panel node to be extended by a device tree overlay. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-08-26arm64: dts: verdin-imx8mm: rename sn65dsi83 to sn65dsi84Marcel Ziswiler
Rename sn65dsi83 to sn65dsi84 as that is the exact chip used on the Verdin DSI to LVDS Adapter. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-08-24arm64: dts: imx8mp-verdin: add analog audioMax Krummenacher
Add the audio codec NAU8824 present on the Development Carrier Board and the WM8904 present on the Dahlia Carrier Board. Upstream-status: Pending [mainline does not support SAI yet] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-24arm64: dts: imx8mp-verdin: add native hdmi-audio nodeMax Krummenacher
Add a disabled node related to hdmi-audio. This allows to enable hdmi-audio together with hdmi for the native hdmi hardware present on the SoM. Upstream-status: Pending [mainline does not support SAI yet] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-24arm64: dts: imx8mp-verdin: add cpu-supplyMax Krummenacher
Add the cpu-supply property to all CPU nodes to enable the cpufreq driver. Upstream-status: Submitted [https://lore.kernel.org/all/20220822075342.2611279-1-max.oss.09@gmail.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-24arm64: dts: imx8mp-verdin: delete unneeded reserved-memory nodesMax Krummenacher
We don't use the tuning tool, whatever that is. So remove the reserved-memory region dedicated to the ISP and make another 256MB of memory available. Upstream-status: Innapropriate [ISP doesn't reserve memory in upstream] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-24arm64: dts: imx8mp-verdin: delete unneeded reserved-memory nodesMax Krummenacher
We don't configure the DSP. So remove the reserved-memory regions dedicated to the DSP and make another 32MB of memory available. Upstream-status: Pending [DSP reserves memory upstream, but differently] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-24arm64: configs: add verdin dsi to lvds adapterMarcel Ziswiler
Build the TI SN65DSI83 resp. SN65DSI84 as a module. This chip is used on the Verdin DSI to LVDS Adapter. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-08-23arm64: dts: verdin-imx8mm: prevent long boot delay on pcieMax Krummenacher
Prevents a long delay when bringing up PCIe during kernel boot by disabling a L1 state low-power functionality. Without the patch: | [ 5.025000] pci 0000:00:00.0: PCI bridge to [bus 01-ff] | [ 29.716991] pci 0000:00:00.0: imx6_pcie_l1ss_quirk+0x0/0x1b4 took 24108138 usecs With the patch the long delay is gone. Upstream-Status: Inappropriate [downstream-only] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-08-13arm64: dts: freescale: verdin-imx8mp: fix atmel_mxt_ts reset polarityMarcel Ziswiler
Fix reset GPIO polarity in-line with the following commit feedaacdadfc ("Input: atmel_mxt_ts - fix up inverted RESET handler"). Fixes: a39ed23bdf6e ("arm64: dts: freescale: add initial support for verdin imx8m plus") Upstream-Status: Submitted [https://lore.kernel.org/all/20220812213905.216065-1-marcel@ziswiler.com] Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-08-13arm64: dts: freescale: verdin-imx8mm: fix atmel_mxt_ts reset polarityMarcel Ziswiler
Fix reset GPIO polarity in-line with the following commit feedaacdadfc ("Input: atmel_mxt_ts - fix up inverted RESET handler"). Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini") Upstream-Status: Submitted [https://lore.kernel.org/all/20220812213905.216065-1-marcel@ziswiler.com] Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-08-04arm64: configs: toradex: Enable at24 eeprom driverFrancesco Dolcini
Enable EEPROM AT24 as built-in driver for Toradex Verdin family since as module it is not loaded automatically. Upstream-Status: Inappropriate [configuration] Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2022-08-03arm64: dts: verdin-imx8mmm: enable vpu and v4l2Philippe Schenker
Enable vpu as it was done on toradex_5.4-2.3.x-imx. Enable also the newly introduced v4l2 unit. Upstream-Status: Inappropriate [other] - vpu_g1, vpu_g2, vpu_h1 have already status=ok in upstream dtsi, therefore this patch is not needed - vpu_v4l2 exists only in downstream Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-08-03arm64: dts: imx8mm-verdin: update CAN clock to 40MHzAndrejs Cainikovs
Update SPI CAN controller clock to match current hardware design. Upstream-Status: Submitted [https://lore.kernel.org/all/20220708124205.59564-2-andrejs.cainikovs@toradex.com/] Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-08-03arm64: dts: imx8mm-verdin: use level interrupt for mcp251xfdAndrejs Cainikovs
Switch to level interrupt for mcp251xfd. This will make sure no interrupts are lost. Upstream-status: Submitted [https://lore.kernel.org/all/20220708124205.59564-3-andrejs.cainikovs@toradex.com/] Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-08-03arm64: dts: verdin-imx8mm: add otg2 pd to usbphyPhilippe Schenker
The Verdin iMX8M Mini System on Module does not have VBUS signal connected on Verdin USB_2 (usbotg2). On Verdin Development board this is no problem, as we have connected a USB-Hub that is always connected. However, if Verdin USB_2 is desired to be used as a single USB-Host port the chipidea driver does not detect if a USB device is plugged into this port, due to runtime pm shutting down the PHY. Add the power-domain &pgc_otg2 to &usbphynop2 in order to detect plugging events and enumerate the usb device. Upstream-status: Submitted [https://lore.kernel.org/all/20220722075600.10943-1-dev@pschenker.ch/] - backport to 5.15 from mainline/master, use downstream naming of power-domain Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini") Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-07-29arm64: dts: imx8mm-verdin: adjust pcie to downstreamPhilippe Schenker
On the downstream kernel it has to be differently setup how the PCIe clock is being derived. Use the opposite of ext_osc what the NXP evk uses. Add clocks that are also used on imx8mm-evk.dtsi. Upstream-Status: Inappropriate [other] - Commit only needed for NXP downstream kernel Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-07-29arm64: dts: imx8mp-verdin: use downstream definesPhilippe Schenker
in mainline these muxings are called USB*_OTG_PWR, the value behind is the exact same as USB*_PWR in downstream so use these for downstream. Upstream-Status: Inappropriate [other] - Commit only needed for NXP downstream kernel Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-07-28arm64: dts: imx8m{m,p}-verdin: use IT temperaturesPhilippe Schenker
Use IT temperature threshold for critical/passive trip point on Verdin iMX8M Plus and Mini. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit a242ef5f3c10740f48ccd4a1f6b0ad4355f64e21)
2022-07-28arm64: dts: freescale: align gpio-key node names with dtschemaKrzysztof Kozlowski
The node names should be generic and DT schema expects certain pattern (e.g. with key/button/switch). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit b803d15e89f9f9dcbb87f5f98f175c34da4f7961)
2022-07-28arm64: dts: imx8mp-verdin: Use the standard 'uart-has-rtscts'Fabio Estevam
The usage of the 'fsl,uart-has-rtscts' property is deprecated. Use the standard 'uart-has-rtscts' instead. Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Fabio Estevam <festevam@denx.de> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 83b41ad1dca61ede1c261aa788fe643b746fb546)
2022-07-28arm64: dts: freescale: add initial support for verdin imx8m plusMarcel Ziswiler
This patch adds the device tree to support Toradex Verdin iMX8M Plus [1] a computer on module which can be used on different carrier boards. The module consists of an NXP i.MX 8M Plus family SoC (either i.MX 8M Plus Quad or 8M Plus QuadLite), a PCA9450C PMIC, a Gigabit Ethernet PHY, 1, 2, 4 or 8 GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC, an I2C EEPROM, an RX8130 RTC, an optional I2C temperature sensor plus an optional Bluetooth/Wi-Fi module. Anything that is not self-contained on the module is disabled by default. The device tree for the Dahlia includes the module's device tree and enables the supported peripherals of the carrier board. The device tree for the Verdin Development Board includes the module's device tree as well as the Dahlia one as it is a superset and supports almost all peripherals available. So far there is no display functionality supported at all but basic console UART, USB host, eMMC and Ethernet functionality work fine. [1] https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-plus Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit a39ed23bdf6ec7eb0f093b6ef0391e1f3d152f71)
2022-07-28arm64: dts: imx8mm-verdin: add sd1 sleep pinctrlMarcel Ziswiler
Add SD1 sleep pinctrl to avoid backfeeding during sleep. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 4f6b5de98560d27638dea2b43d9a97fa88b79e4b)