Age | Commit message (Collapse) | Author |
|
This commit adds two properties to control the RX DLL and TX DLL
2ns delay on RXC/TXC RGMII clock lines. This is especially needed
if the MAC does not provide TXC delay by itself.
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
With this patch one is able to control the rx dll and tx dll bypass
bits, hence the 2ns delay on rxc and txc lines in devicetree.
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
The RXC delay is provided in both PHYs used (KSZ9031 and KSZ9131)
on the PHY itself so it is not needed on the MAC.
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
The MAC of the i.MX6 SoC is compliant with RGMII v1.3. The KSZ9131 PHY
is like KSZ9031 adhering to RGMII v2.0 specification. This means the
MAC should provide a delay to the TXC line. Because the i.MX6 MAC does
not provide this delay this has to be done in the PHY.
This patch adds by default ~1.4ns delay to the TXC line. This should
be good for all boards that have all RGMII signals routed with the
same length.
The KSZ9131 has relatively high tolerances on skew registers from
MMD 2.4 to MMD 2.8. Therefore the new DLL-based delay of 2ns is used
and then as little as possibly subtracted from that so we get more
accurate delay. This is actually needed because the i.MX6 SoC has
an asyn skew on TXC from -100ps to 900ps.
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Add support for Microchip Technology KSZ9131 10/100/1000 Ethernet PHY
Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit bff5b4b3737219195ca0caef4ff7884303cb5dc1)
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Add support for Microchip Technology KSZ9131 10/100/1000 Ethernet PHY
Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit bff5b4b3737219195ca0caef4ff7884303cb5dc1)
Backport:
Added the line: '.config_aneg = genphy_config_aneg,' to KSZ9131
data structure
Related-to: ELB-1299
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
libbfd has changed the bfd_section_* macros to inline functions
bfd_section_<field> since 2019-09-18. See below two commits:
o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html
This fix make perf able to build with both old and new libbfd.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
(cherry picked from commit 0ada120c883d4f1f6aafd01cf0fbb10d8bbba015)
|
|
The debug message of max device speed setting is shown
when an error in spi_setup() occurs.
It should be shown when the setup call is succeeded instead.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
The debug message in spidev_message() shows wrong xfer speed:
...
[ 1227.702714] spidev spi0.0: setup mode 0, 32 bits/w, 20000000 Hz max --> 0
(real speed sets to 20000000Hz)
[ 1227.731801] spidev spi0.0: xfer len 4096 tx 32bits 0 usec 10000000Hz
(debug message shows 10000000Hz that is the original max speed of this
spidev set from DT)
...
Fix the data source for the debug message.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
This is wrong approach to fix the speed issue.
This reverts commit 6eb4142030916c2db5c3dd0a4301dbd1141593e2.
Related-to: ELB-2387
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
Add CTRL_SLEEP_MOCI required for e.g. the Dahlia carrier board.
Related-to: ELB-2520
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
spi->max_speed_hz always sets to the previous value.
Fixing the logic allows IOCTL command SPI_IOC_WR_MAX_SPEED_HZ
to store the new requested value to spi->max_speed_hz.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
- replace the array with the shift operation
- remove the extra comparing operation.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
The hardware of verdin has some bypass caps after the switch that
switches power to the sd-card. These caps are resulting in a slow
discharge.
Add off-on-delay to set a minimum off-time of the regulator so it
can fully discharge until it turns on again.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
eMMC, used in Colibri iMX7D eMMC modules, supports
200Mhz mode with vccq=1.8v.
Remove the max-frequency limit, it increases the performance significantly:
== before fix ====
root@colibri-imx7-emmc:~# hdparm -t /dev/mmcblk1
/dev/mmcblk1:
Timing buffered disk reads: `^H252 MB in 3.02 seconds = 83.54 MB/sec
==================
=== after fix ====
root@colibri-imx7-emmc:~# hdparm -t /dev/mmcblk0
/dev/mmcblk0:
Timing buffered disk reads: 408 MB in 3.00 seconds = 135.94 MB/sec
==================
Related-to: ELB-1442
Fixes: f928a4a377e4 ("ARM: dts: imx7: add Toradex Colibri iMX7D
1GB (eMMC) support")
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
This commit basically deletes the devicetree for V1.0 Apalis iMX8
modules. It includes V1.1 devicetree then and only puts in the
differences and deletes the nodes that are not used in V1.0.
This is done to prevent code duplication and have better overview of
what has changed.
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
This commit does no code changes it just copies fsl-imx8qm-apalis.dtsi
to fsl-imx8qm-apalis-v1.1.dtsi.
This is done to be able to track changes made between those versions.
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
The interface of Apalis modules is MXM3, not SODIMM.
Just fix the name of the reset touch pin.
Fixes: 96458caa3562 ("ARM: dts: imx6: Add touchscreens used
on Toradex eval boards")
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
commit 2801b2f5fad3d1e9ea0ac8484584051071065645 upstream
The dynamic bursts mode allows to group together multiple words into a
single burst. To do so, it's necessary that words can be packed into the
32-bits FIFO entries, so we can't allow using this mode with bit_per_words
different to 8, 16 or 32.
This prevents shitfing out extra clock ticks for transfers with
bit_per_word values not aligned on 8 bits.
With that , we are sure that only the correct number of bits is
shifted out at each transfer, so we don't need to mask out the remaining
parts of the words.
Related-to: ELB-1418
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-2289
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-2289
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-2289
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-2289
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-2359
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Note: there is still backfeeding present at this moment from those pads:
SC_P_ENET0_RGMII_TXD0
SC_P_ENET0_RGMII_TXD1
SC_P_ENET0_RGMII_RXD0
SC_P_ENET0_RGMII_RXD1
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Related-to: ELB-1254
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Fixes: 6862ae242104 ("drm/panel: simple: add display timings for logic technologies displays")
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add a 'sleep' pinmuxing which prevents driving RGMII pins and backfeed the
unpowered Ethernet PHY.
When switching the Ethernet PHY supply off, it takes about 400 ms for
the PHY power to go down. So wait a minimum of 500 ms before reenabling
the PHY supply.
Related-to: HAR-2339
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
After the Ethernet PHY supply is enabled an RC holds the reset asserted
for about 120 ms. Reduce the time waited from 1000 ms to 200 ms which
should account for any possible tolerance.
U-Boot enables the PHY supply, switching it off in Linux with the RGMII
pins allready muxed creates backfeeding, thus set regulator-boot-on.
Related-to: HAR-2339
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The driver now checks the fuses for a disabled DSP. Thus enable the DSP
device in the device tree and let the driver decide at run-time if the
DSP can be used or not.
This reverts commit 862886b0c48296d34b0e63d7497fa671e6fe25d7.
Related-to: ELB-1380
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The DSP is an optional silicon feature of i.MX8, i.MX8X SoCs.
This prevents the following message which is often followed by a
kernel oops.
| Failed power operation on resource 512 sc_err 3, power_on 1
Test the DSP disable fuse in the drivers init call and don't install
the driver if the SoC we are running on has no DSP.
Fuse code taken from vpu_encoder_b0.c.
Related-to: ELB-1380
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This fixes the following systemd error during boot:
[ 4.225226] systemd[1]: File /lib/systemd/system/systemd-journald.
service:36 configures an IP firewall (IPAddressDeny=any), but the local
system does not support BPF/cgroup based firewalling.
[ 4.242360] systemd[1]: Proceeding WITHOUT firewalling in effect!
(This warning is only shown for the first loaded unit using IP
firewalling.)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(similar to arm64 commit cfbad309c60a13bb7fb0ad4b1139a52d485db0cd)
|
|
toradex_4.14-2.0.x-imx-next
|
|
crypto: mxs-dcp: remove merge conflict markers
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
toradex_4.14-2.0.x-imx-next
Conflicts:
sound/soc/codecs/sgtl5000.c
|
|
4.14 2.0.x imx
|
|
This is the 4.14.159 stable release
Conflicts:
arch/arm/Kconfig.debug
arch/arm/boot/dts/imx7s.dtsi
arch/arm/mach-imx/cpuidle-imx6sx.c
drivers/crypto/caam/caamalg.c
drivers/crypto/mxs-dcp.c
drivers/dma/imx-sdma.c
drivers/input/keyboard/imx_keypad.c
drivers/net/can/flexcan.c
drivers/net/can/rx-offload.c
drivers/net/wireless/ath/ath10k/pci.c
drivers/pci/dwc/pci-imx6.c
drivers/spi/spi-fsl-lpspi.c
drivers/usb/dwc3/gadget.c
|
|
|
|
[ Upstream commit 2aacace6dbbb6b6ce4e177e6c7ea901f389c0472 ]
In attach_node_and_children memory is allocated for full_name via
kasprintf. If the condition of the 1st if is not met the function
returns early without freeing the memory. Add a kfree() to fix that.
This has been detected with kmemleak:
Link: https://bugzilla.kernel.org/show_bug.cgi?id=205327
It looks like the leak was introduced by this commit:
Fixes: 5babefb7f7ab ("of: unittest: allow base devicetree to have symbol metadata")
Signed-off-by: Erhard Furtner <erhard_f@mailbox.org>
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Tyrel Datwyler <tyreld@linux.ibm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit a7ede3d16808b8f3915c8572d783530a82b2f027 ]
With commit 6ce220dd2f8ea71d6afc29b9a7524c12e39f374a ("raid5: don't set
STRIPE_HANDLE to stripe which is in batch list"), we don't want to set
STRIPE_HANDLE flag for sh which is already in batch list.
However, the stripe which is the head of batch list should set this flag,
otherwise panic could happen inside init_stripe at BUG_ON(sh->batch_head),
it is reproducible with raid5 on top of nvdimm devices per Xiao oberserved.
Thanks for Xiao's effort to verify the change.
Fixes: 6ce220dd2f8ea ("raid5: don't set STRIPE_HANDLE to stripe which is in batch list")
Reported-by: Xiao Ni <xni@redhat.com>
Tested-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit 2727315df3f5ffbebcb174eed3153944a858b66f ]
The Terra Pad 1061 has the usual micro-USB-B id-pin handler, but instead
of controlling the actual micro-USB-B it turns the 5V boost for the
tablet's USB-A connector and its keyboard-cover connector off.
The actual micro-USB-B connector on the tablet is wired for charging only,
and its id pin is *not* connected to the GPIO which is used for the
(broken) id-pin event handler in the DSDT.
While at it not only add a comment why the Terra Pad 1061 is on the
blacklist, but also fix the missing comment for the Minix Neo Z83-4 entry.
Fixes: 61f7f7c8f978 ("gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit 5d603311615f612320bb77bd2a82553ef1ced5b7 ]
Fix the race between load and unload a kernel module.
sys_delete_module()
try_stop_module()
mod->state = _GOING
add_unformed_module()
old = find_module_all()
(old->state == _GOING =>
wait_event_interruptible())
During pre-condition
finished_loading() rets 0
schedule()
(never gets waken up later)
free_module()
mod->state = _UNFORMED
list_del_rcu(&mod->list)
(dels mod from "modules" list)
return
The race above leads to modprobe hanging forever on loading
a module.
Error paths on loading module call wake_up_all(&module_wq) after
freeing module, so let's do the same on straight module unload.
Fixes: 6e6de3dee51a ("kernel/module.c: Only return -EEXIST for modules that have finished loading")
Reviewed-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit fe5e7ba11fcf1d75af8173836309e8562aefedef ]
Commit 9287c6452d2b fixed a situation in which gfs2 could use a glock
after it had been freed. To do that, it temporarily added a new glock
reference by calling gfs2_glock_hold in function gfs2_add_revoke.
However, if the bd element was removed by gfs2_trans_remove_revoke, it
failed to drop the additional reference.
This patch adds logic to gfs2_trans_remove_revoke to properly drop the
additional glock reference.
Fixes: 9287c6452d2b ("gfs2: Fix occasional glock use-after-free")
Cc: stable@vger.kernel.org # v5.2+
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
[ Upstream commit c431f8597863a91eea6024926e0c1b179cfa4852 ]
SFF 8472 eeprom length is 512 bytes. Fix module info return value to
support 512 bytes read.
Fixes: ace329f4ab3b ("net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query")
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Reviewed-by: Aya Levin <ayal@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|