summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-01tty: serial: fsl_lpuart: set rxiden in non dma casetoradex_5.4-2.1.x-imxMax Krummenacher
In the case of not using edma set the RXIDEN field. This sets the RDRF flag even if there are received characters in the FIFO and the receiver has been idle for the specified number of characters. Related-to: ELB-3517 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-02-01tty: serial: fsl_lpuart: fix uart baud divider overflowMax Krummenacher
For low baudrates the uart baudrate divider can overflow, i.e. the sbr register must stay within [1..8191]. With an input frequency of 80MHz and a baudrate of 1200 the following register settings are calculated. sbr: 16666, osr: 4 Fix this. Related-to: ELB-3517 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-01-20ARM: dts: apalis-imx6: rearrange the fusion f0710a touchscreenOleksandr Suvorov
As the Fusion touchscreen is not belong to the specific board but a part of peripheral, move it to the module level. Add the node name to use it in an overlay. Related-to: ELB-3398 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-20ARM: dts: colibri-imx6: disable stmpe touchscreenOleksandr Suvorov
This device is enabled in an overlay. Remains it disabled here. Realetd-to: ELB-3395 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-20ARM: dts: colibri-imx6: disable lcd interfaceOleksandr Suvorov
The parallel RGB interface (lcd) and all related stuff turn on in an overlay. Keep them disabled in the main devicetree. As these subsystems are provided by module, move their definitions into the module-level devicetree. Related-to: ELB-3395 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-14arm64: dts: colibri-imx8x: add second spidev deviceOleksandr Suvorov
Colibri Aster board supports two spidev devices. Add 2nd one. Related-to: ELB-2532 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-14arm64: dts: colibri-imx8x: improve spidev configurationOleksandr Suvorov
All Toradex Colibri family boards support the ecspi interface. Move the definition of spidev0 to the module devicetree and enable it by default. Colibri Eval board has a CAN SPI controller. Disable the spidev0 for this board to have the CAN controller been enabled by default. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-14ARM: dts: colibri-imx7: improve spidev configurationOleksandr Suvorov
All Toradex Colibri family boards support the ecspi interface. Move the definition of spidev0 to the module devicetree and enable it by default. Colibri Eval board has a CAN SPI controller. Disable the spidev0 for this board to have the CAN controller been enabled by default. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-14ARM: dts: colibri-imx6dl: improve spidev configurationOleksandr Suvorov
All Toradex Colibri family boards support the ecspi interface. Move the definition of spidev0 to the module devicetree and enable it by default. Colibri Eval board has a CAN SPI controller. Disable the spidev0 for this board to have the CAN controller been enabled by default. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-14ARM: dts: colibri-imx6ull: improve spidev configurationOleksandr Suvorov
All Toradex Colibri family boards support the ecspi interface. Move the definition of spidev0 to the module devicetree and enable it by default. Colibri Eval board has a CAN SPI controller. Disable the spidev0 for this board to have the CAN controller been enabled by default. Colibri Aster board supports 2 spidev interfaces. Enable both of them and fix the CS configuration. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-13ARM: dts: colibri-imx6ull: remove SPI CS#2 setupOleksandr Suvorov
The SODIMM_65 pin, which should be used as a 2nd CS signal, is unavailable for customer on a Colibri Iris board. Remove the 2nd CS signal configuration for all Iris board versions. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-01-07regulator: pfuze100: fix system hang on suspendOleksandr Suvorov
The shutdown() callback of i2c client device calls for both scenarios, power off and reboot the system. In case of rebooting, the PMIC is configured to power off the power rails when receiveing the PMIC_STBY_REQ request. It leads to powering the module down and system hanging while suspending the system after soft reboot. Remove the shutdown() callback. Moreover, it is not needed now as the power-down preparation of PMIC is done in the pfuze_power_off_prepare() function. Related-to: ELB-3473 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-30ARM: dts: colibri-imx6: fix port of spidevOleksandr Suvorov
There is only one spidev port is used on the Evaluation board. Use the correct port address for the 1st device. Related-to: ELB-3401 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-28mfd: stmpe: Support disabling sub-functionsOleksandr Suvorov
Add support of sub-functions disabling. It allows one to define an stmpe sub-function device in devicetree, but keep it disabled. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-28Revert "mfd: stmpe: support disabling sub-functions"Oleksandr Suvorov
This solution is replaced with better upstream one. This reverts commit 4daa584ef919a58b90e1957012ffb6eaad5dc6bd. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-28arm64: dts: apalis-imx8x: request gpio1,2,5,6 pinsOleksandr Suvorov
Request and initialize the rest of GPIOx pins. Related-to: ELB-3427 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-28arm64: dts: apalis-imx8x: add GPIOx signal name for pinsOleksandr Suvorov
Detailing names for pins that serve GPIOx signals. Related-to: ELB-3427 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-24pci: pci-imx6: fix kernel hanging on imx6qOleksandr Suvorov
The resume from a suspend state on SoC i.MX6Q leads to a kernel hanging. Adding a 10ms delay after clearing the bit TEST_POWERDOWN of IOMUXC_GPR1 regiater fixes this issue. There is not enough information about the testing "powerdown" mode on i.MX6Q, but we can do some assumption. According to "49.6.1.2 Power-On Reset" section of the "i.MX6D/6Q APRM", the time between bringing up the PHY power supplies and the reference clock is up and stable is (< 10ms) + (> 10mks) ~= 10ms. So using this value seems reasonable. Related-to: ELB-3012 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-24sound: soc: fsl-spdif: Fix runtime PM imbalance on errorOleksandr Suvorov
In case of any error occurs after enabling the PM runtime framework for the fsl-spdif-dai device, the next probing generates the warning: "fsl-spdif-dai 2004000.spdif: Unbalanced pm_runtime_enable!" Add the error handling path to keep the PM runtime usage counter balanced. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-23media: imx8: ar0521 and ar1335 supportMarcel Ziswiler
Add drivers for e-con Systems AR0521 and AR1335 camera modules. Related to: PMS-387 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-12-22ARM64: dts: apalis-imx8x: adjust SGTL5000 to 5.4 kernelPhilippe Schenker
Mainly clocks need adjustment. Copy Paste from apalis-imx8 module Related-to: ELB-3423 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-12-22ARM64: dts: apalis-imx8x: bringup PCIe on new kernelPhilippe Schenker
Related-to: ELB-3428, ELB-2790 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-12-22ARM64: dts: apalis-imx8x: Disable hsio refclk used only on MEKPhilippe Schenker
They are used on MEK only and are blocking out GPIOs so disable them Related-to: ELB-3428, ELB-2790 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-12-21arm64: dts: apalis-imx8x: mux pinctrl_usbh_oc_n pinOleksandr Suvorov
Reduce the length of pinmux name and mux the pin by default. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-21arm64: dts: apalis-imx8x: fix set up USBO1 OC pinOleksandr Suvorov
The USB_SS3_TC2 pin can be directly used as a USBO1_OC pin to control over-current events. Use this mode. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-21arm64: dts: apalis-imx8x: remove useless propertyOleksandr Suvorov
The property "reset-on-resume" is useless without setting "reset-gpio". It used as a workaround for earlier revisions of Apalis iMX8QXP to fix Wi-Fi chip issue on resume. Remove obsolete property. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-21arm64: dts: apalis-imx8x: fix regulator for on-board USB hubOleksandr Suvorov
The cadence usb3 driver tries to turn down this regulator each time it goes to idle. This signal enables on-board USB Hub and should be always on. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-20Revert "arm64: dts: apalis-imx8x: enable USBH1"Oleksandr Suvorov
This reverts commit ce1e685adbd15203ca84c0be62cf752304e39df3. That commit seems for Apalis iMX8QM and should have not been applied for Apalis iMX8QXP. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-12-17arm64: dts: imx8mm-verdin: move backlight pwm to regular device treeMax Krummenacher
This keeps the numbering of the /sys/class/pwmchipX independent of which overlays are loaded and allows the use of Verdin PWM_3_DSI from user space if it is not used as a backlight PWM. Related-to: ELB-3411 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-12-15ARM64: dts: apalis-imx8: disable dma for lpuart 2 againPhilippe Schenker
lpuart2 is the only UART where DMA request works and linux tries to use a DMA. However this DMA does not work and output hangs, disbling the DMA works for now. This change was originally introduced in commit 1a8badaa585de ARM64: dts: apalis-imx8: disable dma for lpuart2 but lost when doing the devicetree-split. Fixes: 2715972aadc8f arm64: dts: apalis-imx8: separate common module pa Related-to: ELB-3178 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-12-14arm64: dts: imx8mp-verdin: ethernet workaroundMarcel Ziswiler
Work around potential probe deferral, order and race condition issues. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-12-14arm64: dts: imx8mp-verdin: change on-carrier phy addressMarcel Ziswiler
Both Verdin Developer Board V1.0A and V1.1A have their PHYs at address 7. Only V1.0B had it at the address 3! Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-12-14arm64: dts: imx8mp-verdin: add sodimm annotation to fec pinsMarcel Ziswiler
Add SODIMM annotation to FEC pins. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-12-14net: stmmac: dwmac-imx: fix phy-supply null pointer issueMarcel Ziswiler
The following happens e.g. on the i.MX 8M Plus EVK which does not specify any phy-supply: [ 1.077851] imx-dwmac 30bf0000.ethernet: no regulator found [ 1.083445] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000078 [ 1.092234] Mem abort info: [ 1.095033] ESR = 0x96000004 [ 1.098087] EC = 0x25: DABT (current EL), IL = 32 bits [ 1.103402] SET = 0, FnV = 0 [ 1.106456] EA = 0, S1PTW = 0 [ 1.109603] Data abort info: [ 1.112489] ISV = 0, ISS = 0x00000004 [ 1.116329] CM = 0, WnR = 0 [ 1.119301] [0000000000000078] user address but active_mm is swapper [ 1.125660] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 1.131232] Modules linked in: [ 1.134291] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.77-05639-g581745444980 #10 [ 1.142032] Hardware name: NXP i.MX8MPlus EVK board (DT) [ 1.147344] pstate: 60000005 (nZCv daif -PAN -UAO) [ 1.152141] pc : regulator_enable+0x1c/0x78 [ 1.156326] lr : imx_dwmac_init+0x134/0x1a8 [ 1.160508] sp : ffff80001003bad0 Fixes: ca8811172bdc ("net: stmmac: dwmac-imx: add phy-supply") Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-12-08i2c: imx: implement master_xfer_atomic callbackStefan Lengfeld
Rework the read and write code paths in the driver to support operation in atomic contexts. To achieve this, the driver must not rely on IRQs and not call schedule(), e.g. via a sleep routine, in these cases. With this patch the driver supports normal operation, DMA transfers and now the polling mode or also called sleep-free or IRQ-less operation. It makes the code not simpler or easier to read, but atomic I2C transfers are needed on some hardware configurations, e.g. to trigger reboots on an external PMIC chip. Related-to: ELB-3308 Related-to: ELB-1403 Signed-off-by: Stefan Lengfeld <contact@stefanchrist.eu> [m.felsch@pengutronix.de: integrate https://patchwork.ozlabs.org/patch/1085943/ review feedback] [m.felsch@pengutronix.de: adapt commit message] Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Acked-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Stefan Agner <stefan@agner.ch> Tested-by: Stefan Lengfeld <contact@stefanchrist.eu> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> (cherry picked from commit 3a5ee18d2a32bda6b9a1260136f6805848e3839d)
2020-12-04ARM: defconfig: fix working tempmonOleksandr Suvorov
tempmon driver requires the platform driver imx-cpufreq-dt that is enabled for imx7 with the option ARM_IMX_CPUFREQ_DT. Adding this option fixes tempmon driver working. Related-to: ELB-3339 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-11-30arm64: dts: imx8mp-verdin: prepare for dsi to lvds adapterMax Krummenacher
Prepare the nodes for the Verdin DSI to LVDS Adapter overlay. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-11-30arm64: dts: imx8mp-verdin: prepare for dsi to hdmi adapterMax Krummenacher
Prepare the nodes for the DSI to HDMI Adapter overlay. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-11-29arm64: defconfig: fix ov5640 crash on i.mx 8m plusMarcel Ziswiler
The OV5640 driver crashes on NXP's i.MX 8M Plus if loaded as a module. Related to: ELB-3209 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-11-29ARM: dts: colibri-imx6ull: do not pull-up sd-clk but sd-cmd signalPhilippe Schenker
From the SD-Card specification: > The host shall supply power to the card so that the voltage is > reached to V DD _min within 250ms and start to supply at least > 74 SD clocks to the SD card with keeping CMD line to high. In case of > SPI mode, CS shall be held to high during 74 clock cycles. According to this information I think we should pull the CMD data line like on other boards to 3.3V. Also on other boards we do have the CLK signal pulled. This looks like this got mixed that up. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-11-26arm64: dts: imx8mp-verdin: add ext_osc to pcie_phy and prevent warningMax Krummenacher
The pcie_phy uses ext_osc info in addition to the pcie node. While at it add the bus-range property to prevent: No bus range found for /pcie@33800000, using [bus 00-ff] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-11-26MLK-24410 phy: pcie: imx8mp: correct the clock mode of the pcie phyRichard Zhu
Correct the clock mode of PCIe PHY. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 2c23d9de9fc41d5436a7d3f8510fc95f3bf1c56b)
2020-11-26MLK-24171-5 PCI: imx8mp: verify the pcie internal pll reference clockRichard Zhu
- Verify the both internal PLL_SYS and external OSC reference clock modes on iMX8MP EVK board, and pass the PCIe compliance tests. - Remove the no-needed bypass setting. - PHY configration should be completed before CMN_RSTN is set to 1b1 - To manually initiate the speed change to make sure GEN2 is linked up: - Write to LINK_CONTROL2_LINK_STATUS2_REG.PCIE_CAP_TARGET_LINK_SPEED in the local device - De-assert GEN2_CTRL_OFF.DIRECT_SPEED_CHANGE in the local device - Assert GEN2_CTRL_OFF.DIRECT_SPEED_CHANGE in the local device Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 12589ba98b1145e2d2a9f439b20064197aea8ca9)
2020-11-26MLK-24171-4 reset: imx7: add perst for imx8mp pcieRichard Zhu
Add the PERST for iMX8MP PCIe. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 0a91df355e20aa53a4bcaa9d352952e5fa9e4ef6)
2020-11-26MLK-24171-3 phy: pcie: imx8mp: verify the pll sys ref clock sourceRichard Zhu
Verify the PCIe PLL_SYS reference clock source on EVK board. The external OSC clock is used as PCIe REF clock source in default. - sequence should be the following one. phy configuration--> CMN_RSTN--> wait for pll lock - add the calibrate callback to fit the correct init sequence of phy Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 9afaf7a465858970aee8858fb52067f2ef152c7f)
2020-11-26MLK-24171-2 dt-binding: phy: update the clock modes of pcie phyRichard Zhu
Update the clock modes of iMX8MP PCIe PHY in binding DOC. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit eade3750bf840948b29db26f0beabf10dea5f981)
2020-11-26MLK-24171-1 arm64: dts: imx8mp: verify the pcie pll sys ref clockRichard Zhu
Verify the PCIe PLL_SYS reference clock source on EVK board. The external OSC clock is used as PCIe REF clock source in default. NOTE: Change the ext_osc of pcie/pcie_phy to '0' when enable SYS_PLL clock mode. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit 1bda33273eccae3c0d878d34660eca9da1765db0)
2020-11-26MLK-24170 PCI: imx: configure the l1 latency for imx8m pcie rcRichard Zhu
Configure the L1 latency of iMX8M's RC to less than 64us, otherwise, the L1/L1SS wouldn't be enabled by ASPM. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> (cherry picked from commit eb9fdb1d10c10dc4d4bbe9bc6fc060afe1485989)
2020-11-26arm: dts: imx7d: add missing weim nodeJaskaranjeet Singh
Signed-off-by: Jaskaranjeet Singh <jaskaranjeet.singh@toradex.com>
2020-11-25mfd: stmpe: support disabling sub-functionsOleksandr Suvorov
Add support of sub-functions disabling. It allows one to define and turn on sub-function devices in different devicetree files. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>