summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-09ARM64: dts: verdin-imx8mm: bump copyright yeartoradex_4.14-2.0.x-imx-rebasedPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: add sn65dsi84 dsi-to-lvds bridge to devicetreePhilippe Schenker
Related-to: ELB-2289 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: verdin-imx8mm: add atmel_mxt_ts touchscreen controllerPhilippe Schenker
Related-to: ELB-2289 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: imx8mm-verdin: add backlightPhilippe Schenker
Related-to: ELB-2289 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09sn65dsi83: Add ti,sn65dsi83 dsi to lvds bridge driverValentin Raevsky
Related-to: ELB-2289 Signed-off-by: Valentin Raevsky <valentin@compulab.co.il> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: apalis-imx8qm: add wifi power down pin to pcie supplyPhilippe Schenker
Related-to: ELB-2359 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: apalis-imx8qm: add sleep-mode to fecPhilippe Schenker
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>
2020-02-09ARM64: dts: apalis-imx8qm: add phy interrupt and led-modePhilippe Schenker
Related-to: ELB-1254 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: dts: apalis-imx8qm: add power-domain to power down ETH PHYPhilippe Schenker
Related-to: ELB-1254 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM64: defconfig: add SIMPLE_PM_BUS used for powering down ETH PHYPhilippe Schenker
Related-to: ELB-1254 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09drm: panel-simple: fix typo in pixelclock frequency for lt170410_2whcPhilippe Schenker
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>
2020-02-09arm64: dts: fsl-imx8mm-verdin: eth phy: prevent backfeeding during sleepMax Krummenacher
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>
2020-02-09arm64: dts: fsl-imx8mm-verdin: eth phy: improve startupMax Krummenacher
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>
2020-02-09fsl_dsp.c: test for dsp existence before installing driverMax Krummenacher
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>
2020-02-09apalis/colibri_imx6/-imx6ull/_imx7_defconfig: fix ip firewall (bpf/cgroup)Marcel Ziswiler
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)
2020-02-09random: try to actively add entropy rather than passively wait for itLinus Torvalds
For 5.3 we had to revert a nice ext4 IO pattern improvement, because it caused a bootup regression due to lack of entropy at bootup together with arguably broken user space that was asking for secure random numbers when it really didn't need to. See commit 72dbcf721566 (Revert "ext4: make __ext4_get_inode_loc plug"). This aims to solve the issue by actively generating entropy noise using the CPU cycle counter when waiting for the random number generator to initialize. This only works when you have a high-frequency time stamp counter available, but that's the case on all modern x86 CPU's, and on most other modern CPU's too. What we do is to generate jitter entropy from the CPU cycle counter under a somewhat complex load: calling the scheduler while also guaranteeing a certain amount of timing noise by also triggering a timer. I'm sure we can tweak this, and that people will want to look at other alternatives, but there's been a number of papers written on jitter entropy, and this should really be fairly conservative by crediting one bit of entropy for every timer-induced jump in the cycle counter. Not because the timer itself would be all that unpredictable, but because the interaction between the timer and the loop is going to be. Even if (and perhaps particularly if) the timer actually happens on another CPU, the cacheline interaction between the loop that reads the cycle counter and the timer itself firing is going to add perturbations to the cycle counter values that get mixed into the entropy pool. As Thomas pointed out, with a modern out-of-order CPU, even quite simple loops show a fair amount of hard-to-predict timing variability even in the absense of external interrupts. But this tries to take that further by actually having a fairly complex interaction. This is not going to solve the entropy issue for architectures that have no CPU cycle counter, but it's not clear how (and if) that is solvable, and the hardware in question is largely starting to be irrelevant. And by doing this we can at least avoid some of the even more contentious approaches (like making the entropy waiting time out in order to avoid the possibly unbounded waiting). Cc: Ahmed Darwish <darwish.07@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Theodore Ts'o <tytso@mit.edu> Cc: Nicholas Mc Guire <hofrat@opentech.at> Cc: Andy Lutomirski <luto@kernel.org> Cc: Kees Cook <keescook@chromium.org> Cc: Willy Tarreau <w@1wt.eu> Cc: Alexander E. Patrakov <patrakov@gmail.com> Cc: Lennart Poettering <mzxreary@0pointer.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 50ee7529ec4500c88f8664560770a7a1b65db72b)
2020-02-09timer: Convert schedule_timeout() to use from_timer()Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new from_timer() helper and passing the timer pointer explicitly. Since this special timer is on the stack, it needs to have a wrapper structure to carry state once .data is eliminated. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mips@linux-mips.org Cc: Petr Mladek <pmladek@suse.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Lai Jiangshan <jiangshanlai@gmail.com> Cc: Sebastian Reichel <sre@kernel.org> Cc: Kalle Valo <kvalo@qca.qualcomm.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Pavel Machek <pavel@ucw.cz> Cc: linux1394-devel@lists.sourceforge.net Cc: Chris Metcalf <cmetcalf@mellanox.com> Cc: linux-s390@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com> Cc: Wim Van Sebroeck <wim@iguana.be> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Ursula Braun <ubraun@linux.vnet.ibm.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Harish Patil <harish.patil@cavium.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Manish Chopra <manish.chopra@cavium.com> Cc: Len Brown <len.brown@intel.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-pm@vger.kernel.org Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Tejun Heo <tj@kernel.org> Cc: Julian Wiedmann <jwi@linux.vnet.ibm.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Mark Gross <mark.gross@intel.com> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: linux-watchdog@vger.kernel.org Cc: linux-scsi@vger.kernel.org Cc: "Martin K. Petersen" <martin.petersen@oracle.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Stephen Boyd <sboyd@codeaurora.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Stefan Richter <stefanr@s5r6.in-berlin.de> Cc: Michael Reed <mdr@sgi.com> Cc: netdev@vger.kernel.org Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: linuxppc-dev@lists.ozlabs.org Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Link: https://lkml.kernel.org/r/1507159627-127660-2-git-send-email-keescook@chromium.org (cherry picked from commit 58e1177b4cd10b0d358faf7d7ebb3779f98bc3ea)
2020-02-09arm64: dts: fsl-imx8mm-verdin: fix mipi-csi2 cameraMax Krummenacher
Use a OV5640 camera driver which works with the i.MX8 MM camera stack. gst-launch-1.0 v4l2src device='/dev/video0' ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! waylandsink Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: dts: fsl-imx8mm-verdin: fix uart2 pinmuxingMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09dt-bindings: pinctrl: imx8mm: fix 2a762bfc93feMax Krummenacher
Correct copy/past errors with UART2 pinfunctions. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09colibri imx6: defconfig: add rtl8188eu driverOleksandr Suvorov
This driver supports Toradex USB WiFi module LP816. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09colibri imx7: defconfig: add rtl8188eu driverOleksandr Suvorov
This driver supports Toradex USB WiFi module LP816. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09colibri imx6ull: defconfig: add rtl8188eu driverOleksandr Suvorov
This driver supports Toradex USB WiFi module LP816. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09apalis imx6: defconfig: add rtl8188eu driverOleksandr Suvorov
This driver supports Toradex USB WiFi module LP816. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09dma: pxp: enable pxp clocks before soft resetPhilippe Schenker
pxp_soft_reset is writing to registers that are not clocked and then resulting in a lockup. Interestingly I could only see this behaviour when starting a kernel using kexec. This could have something to do with how u-boot enables clocks on a regular boot. In this commit this gets fixed with enabling the clocks before doing a pxp_soft_reset. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09watchdog: imx8_wdt: improve help and loggingOleksandr Suvorov
Improve module help messages and logging operations in debug mode. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09watchdog: imx8_wdt: fix load/unload driverOleksandr Suvorov
- Fix a probing to handle errors in scu notifier registration. - Unregister scu notifier properly on unload, so it is possible to load driver again. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09watchdog: imx8_wdt: Pretimeout should follow SCU firmware formatOleksandr Suvorov
backport of 2c50a6b825b ("watchdog: imx_sc_wdt: Pretimeout should follow SCU firmware format") SCU firmware calculates pretimeout based on current time stamp instead of watchdog timeout stamp, need to convert the pretimeout to SCU firmware's timeout value. Fixes: 15f7d7fc5542 ("watchdog: imx_sc: Add pretimeout support") Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09gitlab-ci: Move git settings to the right spot and use shallow checkoutPhilippe Schenker
2020-02-09gitlab-ci: build kernel and all devicetreesPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09rpmsg: virtio rpmsg: compilation error and warningsIgor Opaniuk
1. Fix this compilation error: /workdir/oe/tmp-glibc/work-shared/verdin-imx8mm/kernel-source/drivers/ rpmsg/virtio_rpmsg_bus.c:1106:23: error: redeclaration of 'newch' with no linkage struct rpmsg_device *newch; ^~~~~ /workdir/oe/tmp-glibc/work-shared/verdin-imx8mm/kernel-source/drivers/ rpmsg/virtio_rpmsg_bus.c:1101:23: note: previous declaration of 'newch' was here struct rpmsg_device *newch; 2. Fix warnings that are reproduced when RPMsg char device support is disabled. Fixes: 1172ee2e ("rpmsg: virtio rpmsg: Add RPMsg char driver support") Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-02-09spi: fsl-lpspi: register spi controller earlier in probePhilippe Schenker
Ordering of stuff in lpspi probe was a little off. - num_chipselect gets set with devm_spi_register_controller. - devm_spi_register_controller needs data that gets set into controller variable Order stuff appropriate so num_chipselect gets set before it is used. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09ARM: dts: colibri-imx6ull: make use of new compatiblePhilippe Schenker
There is now a mainline variant for a regulator-fixed to be enabled by a clock. Make use of this newly cherry-picked mainline feature. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09regulator: fixed: add possibility to enable by clockPhilippe Schenker
This commit adds the possibility to choose the compatible "regulator-fixed-clock" in devicetree. This is a special regulator-fixed that has to have a clock, from which the regulator gets switched on and off. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Link: https://lore.kernel.org/r/20190910062103.39641-2-philippe.schenker@toradex.com Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit 8959e5324485ace9bedc33ce1e760b759d4dd2ac) Conflicts: drivers/regulator/fixed.c Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-09arm64: defconfig: add RTL8188EUS driverOleksandr Suvorov
Toradex USB WiFi module LM816 uses RTL8188EUS wi-fi chip. There is staging working driver in kernel for this chip. Enabling it makes one able to use LM816 wifi usb dongle "from the box" w/o installing additional software. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09rpmsg: virtio rpmsg: Add RPMsg char driver supportIgor Opaniuk
virtio rpmsg was not implemented to use RPMsg char driver. Each virtio ns announcement will create a new RPMsg device which is supposed to bound to a RPMsg driver. It doesn't support dynamic endpoints with name service per RPMsg device. With RPMsg char driver, you can have multiple endpoints per RPMsg device. Here is the change from this patch: * Introduce a macro to indicate if want to use RPMsg char driver for virtio RPMsg. The RPMsg device can either be bounded to a simple RPMsg driver or the RPMsg char driver. * Create Virtio RPMsg char device when the virtio RPMsg driver is probed. * when there is a remote service announced, keep it in the virtio proc remote services list. * when there is an endpoint created, bind it to a remote service from the remote services list. If the service doesn't exist yet, create one and mark the service address as ANY. That patch ported to our 4.14 kernel + additional fixes added [1]. Example of usage from userspace app: ``` char data_buf [] = {'a', 'b', 'c', 'd', '\0'}; struct rpmsg_endpoint_info ept_info = {"rpmsg-openamp-demo-channel", 0x2, 0x1}; int fd = open("/dev/rpmsg_ctrl0", O_RDWR); /* create endpoint interface */ ioctl(fd, RPMSG_CREATE_EPT_IOCTL, &ept_info); /* create endpoint */ int fd_ept = open("/dev/rpmsg0", O_RDWR); /* receive data from remote device */ read(fd_ept, &data_buf, sizeof(data_buf)); /* send data to remote device */ write(fd_ept, &data_buf, sizeof(data_buf)); /* destroy endpoint */ ioctl(fd_ept, RPMSG_DESTROY_EPT_IOCTL); close(fd_ept); close(fd); ``` [1] https://patchwork.kernel.org/patch/10145779/ Signed-off-by: Wendy Liang <jliang@xilinx.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-02-09ARM64: fsl-imx8qm-ixora: Add support of Ixora v1.1Oleksandr Suvorov
Ixora board has several differences from the Apalis Evaluation one. Some important differences are reflected in personalized device-tree files. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-09ASoC: wm8904: assume mclk as the clk_id for simple-audio-cardMax Krummenacher
The simple-audio-card driver sets clk_id to a constant 0. Assume that we want to derive the sysclk from the MCLK in that case rather than error out with -EINVAL. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: dts: freescale: add initial support for verdin imx8mmMax Krummenacher
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, a Rohm BD71847 PMIC, a Gigabit Ethernet PHY, 2 GB of LPDDR4 RAM, an eMMC, an ADC, a Secure Element, an EEPROM, an RTC, USB host and OTG ports, PCIe and MIPI-CSI2/DSI interfaces plus optional Bluetooth/Wi-Fi module and CAN controllers. Anything that is not self-contained on the module is disabled by default. The device tree for the Verdin Development Board includes the module's device tree and enables the supported peripherals of the carrier board (the Verdin Development Board supports almost all of them). Not yet tested: - all UARTs other than console/debug Verdin UART_3 - push button controller on carrier board - JTAG - I2S to Wi-Fi - I2S to DSI Mezzanine Not yet working: - carrier board audio - MIPI-CSI2 - carrier board power gating - FTDI control signals and JTAG Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-09dt-bindings: pinctrl: imx8mm: add alternative uart muxingsMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09MLK-22265 dt-bindings: pinctrl: imx8mm: Update head fileAnson Huang
Update i.MX8MM pinctrl head file according to reference manual Rev.1, 03/2019. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Jacky Bai <ping.bai@nxp.com> (cherry picked from commit e6c2f6322962bebdc2f7ede05b0b7e73bf90faef)
2020-02-09arm64: defconfig: add max1363 supportMax Krummenacher
On Verdin iMX8MM ADC is provided by a MAX11607. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: defconfig: add mcp25xxfd supportMax Krummenacher
On Verdin iMX8MM Development board the CAN-FD controller Microchip MCP2518FD is used. Enable the driver which got backported from linux-can-next.git, branch mcp25xxfd-rpi. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: defconfig: make imx_sdma a moduleMax Krummenacher
Remove firmware kobject uevent fallback mechanism and make imx_sdma a module so it gets loaded when rootfs is mounted. This prevents the error, that firmware can't be loaded from rootfs Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: defconfig: add marvell wi-fi supportMax Krummenacher
On Verdin iMX8MM the Wi-Fi module is connected through SDIO. Add this driver variant. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09arm64: defconfig: add wm8904 codec driverMax Krummenacher
On Verdin iMX8MM Development board this codec is used. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09regulator: bd71837: add enable_time for all ldoMax Krummenacher
The LDO have a Soft-Start feature. Add enable_time to all LDOs to account for that. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09drm: bridge: lt8912: set bus_formatMax Krummenacher
Some CRTC drivers use and evaluate this information and if missing print a warning. | [ 248.956112] imx_sec_dsim_drv 32e10000.mipi_dsi: no bus formats assigned by connector Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09phy: tja110x: silence a message on alert levelMax Krummenacher
This is at most an informational message. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-09ASoC: make wm8904 driver visible in menuconfigMax Krummenacher
This allows using this codec with the simple-sound-card driver. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>