Age | Commit message (Collapse) | Author |
|
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>
|
|
Some audio codecs need the MCLK during setup of the codec.
For some SAI versions, e.g. on i.MX 8M Plus, the physical MCLK pin
output is gated with the TCSR BCE bit. The BCE bit gets implicitely
set when the transmitter gets enabled, however that is done only
when starting playback.
Enable the BCE bit already in fsl_sai_hw_params() which is an
early state when initalizing sai and codec.
Notably the WM8904 codec used on a Toradex Dahlia carrier board is
affected and shows a huge timeout of about 8 seconds and it fails
to calibrate DC offsets due to the lack of MCLK.
Fixes a timeout on audio start:
root@verdin-imx8mp:~# aplay Gong.wav
[ 1356.402716] wm8904 3-001a: DC servo timed out
[ 1362.410401] wm8904 3-001a: DC servo timed out
Playing WAVE 'Gong.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Upstream-status: Pending [mainline does not support SAI yet]
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)
|
|
Add a note about us using discrete external on-module resistors
pulling-up to the on-module +V3.3_1.8_SD (LDO5) rail and explicitly
disabling the internal pull-ups due to ERR050080 [1]:
IO: Degradation of internal IO pullup/pulldown current capability for
IO’s continuously driven in a 3.3V operating mode
[1] https://www.nxp.com/webapp/Download?colCode=IMX8MM_0N87W
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit f84ccff6d8f34b7b1513411bcb172e8c903fc14e)
|
|
Fix capitalisation of Verdin in comments.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 473b34b8ce38f02b7b0c0272b90e30c99d8d4fdd)
|
|
Alphabetically re-order pinctrl groups.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 593c535b0ddcc48325c1199549afcae74ccbfb96)
|
|
Update IOMUX configuration as required by the hardware design team.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 60f01b5b5c7df32360329aea9b455d13b76d2a5f)
|
|
Add a note about the bootloader being expected to switch on the I2C
level shifter for the TLA2024 ADC behind this PMIC.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 79c1c8509cbc3ce586fa7903cb1f9905b9f8326d)
|
|
Make sure we only have dashes rather than underscores in node names by
renaming ctrl_sleep_moci-hog to ctrl-sleep-moci-hog.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 9847725e3a775832376646907159ce644d90bb18)
|
|
Alphabetically re-order nodes.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 344acf05d89ff9a5d3e3d047d36d328efc799fee)
|
|
Fix multi-line comment style.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 98e4f1930ef1561042a1be3b3b4fef7c3c271729)
|
|
Annotate regulators which are on-module.
Rename usb_otg{1/2}_vbus to USB_{1/2}_EN more in-line with Verdin spec.
Annotate PMIC regulators with information on which BUCK/LDO they are on.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 97a07703cf9674823f4432facc0fbcbaed683eeb)
|
|
This patch adds the device tree to support Toradex Verdin iMX8M Mini a
computer on module which can be used on different carrier boards.
The module consists of an NXP i.MX 8M Mini family SoC (either i.MX 8M
Mini Quad or 8M Mini DualLite), a PCA9450A PMIC, a Gigabit Ethernet PHY,
1 or 2 GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC, an I2C EEPROM, an
RX8130 RTC, an optional SPI CAN controller 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, PCIe, USB host, eMMC and Ethernet and PCIe functionality
work fine.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 6a57f224f7346c8d23596f2ef1ce360669926f54)
|
|
Add toradex_imx_v8.config which contains the differences to NXPs config
imx_v8_defconfig.
With this file toradex_defconfig can be generated with the following
commands:
make imx_v8_defconfig
scripts/kconfig/merge_config.sh -m .config arch/arm64/configs/toradex_imx_v8.config
make savedefconfig
cp defconfig arch/arm64/configs/toradex_defconfig
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
This is the 5.15.40 stable release
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
|
|
This is the 5.15.39 stable release
|
|
This is the 5.15.38 stable release
|
|
This is the 5.15.37 stable release
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
|
|
This is the 5.15.36 stable release
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
Conflicts:
drivers/dma/imx-sdma.c
drivers/edac/synopsys_edac.c
|
|
This is the 5.15.35 stable release
|
|
Reverted commit due to conflict:
ff13c90d7f7ab606b37be6d15140d19013d6736c drm/bridge: Add missing pm_runtime_put_sync
|
|
This is the 5.15.33 stable release
Files which conflict can cause problem in future:
drivers/clk/imx/clk-imx8qxp-lpcg.c
reverted:
4b8a71f206c94445317179b79d7f91996f40dcfc clk: imx: off by one in imx_lpcg_parse_clks_from_dt()
drivers/mailbox/imx-mailbox.c
e8d90d8901e42f9ac039086af9f1829030204fa8 MLK-25649-4 mailbox: imx: Add support for identifying SCU wakeup source from sysfs
security/keys/trusted-keys/trusted_core.c
ae82e852ca1b899e936c02859c18a80467901b2f KEYS: trusted: allow use of TEE as backend without TCG_TPM support
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
|
|
This reverts commit 4b8a71f206c94445317179b79d7f91996f40dcfc.
|
|
This reverts commit ff13c90d7f7ab606b37be6d15140d19013d6736c.
|
|
It seems that there are circumstances when access to QBMAN through the
software portals will be delayed. Accessing some lower speeds interfaces
while also QBMAN commands are issued from the kernel will lead to
software timeouts happening in the dpaa2-eth driver.
What we have observed is that management commands like re-arming the
interrupts on a specific channel, waiting for a dequeue response to be
available etc, will take a longer time to complete.
All these commands have to wait for a valid bit to be set for the
command to be interpreted as successfully completed.
Increase the maximum number of times the Linux kernel drivers will busy
poll for a successful result of one of these commands.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
|
Enable CONFIG_SFP for the Linux SFP infrastructure. Also, enable the
Lynx 28G SerDes PHY driver which supports runtime reconfiguration of
SerDes lanes.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
|
There is a downstream patch which adds a new interface type -
PHY_INTERFACE_MODE_2500SGMII (which is really the same one as
PHY_INTERFACE_MODE_2500BASEX).
We backported from upstream the following phylink patch which, of
course, does not treat the PHY_INTERFACE_MODE_2500SGMII interface mode
in a switch case statement.
34ae2c09d46a ("net: phylink: add generic validate implementation")
Because of this, we get the following build warning.
drivers/net/phy/phylink.c: In function ‘phylink_get_linkmodes’:
drivers/net/phy/phylink.c:322:2: warning: enumeration value ‘PHY_INTERFACE_MODE_2500SGMII’ not handled in switch [-Wswitch]
322 | switch (interface) {
| ^~~~~~
Fix it by treating the new interface mode in the switch-case statement.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
|
This reverts commit 6809b4d8f301e24ba9588868c61cf9d78c84d41c.
The patch causes kernel crashes on DPAA2. Revert the changes and
reimplement at a later time.
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
Since the blamed commit, VCAP filters can appear on more than one list.
If their action is "trap", they are chained on ocelot->traps via
filter->trap_list. This is in addition to their normal placement on the
VCAP block->rules list head.
Therefore, when we free a VCAP filter, we must remove it from all lists
it is a member of, including ocelot->traps.
There are at least 2 bugs which are direct consequences of this design
decision.
First is the incorrect usage of list_empty(), meant to denote whether
"filter" is chained into ocelot->traps via filter->trap_list.
This does not do the correct thing, because list_empty() checks whether
"head->next == head", but in our case, head->next == head->prev == NULL.
So we dereference NULL pointers and die when we call list_del().
Second is the fact that not all places that should remove the filter
from ocelot->traps do so. One example is ocelot_vcap_block_remove_filter(),
which is where we have the main kfree(filter). By keeping freed filters
in ocelot->traps we end up in a use-after-free in
felix_update_trapping_destinations().
Attempting to fix all the buggy patterns is a whack-a-mole game which
makes the driver unmaintainable. Actually this is what the previous
patch version attempted to do:
https://patchwork.kernel.org/project/netdevbpf/patch/20220503115728.834457-3-vladimir.oltean@nxp.com/
but it introduced another set of bugs, because there are other places in
which create VCAP filters, not just ocelot_vcap_filter_create():
- ocelot_trap_add()
- felix_tag_8021q_vlan_add_rx()
- felix_tag_8021q_vlan_add_tx()
Relying on the convention that all those code paths must call
INIT_LIST_HEAD(&filter->trap_list) is not going to scale.
So let's do what should have been done in the first place and keep a
bool in struct ocelot_vcap_filter which denotes whether we are looking
at a trapping rule or not. Iterating now happens over the main VCAP IS2
block->rules. The advantage is that we no longer risk having stale
references to a freed filter, since it is only present in that list.
Fixes: e42bd4ed09aa ("net: mscc: ocelot: keep traps in a list")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit e1846cff2fe614d93a2f89461b5935678fd34bd9)
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
|
This reverts commit 8146e2b6a6436372b886e7c6a3f2589c48d381da. It was
fixed differently upstream, we'll use that.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
|
element"
This reverts commit 0e9c8bdfd560152fd2bd3fa68667bd881cd15c8d. This was
fixed differently in upstream, we're going for that approach.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
|
Downstream commit bbd959758fb3 ("selftests: ocelot: tc_flower_chains:
reorder interfaces") got merged upstream as 93196ef911ba ("selftests:
ocelot: tc_flower_chains: use conventional interface names"), with the
difference that interfaces are ordered differently and traffic flows in
the other direction.
Eliminate this difference by copy-pasting the upstream version of the
selftest.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
|
properly without conflict
In order to use micfil correctly, uart3 is disabled in relating dts
files.
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Chancel Liu <chancel.liu@nxp.com>
Acked-by: Jason Liu <jason.hui.liu@nxp.com>
|
|
Read entropy-delay property from device tree for
TRNG configuration.
update the value if entry is missing in DT.
Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
|
|
Add imx6sx entropy-delay property.
TRNG self test are run to determine the correct entropy delay.
firmware test is executed with different voltage and temperature to
identify the worst case value for entropy delay. after adding a margin
value(1000),entropy delay should be at least 12000.
Signed-off-by: Vabhav Sharma <vabhav.sharma@nxp.com>
Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
|