Age | Commit message (Collapse) | Author |
|
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
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)
|
|
The mxsfb-drm exposes a display parallel interface.
Use the DPI instead Unknown connector.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
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)
|
|
This commit should not be in 4.14 and was accidentally introduced from
4.1 to 4.9 merge.
It originally was deleted with commit:
"f397f60e video: fbdev: mxsfb: allow setting display timings via
kernel command line"
This reverts commit 721dee144c883aebd6e997a53eed3ab3c24cef79.
|
|
If I2C bus for DDC is not defined, assume the connector
is always connected.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
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>
|
|
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>
|
|
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>
|
|
This reverts commit c9edbc27610ba7c1de1a6019ffdf860068825b47.
This hack becomes unnecessary after mxsfb driver probing fix.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
ISSUE: For some reason elcdif pll goes down during kernel boot.
Use this HACK to keep elcdif pll working until found the root
cause of issue.
NOTE: sc_pm_*() functions can't be call from interrupt contex
(they use IPC calls so can be sleep).
Workaround: don't call a pair clk_prepare_enable()/clk_disable_unprepare()
inside mxsfb_irq_handler();
This solution should be replaced with better one too.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
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>
|
|
Add support a bridge as a connection of eLCDIF device.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
Fix typo that prevents lcdif-common to compile.
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
|
|
With the 4.14 kernel code change this makes the camera not work at all.
However one needs to provide a correct reg=<xxx>; property to the
mipi_csi node in the device-tree.
This reverts commit 610cbf4c446f377854bb973d99ee141ca72781dc.
Related to: #32172
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
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>
|
|
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>
|
|
Properly reserve I2C sub addresses as well.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
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>
|
|
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>
|
|
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>
|
|
This adds the timings for the 10.1" Toradex Capacitive Touch Display
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
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>
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
(cherry picked from commit da9f0f3fe975924601f361d413bb71361cf11dd2)
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
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)
|
|
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
(cherry picked from commit 645bf88b06cdf707fdb5f1ad2cf435203940a959)
|
|
Make 1920x1080 really the default and only mark one resolution as the
preferred one.
(cherry picked from commit c61d21ae6156ff7c6ce981a586c52ca0abefa17c)
|
|
- 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)
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 0c0420dcf29549bf045e0764a50c4c482cbb7232)
(cherry picked from commit 91bfc951ee0cff636db5dae01ed61f03132416e6)
|
|
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)
|
|
Using regmap update bits the way it was used is wrong as only additional bits
gets set but no bits would be cleared.
The whole register or NRD and PDS are reserved for those two function.
There are no bits which needs to be preserved in the registers so just
writting the new value is all that is needed.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 02a78261315045011a5a987761d7a76e51b04480)
(cherry picked from commit b38bde54f80dbb67be727e04c8ee3e8d2969a3f9)
|
|
This allows to configure the NRD register from device tree or platform data.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 92ed1faf672e46e3e54b1f41f0b38f533b53b1aa)
(cherry picked from commit 6b5280f4e71770600d5b89638d849896158f2ec3)
|
|
While the usb3503 variant uses a HSIC connection to upstream,
the usb3803 uses a regular USB connection and provides a
bypass mode which connects the upstream port with downstream
port 3.
This adds an additional control gpio to the configuration which
allows moving away from the bypass mode to either standby or hub
mode once the driver is instantiated.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit e7812f55781bd9453a231d104a2c6c520491e2e4)
(cherry picked from commit 8662817b83bee3c30336f104608752fcb652f5c4)
|
|
inital_io_dir: a 1 at a bit positions sets the corresponding pin as output.
inital_output: a 1 sets a gpio which is set to output with inital_io_dir to 1.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit a7d303d7d63d444ed012200e98e6575814439101)
(cherry picked from commit 990f8c1dcb28cdc8eb6551b86621e1b29067136b)
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit f8df25d5785377f11fe8a757346ba8241847fb8d)
(cherry picked from commit 2d24d0eecddbc85c84f58e70b4d32778fbbcb9ec)
|
|
This commit needs to be split up and cleaned up. Also we should add
interrupt support before pushing upstream.
Signed-off-by: Eric Anholt <eric@anholt.net>
Imported from: https://patchwork.kernel.org/patch/9148419/
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit ca11f963f8c10dfd74392131cfde0fa653cdc80a)
(cherry picked from commit a09c79c004d49b44e010b246ee6036a89634a54f)
|
|
Add external reference clock via clock tree. This allows to model
the shared reference clock provided via PCIE_SATA_REFCLK100M_P/N
properly.
This is analogous to what we did for PCIe in commit db22e7590338
("PCI: imx6: add external clock support for i.MX8QM").
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit 4b2d05c05c9e775abf7218ad7a4b52c2d220dd14)
Conflicts:
drivers/ata/ahci_imx.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit da0aa53df04d82eb15cecab90d98e6696d882923)
(cherry picked from commit 52683295a0ad72808f997be5548ec592828c61a1)
|
|
Remove the lpcg_xxx clocks codes, since they are HW gated.
These clocks controlled by HW, and would be turned on
automatically, if there are access operations.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
(cherry picked from commit 9b8da32493057502a912b6d1426eadeb76780e69)
Conflicts:
arch/arm64/boot/dts/freescale/fsl-imx8qm.dtsi
drivers/pci/host/pci-imx6.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 7615a560c48aeb53911c7a6f025420c0f9a5a51f)
(cherry picked from commit 0507816aa4b9a4f5764d308b23332fc297e6fe0f)
(cherry picked from commit 24258f088b89df68e5fa2c54eb3334ff50fcb8f0)
|
|
This commit adds code that forces setting the requested format in the
actual sensor driver.
Note that currently it is commented out as imx8 isi does not seem to
work properly with any other source resolution than the default
1920x1080.
Without this code, the driver will work with other resolutions (the ones
which are reported as supported by the connected sensors and lower than
1920x1080), but the image will be scaled down from 1920x1080. Scaling up
is not supported.
(cherry picked from commit a1a1244b1de00274586d1ea16048f8469966ff30)
(cherry picked from commit 16a4bd33e589b1f08c64a1b593d11921e62d6e72)
(cherry picked from commit f744198310d0849bd2fcb34bae4821317256b843)
(cherry picked from commit 8f67764a2fc758751a7de27973c4dd05a327244e)
|
|
The issue is that once the scaling was enabled, then the stream was
disabled and enabled again with a resolution that does not need scaling,
the actual scaling was never disabled in the ISI block. This made ISI
stream the scaled down with a large black padding.
(cherry picked from commit 148241e839644f6af83a3e677e1350ce50ce27e9)
(cherry picked from commit 13bef5c8fde55bf12be73ed05391427d393bb71c)
(cherry picked from commit 3ab199d9b1b3d0c94d89c2c1c5b2c5749d4bc476)
(cherry picked from commit edfbe38e61e6889afbbdf7a2608e5498619ef4ab)
|
|
Make the get_src_fmt callback treat all yuv formats equally. This is
needed to recognize the actual source format as yuv and enable yuv->rgb
conversion in the image processing unit of iMX8.
(cherry picked from commit 35711c32b6947d880f94bc5467acc842c0b3e96c)
Conflicts:
drivers/media/platform/imx8/mxc-isi-cap.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 7f4707774bc1c4f737bfcfab82388c44b3b7bf68)
(cherry picked from commit 7fb7e36bfc525da2d3834e303db3230b395f35ba)
(cherry picked from commit 6be5a17562e2adf3d3dddee86c07cb6f3435e222)
|
|
Until now, the device searched for the subdev (sensor dev) using the
device name. That was a hack and required a hard-coded name of the
device in the common code.
This commit fixes it and makes it look for the proper subdevice using
the media pads layer.
(cherry picked from commit 9958f930c175cf8948278c85f4006870bebeebbb)
Conflicts:
drivers/media/platform/imx8/mxc-isi-cap.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit ce78564e48dca603c014786221b509bdc009e594)
(cherry picked from commit bfdbb433972d838171ed4a8b8c51e4fd3cc8d6cf)
(cherry picked from commit 839df9bc9ad0cf2aecc20302f767e9a7a938b8bb)
|
|
Sensor ID counter starts from 0 while the actual device number starts
from 1. Fix the issue that it caused.
Without this fix it is impossible to make proper media pads connections.
(cherry picked from commit 3c2f4472dacdf4b28dbab262fd46e24a13cc58ca)
Conflicts:
drivers/media/platform/imx8/mxc-media-dev.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit d510d569e1f716c2d6b161e5dee183bb900b04eb)
(cherry picked from commit 96735aacb23ef53c7b55c2afacf13e84d0cc19c4)
(cherry picked from commit e4ad050e5e5a7101d372f8be1ed71f69789134fa)
|