summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2020-02-12gpio: mxc: Fix clean up on probingOleksandr Suvorov
- Fix order of after-error clean procedures upon probing new device. - Refactor handling of wakeup PAD setup. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12tty: serial: lpuart: Make sure RTSCTS is disabled when RS485 is usedPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12tty: serial: lpuart: Disable transmitter on setting modem registerPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12tty: serial: lpuart: Add RS485 support for 32-bit uart flavourPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12tty: serial: lpuart: Make sure watermark stuff doesn't touch rs485Philippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12drm: lt8912: Change the way the hpd gpio os being accessedPhilippe Schenker
This commit changes gpiod_get_value to gpiod_get_value_cansleep so it doesn't crash when trying to access a GPIO from a gpio expander over i2c. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12gpio: pca953x: Use PCA_LATCH_INTAndy Shevchenko
The commit 0cdf21b34e30 ("gpio: pca953x: set the PCA_PCAL flag also when matching by DT") introduces a helper macro which tells that chip supports latched interrupts, but the macro was never used for ACPI or legacy enumeration. So, make use of it for legacy and ACPI enumeration. Cc: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 2870b3c54ca75cdacf92e20f5b518de770f0dbc9) Conflicts: drivers/gpio/gpio-pca953x.c There was an earlier commit introducing the PCA_LATCH_INT define but I skipped that and directly pulled this commit and solved in the conflicts. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12gpio: pca953x: add pcal6416 to the of_device_id tableAlexandre Belloni
When adding support for the pcal6416, the of_device_id table was left out, add the proper entry. Fixes: aac1e3c9680b ("gpio: pca953x: add support for pcal6416 type") Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 01769c4700d8ca156b4a331b16be9eda575dfde9) Conflicts: drivers/gpio/gpio-pca953x.c Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12gpio: pca953x: add support for pca6416Alexandre Belloni
The NXP PCA6416, documented at [1], is a variant of the PCA GPIO expander with 16 GPIOs, and supporting an interrupt. [1] https://www.nxp.com/docs/en/data-sheet/PCA6416A.pdf Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 12c7a4fc47e4720e96205030b1f0dd6bd2746a3f)
2020-02-12gpio: pca953x: add support for pcal6416 typeThomas Petazzoni
The NXP PCAL6416, documented at [1], is a variant of the PCA GPIO expander with 16 GPIOs, and supporting an interrupt and the "extended" features for interrupt, pull-up/pull-down configuration, etc. [1] https://www.nxp.com/docs/en/data-sheet/PCAL6416A.pdf Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> (cherry picked from commit aac1e3c9680b47e1bdadeea22bda3da3de6399b0) Conflicts: drivers/gpio/gpio-pca953x.c Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12drm/panel: simple: add display timings for logic technologies displaysMarcel Ziswiler
Add display timings for the following 3 display panels manufactured by Logic Technologies Limited: - LT161010-2NHC e.g. as found in the Toradex Capacitive Touch Display 7" Parallel [1] - LT161010-2NHR e.g. as found in the Toradex Resistive Touch Display 7" Parallel [2] - LT170410-2WHC e.g. as found in the Toradex Capacitive Touch Display 10.1" LVDS [3] Those panels may also be distributed by Endrich Bauelemente Vertriebs GmbH [4]. [1] https://docs.toradex.com/104497-7-inch-parallel-capacitive-touch-display-800x480-datasheet.pdf [2] https://docs.toradex.com/104498-7-inch-parallel-resistive-touch-display-800x480.pdf [3] https://docs.toradex.com/105952-10-1-inch-lvds-capacitive-touch-display-1280x800-datasheet.pdf [4] https://www.endrich.com/isi50_isi30_tft-displays/lt170410-1whc_isi30 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (Upstreaming in progress https://lore.kernel.org/patchwork/patch/1129985/)
2020-02-12drm: Add support for extracting sync signal drive edge from videomodePeter Ujfalusi
The sync in some panels needs to be driven by different edge of the pixel clock compared to data. This is reflected by the DISPLAY_FLAGS_SYNC_(POS|NEG)EDGE in videmode flags. Add similar similar definitions for bus_flags and convert the sync drive edge via drm_bus_flags_from_videomode(). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180618132242.8673-2-tomi.valkeinen@ti.com (cherry picked from commit 955f60db0f2b87094f64df3d7f608fdac4a6ebb1)
2020-02-12power: reset: gpio-poweroff: add force-modeOleksandr Suvorov
Property "force-mode" tells the driver to replace previously initialized power-off kernel hook and allows gpio-poweroff to probe and operate successfully in any case. Related-to: #42589 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12usb: chipidea: use seperate role sm when using extconMax Krummenacher
Enable the code from commit 'aa5fc842bb05 usb: chipidea: use of extcon framework to work for non OTG case' if ID and/or VBUS signals are taken from extcon. Otherwise (observed on a Colibri iMX6ULL) when booting in the ROLE_HOST and then changing to ROLE_GADGET the gadget does not appear on the bus and switching back to ROLE_HOST does also no longer detect any connected USB devices. Related-to: #50573 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit b80233b2f3ec91920bba3712dcc929dc913caf15)
2020-02-12Revert "MLK-10783-5 usb: phy: mxs: add "fsl,imx6ul-usbphy" compatible string"Max Krummenacher
This reverts commit c3b206c34b2eccdde14fee1012d85ef3e9448c3e. With the forward port to 4.9 this is now obsolete. The following commit already added this: '5c256b68348e usb: phy: mxs: add "fsl,imx6ul-usbphy" compatible string' Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 4adfcec131baf1deb92b5f23c0871cff32307cc1)
2020-02-12PCI: imx: fix crash on system suspendOleksandr Suvorov
The driver tries to modify registers after disable important clocks. This causes the crash a driver: [ 67.083289] Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff00000d9c0008 [ 67.092620] Internal error: : 96000210 [#1] PREEMPT SMP [ 67.097935] Modules linked in: 8021q garp stp mrp crc32_ce crct10dif_ce mwifiex_pcie mwifiex galcore(O) [ 67.107447] Process sh (pid: 4032, stack limit = 0xffff00001a668000) [ 67.113897] CPU: 3 PID: 4032 Comm: sh Tainted: G O 4.14.117-3.0.2+ge43e3a26e1b7 #1 [ 67.122691] Hardware name: Toradex Colibri iMX8QXP/DX on Colibri Evaluation Board V3 (DT) [ 67.130963] task: ffff8000761b4380 task.stack: ffff00001a668000 [ 67.136983] PC is at regmap_mmio_read32le+0x8/0x20 [ 67.141866] LR is at regmap_mmio_read+0x2c/0x68 [ 67.146484] pc : [<ffff0000086db108>] lr : [<ffff0000086db1e4>] pstate: 000001c5 [ 67.153971] sp : ffff00001a66b990 [ 67.157372] x29: ffff00001a66b990 x28: 0000000000000000 [ 67.162778] x27: 0000000000000002 x26: ffff0000096de000 [ 67.168183] x25: 0000000000000000 x24: 0000000000000000 [ 67.173589] x23: 0000000000000200 x22: ffff00001a66ba4c [ 67.178994] x21: ffff80007ab83400 x20: ffff00001a66ba4c [ 67.184400] x19: ffff80007aab0680 x18: 0000000000000001 [ 67.189805] x17: 0000ffff8d856160 x16: 0000000000000000 [ 67.195210] x15: 0000000000000010 x14: ffff80007ff6bd80 [ 67.200615] x13: 0000000000000004 x12: 0000000000000000 [ 67.206023] x11: 0000000000000001 x10: 0000000000000980 [ 67.211428] x9 : ffff00001a66b920 x8 : ffff8000761b4d60 [ 67.216833] x7 : 0000000000000004 x6 : 0000000000000000 [ 67.222238] x5 : 0000000000000000 x4 : 0000000000000000 [ 67.227644] x3 : ffff0000086db1b8 x2 : ffff0000086db100 [ 67.233047] x1 : 00000000000c0008 x0 : ffff00000d9c0008 [ 67.238454] Call trace: [ 67.240987] Exception stack(0xffff00001a66b850 to 0xffff00001a66b990) [ 67.247521] b840: ffff00000d9c0008 00000000000c0008 [ 67.255448] b860: ffff0000086db100 ffff0000086db1b8 0000000000000000 0000000000000000 [ 67.263373] b880: 0000000000000000 0000000000000004 ffff8000761b4d60 ffff00001a66b920 [ 67.271300] b8a0: 0000000000000980 0000000000000001 0000000000000000 0000000000000004 [ 67.279226] b8c0: ffff80007ff6bd80 0000000000000010 0000000000000000 0000ffff8d856160 [ 67.287152] b8e0: 0000000000000001 ffff80007aab0680 ffff00001a66ba4c ffff80007ab83400 [ 67.295079] b900: ffff00001a66ba4c 0000000000000200 0000000000000000 0000000000000000 [ 67.303005] b920: ffff0000096de000 0000000000000002 0000000000000000 ffff00001a66b990 [ 67.310932] b940: ffff0000086db1e4 ffff00001a66b990 ffff0000086db108 00000000000001c5 [ 67.318858] b960: ffff80007ab838f0 0000000000000000 0000ffffffffffff 0000000000000002 [ 67.326785] b980: ffff00001a66b990 ffff0000086db108 [ 67.331756] [<ffff0000086db108>] regmap_mmio_read32le+0x8/0x20 [ 67.337681] [<ffff0000086d4134>] _regmap_bus_reg_read+0x14/0x20 [ 67.343693] [<ffff0000086d5a40>] _regmap_read+0x60/0xe0 [ 67.349011] [<ffff0000086d5e34>] _regmap_update_bits+0x9c/0xe8 [ 67.354937] [<ffff0000086d6e58>] regmap_update_bits_base+0x60/0x90 [ 67.361214] [<ffff0000084de284>] pci_imx_suspend_noirq+0x1dc/0x270 [ 67.367490] [<ffff0000086c0f30>] pm_generic_suspend_noirq+0x28/0x40 [ 67.373853] [<ffff0000086ce250>] genpd_finish_suspend+0xd0/0xf8 [ 67.379865] [<ffff0000086ce2a0>] pm_genpd_suspend_noirq+0x10/0x18 [ 67.386052] [<ffff0000086c5670>] dpm_run_callback.isra.7+0x40/0xa0 [ 67.392326] [<ffff0000086c5ca8>] __device_suspend_noirq+0xb0/0x148 [ 67.398598] [<ffff0000086c6f78>] dpm_noirq_suspend_devices+0x100/0x200 [ 67.405220] [<ffff0000086c709c>] dpm_suspend_noirq+0x24/0x60 [ 67.410975] [<ffff0000081122ec>] suspend_devices_and_enter+0x144/0x560 [ 67.417595] [<ffff000008112a14>] pm_suspend+0x30c/0x354 [ 67.422913] [<ffff0000081114d8>] state_store+0x88/0xf8 [ 67.428146] [<ffff000008d5c92c>] kobj_attr_store+0x14/0x28 [ 67.433727] [<ffff000008287b90>] sysfs_kf_write+0x40/0x58 [ 67.439219] [<ffff000008286e54>] kernfs_fop_write+0xcc/0x1e0 [ 67.444975] [<ffff00000820b1e8>] __vfs_write+0x18/0x118 [ 67.450292] [<ffff00000820b4d4>] vfs_write+0xa4/0x1a8 [ 67.455438] [<ffff00000820b77c>] SyS_write+0x44/0xa0 [ 67.460492] Exception stack(0xffff00001a66bec0 to 0xffff00001a66c000) [ 67.467028] bec0: 0000000000000001 0000aaaacb49e7d0 0000000000000004 0000ffffb585cf68 [ 67.474953] bee0: 0000000000000000 5551000454000000 0000000000000003 000000000000006d [ 67.482883] bf00: 0000000000000040 0000000000000001 0000ffffc12f3c30 0000000000000000 [ 67.490808] bf20: 0000000000000000 0000000000000018 0000000000000001 0000000000000008 [ 67.498736] bf40: 0000aaaab6c698e8 0000ffffb575c540 0000000000000fff 0000000000000001 [ 67.506663] bf60: 0000aaaacb49e7d0 0000ffffb5859588 0000000000000004 0000aaaacb49e7d0 [ 67.514591] bf80: 0000000000000004 0000ffffb5859670 0000aaaab6c32000 0000000000000000 [ 67.522519] bfa0: 0000aaaab6c6a000 0000ffffc12f3c70 0000ffffb575f930 0000ffffc12f3c70 [ 67.530444] bfc0: 0000ffffb57b13dc 0000000020000000 0000000000000001 0000000000000040 [ 67.538371] bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 67.546300] [<ffff000008083b18>] __sys_trace_return+0x0/0x4 [ 67.551968] Code: b5000001 d65f03c0 f9400000 8b214000 (b9400000) [ 67.558157] ---[ end trace 72215c33ce658969 ]--- Using runtime PM across suspend/resume fixes this crash. Still need to convert all clock work into runtime PM carefully. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/mxsfb: add support of non-atomic clk_enable/disableOleksandr Suvorov
i.MX8QM/i.MX8QXP clock enabling/disabling callbacks are non-atomic, so we can't use them in interrupt/atomic context. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12lt8912: add gpio based hotplug detectionMax Krummenacher
While at it remove commented out fragments. While at it remove double execution of MIPI RX soft reset. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12lt8912: add edid functionality through regular i2cMax Krummenacher
If the ddc-i2c-bus property exists, that bus is used to read EDID from an attached monitor and set the list of available modes. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12imx-hdp.c: enable scdc at 4k againMax Krummenacher
Commit "680eee23d001 imx-hdp.c: fix default resolution" changed the default resolution to 1080p. The same mode timings were used to detect a 4k mode and then reconfigure for HDMI2.0 SCDC. Rework the code to correctly detect a 4k mode. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12drm/panel: pass video modes bus_flagsStefan Agner
Make sure that the bus_flags parsed from the display timings are passed to the connector display info. Signed-off-by: Stefan Agner <stefan@agner.ch> (cherry picked from commit 77d2c3b42a84a32b5ae7bbad173a72dc9398d939)
2020-02-12drm/mxsfb: use correct connector enumOleksandr Suvorov
The mxsfb-drm exposes a display parallel interface. Use the DPI instead Unknown connector. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12video: fbdev: mxsfb: Fix flags not being appliedPhilippe Schenker
If one used display timings in devicetree the display_flags like pixelclk-active have not been applied. This commit fixes that and puts some nice debug messages so one can see from where those timings are applied. This fixes commit f397f60efbb24c2906cd95f443607b2642b49b24 "video: fbdev: mxsfb: allow setting display timings via kernel command line" Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 17652e758b1236c49d2e1d336d81a832452b7c53)
2020-02-12drm/bridge: vga-dac: Fix non-DDC VGA detectionOleksandr Suvorov
If I2C bus for DDC is not defined, assume the connector is always connected. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/panel: make LVDS panel driver DPI capableStefan Agner
The LVDS panel driver has almost everything which is required to describe a simple parallel RGB panel (also known as DPI, Display Pixel Interface). Signed-off-by: Stefan Agner <stefan@agner.ch>
2020-02-12drm/mxsfb: don't manipulate with clock inside ISROleksandr Suvorov
iMX8 manages clocks with system controller (sc) using RPC. Using RPC procedures from interrupt context leads kernel crash. Remove enabling/disabling clock in interrupt handler. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/mxsfb: grab the pm->sync() reference on probingOleksandr Suvorov
The mxsfb driver doesn't have a real consumer. This leads the power domains of eLCDIF to off right after device probing. It is required to get the reference counter to prevent this behavior. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/mxsfb: support bus-width property of dtOleksandr Suvorov
There could be different implementations of output bus widths (8, 16, 18, 24 bits). Selecting the correct bus format allows eLCDIF to translate framebuffer properly. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/mxsfb: support bridge connectionOleksandr Suvorov
Add support a bridge as a connection of eLCDIF device. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12drm/atomic: make drm_atomic_helper_wait_for_vblanks more agressiveLucas Stach
drm_atomic_helper_setup_commit expects that flipping of previous commits has happened when it is called to set up a new commit. This can be violated by commits where userspace doesn't get a flip completion event to synchronize against i.e. legacy modesets and property changes. The expectation is that those are done by blocking commits, which wait for completion. Most drivers call drm_atomic_helper_wait_for_vblanks in the commit_tail to ensure completion, but the wait for next vblank might not actually happen if the commit didn't change any planes. Make the wait more agressive by also waiting if no planes changed. This is the minimal regression fix for the 4.15 kernel series. Long term drivers should switch away from drm_atomic_helper_wait_for_vblanks and use drm_atomic_helper_wait_for_flip_done instead. Fixes: de39bec1a0c4 ("drm/atomic: Remove waits in drm_atomic_helper_commit_cleanup_done, v2.") Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171129110431.6300-1-l.stach@pengutronix.de
2020-02-12drm/vblank: Allow dynamic per-crtc max_vblank_countVille Syrjälä
On i965gm we need to adjust max_vblank_count dynamically depending on whether the TV encoder is used or not. To that end add a per-crtc max_vblank_count that takes precedence over its device wide counterpart. The driver can now call drm_crtc_set_max_vblank_count() to configure the per-crtc value before calling drm_vblank_on(). Also looks like there was some discussion about exynos needing similar treatment. v2: Drop the extra max_vblank_count!=0 check for the WARN(last!=current), will take care of it in i915 code (Daniel) WARN_ON(!inmodeset) (Daniel) WARN_ON(dev->max_vblank_count) Pimp up the docs (Daniel) Cc: stable@vger.kernel.org Cc: Inki Dae <inki.dae@samsung.com> Cc: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181127182004.28885-1-ville.syrjala@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2020-02-12mxc: Kconfig: Fix dependancies for hdp-cecOleksandr Suvorov
It is possible to select IMX_HDP_CEC w/o CEC_CORE and MEDIA_CEC_SUPPORT that leads to following compillation errors: drivers/mxc/hdp-cec/imx-hdp-cec.c: In function ‘cec_poll_worker’: drivers/mxc/hdp-cec/imx-hdp-cec.c:187:4: error: implicit declaration of function ‘cec_transmit_done’; did you mean ‘pinctrl_init_done’? [-Werror=implicit-function-declaration] cec_transmit_done(cec->adap, CEC_TX_STATUS_OK, 0, 0, 0, ^~~~~~~~~~~~~~~~~ pinctrl_init_done drivers/mxc/hdp-cec/imx-hdp-cec.c:221:5: error: implicit declaration of function ‘cec_received_msg’; did you mean ‘free_reserved_page’? [-Werror=implicit-function-declaration] cec_received_msg(cec->adap, &cec->msg); ^~~~~~~~~~~~~~~~ free_reserved_page drivers/mxc/hdp-cec/imx-hdp-cec.c: In function ‘imx_cec_register’: drivers/mxc/hdp-cec/imx-hdp-cec.c:278:14: error: implicit declaration of function ‘cec_allocate_adapter’; did you mean ‘cec_delete_adapter’? [-Werror=implicit-function-declaration] cec->adap = cec_allocate_adapter(&imx_cec_adap_ops, cec, ^~~~~~~~~~~~~~~~~~~~ cec_delete_adapter drivers/mxc/hdp-cec/imx-hdp-cec.c:278:12: warning: assignment to ‘struct cec_adapter *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] cec->adap = cec_allocate_adapter(&imx_cec_adap_ops, cec, ^ This change fixes dependancies/selections for IMX_HDP_CEC. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12mxc: hantro: Kconfig: add COMPAT dependancyOleksandr Suvorov
Building hantro_845_h1 with undefined CONFIG_COMPAT leads to compillation error: drivers/mxc/hantro_845_h1/hx280enc.c: In function ‘hx280enc_ioctl32’: drivers/mxc/hantro_845_h1/hx280enc.c:460:23: error: implicit declaration of function ‘compat_ptr’; did you mean ‘compat_lr’? [-Werror=implicit-function-declaration] void __user *up = compat_ptr(arg); ^~~~~~~~~~ compat_lr This driver uses compat_ptr() so requires CONFIG_COMPAT to be selected. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12of: irq: export symbol of_irq_count()Oleksandr Suvorov
A kernel built with CONFIG_OF_IRQ usually fails to link because of unreachable function of_irq_count(). I.e.: ERROR: "of_irq_count" [drivers/dma/fsl-edma.ko] undefined! make[1]: *** [scripts/Makefile.modpost:92: __modpost] Error 1 This change fixes such kind linking errors. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12gpu: imx: lcdif: Fix undefined symbolOleksandr Suvorov
Fix typo that prevents lcdif-common to compile. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-11Video: backlight: Enable backlight in any casePhilippe Schenker
This patch enables the backlight in any case. Mainline assumes now that backlight is turned on from an appropriate driver to get flickerless backlight experience. Theres no such thing in downstream, so get rid of the code part that blocks backlight from turning on. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-11drm/bridge: nwl-dsi: support probe deferralMarcel Ziswiler
Properly support probe deferral e.g. in case I2C is behind an I2C switch as is the case for our new DSI to HDMI Adapter V1.1A. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11lt8912: properly reserve i2c sub addressesMarcel Ziswiler
Properly reserve I2C sub addresses as well. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11usb: chipidea: Fix enum name conflictOleksandr Suvorov
This fixes a compilation error: CC drivers/rtc/rtc-lib.o In file included from drivers/phy/ti/phy-omap-usb2.c:30:0: ./include/linux/phy/omap_control_phy.h:46:2: error: redeclaration of enumerator ‘USB_MODE_HOST’ USB_MODE_HOST, ^~~~~~~~~~~~~ In file included from ./include/linux/usb/otg.h:14:0, from ./include/linux/phy/omap_usb.h:23, from drivers/phy/ti/phy-omap-usb2.c:24: ./include/linux/usb/phy.h:69:2: note: previous definition of ‘USB_MODE_HOST’ was here USB_MODE_HOST, ^~~~~~~~~~~~~ In file included from drivers/phy/ti/phy-omap-usb2.c:30:0: ./include/linux/phy/omap_control_phy.h:47:2: error: redeclaration of enumerator ‘USB_MODE_DEVICE’ USB_MODE_DEVICE, ^~~~~~~~~~~~~~~ In file included from ./include/linux/usb/otg.h:14:0, from ./include/linux/phy/omap_usb.h:23, from drivers/phy/ti/phy-omap-usb2.c:24: ./include/linux/usb/phy.h:70:2: note: previous definition of ‘USB_MODE_DEVICE’ was here USB_MODE_DEVICE, ^~~~~~~~~~~~~~~ make[3]: *** [scripts/Makefile.build:328: drivers/phy/ti/phy-omap-usb2.o] Error 1 AR drivers/pps/clients/built-in.o make[2]: *** [scripts/Makefile.build:587: drivers/phy/ti] Error 2 make[1]: *** [scripts/Makefile.build:587: drivers/phy] Error 2 make[1]: *** Waiting for unfinished jobs.... CC drivers/rtc/hctosys.o Related to: #50570 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-11Input: touchscreen: colibri-vf50-ts: don't depend on VF610_ADCMax Krummenacher
Any IIO ADC can be used with the driver, so do not depend on VF610_ADC. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11drm/imx/hdp: implement optional regular ddc/edid i2c bus handlingMarcel Ziswiler
Implement optional regular DDC/EDID I2C bus handling which may be enabled via ddc-i2c-bus device tree property. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11lt8912: truncate regmap values to 0xffMax Krummenacher
The regmap represents bytes, so when writting low and high bytes, truncate the low byte to 0xff. No adverse effects been seen though, regmap_write() seems to truncate passed values. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11lt8912: add register set from lontium pseudo code driverMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11lt8912: rework driver to be a i2c deviceMax Krummenacher
(cherry picked from commit da9f0f3fe975924601f361d413bb71361cf11dd2) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11drm/bridge: lt8912: stop using the same name for struct and instanceMax Krummenacher
While it is legal it may be confusing to the reader. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit fbc3228c0d26e82038b7658a4bde3ddc2f61cab5)
2020-02-11drm/panel: simple: Add support for panel LG156WF1Philippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 645bf88b06cdf707fdb5f1ad2cf435203940a959)
2020-02-11imx-hdp.c: fix default resolutionMax Krummenacher
Make 1920x1080 really the default and only mark one resolution as the preferred one. (cherry picked from commit c61d21ae6156ff7c6ce981a586c52ca0abefa17c)
2020-02-11pci-imx6.c: allow clean initalisation sequence for colibri imx8qxp pcie/wifiMax Krummenacher
- Port the driver to use the gpiod framework This allows to choose the polarity of the power_on and disable gpio in the device tree. - Actually use the gpios in the initialisation sequence Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 91aedb97b4e65c4afc66f5a5b8d670061addd80d) (cherry picked from commit 15a9d28286bba122f15e342cd40c6da7294b9bb6) Fixed gpiod stuff after imx_4.14.98_2.3.0 resp. 4.14-2.3.x-imx merge. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-09drm/bridge: lt8912.c: adapt to changed drm apiMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 0c0420dcf29549bf045e0764a50c4c482cbb7232) (cherry picked from commit 91bfc951ee0cff636db5dae01ed61f03132416e6)
2020-02-09drm/bridge: Add support for Lontium LT8912Wyon Bi
The Lontium LT8912 MIPI-DSI to LVDS and HDMI/MHL bridge features a single-channel MIPI D-PHY receiver front-end configuration with 4 data lanes per channel operating at 1.5Gbps per data lane and a maximum input bandwidth of 6Gbps. Change-Id: I7733ea5f33094151bb62e62406561cc0025cf900 Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com> Import and forward port to 4.9 (API change of_get_drm_display_mode() ) from https://github.com/rockchip-linux/kernel/commit/230f7f061036a99fc02d2cd7d20f66f7f0efae99 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> drop drm_atomic_helper_connector_dpms, see 7d902c05b drm: Nuke drm_atomic_helper_connector_dpms (cherry picked from commit 265fac62bf9defe0de5c1ce088013b61c9b46fb7) (cherry picked from commit 7d2bdcf5aa35191aa0810884ea8eef944059269c)