Age | Commit message (Collapse) | Author |
|
Verdin boards rely on CMA configuration in device tree instead.
Upstream-Status: Inappropriate [downstream specific]
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
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>
|
|
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>
|
|
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]
|
|
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]
|
|
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]
|
|
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/]
|
|
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/]
|
|
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/]
|
|
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/]
|
|
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/]
|
|
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/]
|
|
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]
|
|
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>
|
|
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>
|
|
Enable the PCIe and PCIe PHY.
Upstream-status: Pending [mainline does not support PCIe yet]
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
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>
|
|
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>
|
|
These are not used on our SoM, remove them.
Upstream-status: Inappropriate [defconfig change]
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
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/]
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add an LVDS panel node to be extended by a device tree overlay.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|