summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-28ARM: dts: Add devicetree for Colibri iMX8X demotoradex_imx_4.9.123_imx8mm_ga-bring_upPhilippe Schenker
This adds a devicetree for a demo with Colibri iMX8 and a dual-channel Full-HD display. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2019-01-28drm/panel: simple: Add support for panel LG156WF1Philippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2018-11-08fsl-imx8qxp-colibri-eval-v3.dts: replace the seiko panel with a simple panel ↵Colibri-iMX8QXP_fsl-image-validation_L4.9.123-20181112Max Krummenacher
800x480 Note: still not working Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08fsl-imx8qxp-colibri-eval-v3.dts: add lcdif and panelMax Krummenacher
Note that this does not (yet) work, likely because the scfw does not know the used PLL. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08of: introduce of_graph_get_remote_nodeRob Herring
The OF graph API leaves too much of the graph walking to clients when in many cases the driver doesn't care about accessing the port or endpoint nodes. The drivers typically just want the device connected via a particular graph connection. of_graph_get_remote_node provides this functionality. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> (cherry picked from commit b85ad494098bf881c3713218fbd74193e5d5c488)
2018-11-08MLK-18789: arch: arm64: fsl-imx8qxp: Move conflicting pinRobert Chiras
The SC_P_MCLK_OUT0_ADMA_ACM_MCLK_OUT0 pin was conflicting with the pins needed by the eLCDIF, so it was commented out with a TODO. In order to fix this conflict, re-write this pinctrl group in the lcdif specific dts file so that the conflict is handled properly. Fixes: 471c6dc358fe ("ARM64: dts: imx8dx: Add dts file for lcdif") Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2018-11-08MLK-18789: arch: arm64: fsl-imx8qxp: Fix adma_pwm default statusRobert Chiras
The pwm_adma_lcdif node was created with status "okay" in the mek.dts file, causing a pin conflict with the audio subsystem, even though the lcdif pwm is not needed in this dts file. Move this node into it's specific dts file: mek-lcdif, since it is only needed by the lcdif. Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2018-11-08MLK-18789-5: ARM64: dts: imx8dx: Add dts file for lcdifRobert Chiras
Add nodes for the ADMA eLCDIF controller found in i.MX8QXP and specific dts file for it's usage with the Seiko 43WVF1G LCD panel. Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2018-11-08MLK-18789-4: drm/mxsfb: Update mxsfb to support LCD resetRobert Chiras
The eLCDIF controller has control pin for the external LCD reset pin. Add support for it and assert this pin in enable and de-assert it in disable. Also, correct the pm_runtime_enable call, since it was made too early in the probe, causing issues to DRM enable routines. Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
2018-11-08MLK-18789-3: arm64: defconfig: Add Seiko panel to defconfigRobert Chiras
Add Seiko 43WVF1G panel to our defconfig. Needed for QXP eLCDIF. Signed-off-by: Robert Chiras <robert.chiras@nxp.com> Backported to 4.9.123 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08MLK-18789-2: drm/bridge: Add driver for legacy Freescale Seiko 43WVFIG adapterRobert Chiras
This is an adapter card made for the 4.3", 800x480, LCD panel Seiko 43WVFIG. The LCD panel is a 24bit DPI bus, while the adapter card has two ports: 18-bit and 24-bit data input. For the 18-bit data input, the adapter card is demuxing some of the data lines, in order to feed all of the 24 lines needed by the LCD. This driver handles both this use-cases. Signed-off-by: Robert Chiras <robert.chiras@nxp.com> Backported to 4.9.123 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08MLK-18789-1: drm/panel: Add driver for Seiko 43WVF1G panelMarco Franchi
Add driver for Seiko Instruments Inc. 4.3" WVGA (800 x RGB x 480) TFT with Touch-Panel. Datasheet available at: http://www.glyn.de/data/glyn/media/doc/43wvf1g-0.pdf Seiko 43WVF1G panel has two power supplies: avdd and dvdd and they require a specific power on/down sequence. For this reason the simple panel driver cannot be used to drive this panel, so create a new one heavily based on simple panel. Based on initial patch submission from Breno Lima. Signed-off-by: Marco Franchi <marco.franchi@nxp.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/1500567179-6967-1-git-send-email-marco.franchi@nxp.com Backported to 4.9.123 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08imx8x: inital failing try to bringup pwmMax Krummenacher
Copy the pwm definitions from imx8qm to fsl-imx8dx.dtsi. Enable it in the device tree. Without the power domain property nothing happens when playing in /sys/class/pwm. With it you get a kernel Oops. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08fsl-imx8qxp-colibri-eval-v3.dts: add lcdif pingroupMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08fsl-imx8qxp-colibri-eval-v3.dts: add pwm and backlight nodesMax Krummenacher
as pwms are not yet available in the SoC dtsi, comment them. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08colibri-imx8qxp: add initial device treeMax Krummenacher
Use the initial U-Boot device tree. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08pci-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>
2018-11-08fsl-imx8dx.dtsi: lpspi2: add nodeMax Krummenacher
While at it set the assigned clock to 24 MHz, as that it what results with the 20 MHz currently used. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08fsl-imx8dx.dtsi: fix missing clk in lpi2cXMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08arm: defconfig: add extcon usbMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08arm: defconfig: add spi bit banging driverMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08arm: defconfig: add fxl6408 gpio expanderMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08arm: defconfig: add lt8912 drm brigeMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08arm: defconfig: add touchcontroller ad7879Max Krummenacher
It is used on the Colibri iMX8QXP Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08drm/bridge: lt8912.c: adapt to changed drm apiMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08drm/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>
2018-11-08usb/misc/usb3503: use regmap write to set nrd and pdsMax Krummenacher
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>
2018-11-08usb/misc/usb3503: add setting of 'non removable devices' registerMax Krummenacher
This allows to configure the NRD register from device tree or platform data. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08usb: misc: usb3503: add the usb3803 variantMax Krummenacher
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>
2018-11-08gpio-fxl6408.c: add of properties to set inital direction and stateMax Krummenacher
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>
2018-11-08gpio-fxl6408.c: fix output setting and output readbackMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08gpio: Add support for the FXL6408 GPIO expander.Eric Anholt
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>
2018-11-08fsl-imx8qm-apalis.dts: merge changes from the hdmi mek dtsMax Krummenacher
mek now assigns clock. Note that for me HDMI does still not work. However this change has been done between 4.9.51 and 4.9.123. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08apalis-imx8qm: enable sataMarcel Ziswiler
Add external clock nodes to model the on-module SATA reference clock generator. Assign it to the SATA instance so it can be disabled if required. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 73e0d2dcb1326fb64ddb7cadb5ca211b058f39ba) While forward poriting, add newly required phy_apbclk to the clocks property. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-11-08ata: imx: add external clock support for i.MX8QMMarcel Ziswiler
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>
2018-10-11apalis-imx8qm: remove lpcg_xxx clocks in module level dtStefan Agner
Remove lpcg_xxx clocks (pcie_per) also in module level device tree. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 4327a27b34c2c83b7998087e7cad928272aa1d4d) (cherry picked from commit b1cecac7dad4d6738ad99d8d6d1c26165c8d992e)
2018-10-11MLK-18433 PCI: imx: remove the lpcg_xxx clocks in driverRichard Zhu
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)
2018-10-11imx8: isi: XXX: Add code to force format setting in the actual sensorTomasz Gorochowik
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)
2018-10-11imx8: isi: Disable scaling when not neededTomasz Gorochowik
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)
2018-10-11imx8: csi: Recognize all yuv formats as yuvTomasz Gorochowik
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)
2018-10-11imx8: csi: Implement proper subdev accessTomasz Gorochowik
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)
2018-10-11imx8: csi: Fix off-by-one error in sensors enumerationTomasz Gorochowik
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)
2018-10-11arm64: defconfig: Choose the newer version of the ov5640 driverTomasz Gorochowik
(cherry picked from commit 77bbbcfe3baaf26d84912b459150ec7a5138f7a7) (cherry picked from commit 7847317840c86a9b52dd7a98e36e44721d83a000)
2018-10-11dtb: apalis-imx8qm: Add proper ov5640 instantiationTomasz Gorochowik
This commit makes the camera instantiation use the proper driver and fixes all the settings so it works with Apalis. (cherry picked from commit e42e656f28f91d10a2fb2035f9c7546d0814ad87) (cherry picked from commit 2940c6461138f8de95ea77bc2db86619914d8f53)
2018-10-11drivers: media: Add new ov5640 driverTomasz Gorochowik
This driver is a copy of a driver by nVidia. It was improved by Antmicro for the TK1 board. Additionally there are some changes which were required to make it compatible with iMX8. (cherry picked from commit 8746c5c44e5405f09cf5f4568c2e71f402b11933) (cherry picked from commit 3d1a424b1014f195525fc9e7cf6fe7a7e047ce56)
2018-10-11arm64: defconfig: add SGTL5000 supportStefan Agner
Add NXP SGTL5000 codec support for Apalis iMX8. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 1ed393a89bc808273f9653020b2fcad4d655f765) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 4f8e7db9db1bac86c6c5bc2f78793ebebbd60a14)
2018-10-11apalis-imx8qm: add audio support through SGTL5000 codecStefan Agner
Add SAI1 I2S peripheral and SGTL5000 audio codec support for on-module audio support. Note that clocking is currently setup in the SGTL5000 codec node, altough it seems that due to cross dependencies those clocks (or root clocks thereof) might get changed later on. With the current clock frequencies audio seems to play at the correct rate. The power rails need further refinement. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 47b471418c210137493bf73f92fcbc198679e466) (cherry picked from commit 284f5ec2c75f7a15a5cc5b2ca4c71efdf386f006)
2018-10-11apalis-imx8qm: add Apalis I2C1 and RTC supportStefan Agner
Add carrier board RTC support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 37a91946277a49ddb51e54f1070207228c5ea48c) (cherry picked from commit 5e2ece329dfe1362c6e4cfd83151553b7df3d9e5)
2018-10-11arm64: defconfig: add M41T0 RTC supportStefan Agner
Add DS1307 family RTC support which also supports M41T0 RTC as used on our carrier board. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit d6ec2d954abbdf639cbb435c89cad71775e24795) (cherry picked from commit a8fa55ea007eb29f8f18fc86cbab3bab0d45a90f)
2018-10-11rtc: ds1307: support m41t0 variantStefan Agner
The m41t0 variant is very similar to the already supported m41t00 variant, with the notable exception of the oscillator fail bit. The data sheet notes: If the oscillator fail (OF) bit is internally set to a '1,' this indicates that the oscillator has either stopped, or was stopped for some period of time and can be used to judge the validity of the clock and date data. The bit will get cleared with a regular write of the system time, so no changes are needed to clear it. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> (cherry picked from commit 8566f70c8a90f3914b06e934852596ba94aaa381) (cherry picked from commit fd9355b5dfd4b1e25ca8ad8a5d73723cc4620432) (cherry picked from commit 93d8ea93fae9eb70d93b022eff95397c4bd0ee17)