summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2021-03-19ARM: dts: apalis/colibri-imx6: standby pmic on powerofftoradex_4.14-2.3.x-imxOleksandr Suvorov
There is a new property to work around the bug of PMIC PF0100. This property turns the pmic into the standby mode on power down the system, that leads to turn off all power rails. In this mode the power consumption is around 2 mA. Related-to: ELB-3580 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (cherry-picked from commit 36c91bbb3ff44beccc48a6e833d2b61e89affeb5)
2021-03-19ARM: imx6: fix setting up pm_power_off callbackOleksandr Suvorov
It is not necessarily that the system with set up the POWER_RESET_GPIO config option has the enabled device "gpio-poweroff". Without this device the "pm_power_off" callback remains uninitialized and the syscall "reboot" converts the signal LINUX_REBOOT_CMD_POWER_OFF into LINUX_REBOOT_CMD_HALT. This leads to skip calling the callback "pm_power_off_prepare" that should do an important work for iMX6+PF0100 systems: it should turns down all power rails of PMIC PF0100 to emulate a "power off" state as a workaround for a PMIC PF0100 with PMIC_ON_REQ and VCC_BATT is supplied from a battery, leading to unable to restart the module either by RESET or power cycle. Note, that gpio-poweroff device still can grab the pm_power_off callback using the property "force-mode" introduced in the commit: 964f69e00a4d ("power: reset: gpio-poweroff: add force-mode") Enable setting pm_power_off callback on the system with POWER_RESET_GPIO config option. Related-to: ELB-3580 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (cherry-picked from aebbdbb42fbec323d242a6c0fb5fe6c97636ee3e)
2020-09-18Merge remote-tracking branch 'remotes/codeaurora/imx_4.14.98_2.3.0' into ↵Marcel Ziswiler
toradex_4.14-2.3.x-imx
2020-07-14ARM: defconfig: apalis/colibri-imx*: enable GPIO/serial sources for PPSOleksandr Suvorov
Enable GPIO and serial-port (CD-signal) sources for the PPS (pulse-per-second) module. Related-to: ELB-2837 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-07-12MLK-24390 ARM: dts: Add the missing wifi dts file for imx6ulz lite evkJacky Bai
The dts file for WIFI support on i.MX6ULZ Lite is missed, so add it. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2020-07-10MLK-24388: ARM: dts: Add more dts for imx6ulz liteJacky Bai
Add btwifi dts support for i.MX6ULZ Lite. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2020-07-10MLK-24369 ARM: imx: Add dummy soc id for imx6ulz liteJacky Bai
for i.MX6ULZ Lite, there is no dedicated SOC id for it, so add a dummy ID and identify it by checking the MARK bit in fuse. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2020-07-01MLK-24359 ARM: dts: Add the i.MX6ULZ Lite EVK board supportJacky Bai
The i.MX6ULZ Lite is full compatible with i.MX6ULL/ULZ, and only support 9x9 package. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
2020-06-18ARM: dts: imx6ull-colibri: add gpio-line-namesMax Krummenacher
Add GPIO line names on module level. Those are all GPIOs which a user might use on his custom carrier board. If more meaningful names are available on the carrier board, the user can overwrite the line names in the carrier board level device tree. Related-to: ELB-2794 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-05-28ARM: dts: imx6-apalis: add gpio-line-namesMax Krummenacher
Add GPIO line names on module level. Those are all GPIOs which a user might use on his custom carrier board. If more meaningful names are available on the carrier board, the user can overwrite the line names in the carrier board level device tree. Related-to: ELB-2525 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 5ca35c3842c88bed48fdbf79dbaa326c5c085af1)
2020-05-28ARM: dts: imx6-colibri: add gpio-line-namesOleksandr Suvorov
Add GPIO line names on module level. Those are all GPIOs which a user might use on his custom carrier board. If more meaningful names are available on the carrier board, the user can overwrite the line names in the carrier board level device tree. Related-to: ELB-2524 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> (cherry picked from commit d6133247f87fc07ca917df7dcf12bbd33f9bdafd) squashed fixup: (cherry picked from commit 0e0c71ae67dab11b0acdf19529420c65043c30b0) Conflicts: arch/arm/boot/dts/imx6qdl-colibri.dtsi
2020-05-07ARM: dts: imx7-colibri: add gpio-line-namesStefan Agner
Add Colibri SODIMM numbers as GPIO line names on module level. The GPIO lines with a name are all available on the SODIMM edge connector of the Colibri iMX7 module and therefore a customer might use it as a GPIO. The Toradex Evaluation Board has the SODIMM numbers printed on the silk- screen. This allows a customer to quickly control a GPIO on a pin-header by using the name printed next to it. Putting the GPIO line name on module level makes sure that a customer gets a reasonable default. If more meaningful names are available on a custom carrier board, the user can overwrite the line names in a carrier board level device tree. The eMMC based modules share all GPIO names except two GPIOs on bank 6 which are not available on the raw NAND devices. Hence overwrite GPIO line names of bank 6 in the eMMC specific device tree file. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 119c98f16e704e4c85522f6e22c9c819c21c4128) Related-to: ELB-2309 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-04-20colibri_imx7_defconfig: Add the UBIFS driverVerdin-iMX8MM_Console-Image_3.0b4.254-20200421Colibri-iMX8X_Console-Image_3.0b4.254-20200421Colibri-iMX7_Console-Image_3.0b4.254-20200421Colibri-iMX7-eMMC_Console-Image_3.0b4.254-20200421Colibri-iMX6_Console-Image_3.0b4.254-20200421Colibri-iMX6ULL_Console-Image_3.0b4.254-20200421Apalis-iMX8_Console-Image_3.0b4.254-20200421Apalis-iMX8X_Console-Image_3.0b4.254-20200421Apalis-iMX6_Console-Image_3.0b4.254-20200421Philippe Schenker
Fixes: d4d419f1b24e apalis/colibri_imx6/-imx6ull/_imx7/-imx8/8x_defconfig: config refresh Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-04-17ARM: dts: apalis-imx6qdl: disable hdmi audio on module levelMarcel Ziswiler
Implicitly disable HDMI audio on the module level as it is disabled by default in imx6qdl.dtsi. It can be enabled on the carrier board level (e.g. imx6q-apalis-eval.dts, imx6q-apalis-ixora.dts, imx6q-apalis-ixora-v1.1.dts or imx6q-apalis-ixora-v1.2.dts) if required. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-04-15ARM: apalis/colibri-imx6/7/6ull: enable options for backportsOleksandr Suvorov
Enable WIRELESS_EXT and WEXT_PRIV options for the backported rtl81288eu driver. Related-to: ELB-2388 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-15ARM: apalis/colibri-imx6/7/6ull: disable wireless driversOleksandr Suvorov
Disabling all wireless drivers and cfg80211 module makes able to completely avoid interferences with backported drivers. Related-to: ELB-2388 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-15ARM: dts: colibri-imx6ull: Use pull-down for adc pinsPhilippe Schenker
As suggested by the reference manual in a note in chapter 13.2 this commit disables the keeper and enables a 100k pull-down on the adc pins. Related-to: ELB-2690 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-04-14ARM: apalis/colibri: defconfig: remove backported driversOleksandr Suvorov
There are some unstable drivers in the kernel. The stable versions of these drivers present in backported-5.4 package. Remove unstable rtl8188eu, mwifiex_sdio, mwifiex_usb. Related-to: ELB-2388 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-02ARM: dts: imx6ull: enable async interrupts for sdioOleksandr Suvorov
The driver mwifiex_sdio stucks after the wifi firmware crash. Enabling asynchronous interrupts processing in sdio driver fixes this issue and allows the mwifiex_sdio driver to be reloaded and continue operates successfully. Works better with the driver from the backported-5.4 package. Related-to: ELB-2596 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-04-02apalis/colibri_imx6/-imx6ull/_imx7/-imx8/8x_defconfig: config refreshMarcel Ziswiler
Refresh kernel configs adding some more USB as well as PCIe options where applicable plus synchronise some more accross all modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-30ARM: dts: apalis-imx6qdl: use rgmii-id instead of rgmiiPhilippe Schenker
Until now a PHY-fixup in mach-imx set our rgmii timing correctly. For the PHY KSZ9131 there is no PHY-fixup in mach-imx. To support this PHY too, use rgmii-id. For the now used KSZ9031 nothing will change, as rgmii-id is only implemented and supported by the KSZ9131. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 1b68480b945e51ba879496d3f9ff5a5addd82007) We have a PHY-fixup in our downstream Linux. However this patch makes anyway sense to apply as it documents the rgmii mode properly and won't brake anything. Related-to: ELB-2581 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-25colibri imx6ull: defconfig: enable building backports-5.4Oleksandr Suvorov
The mwifiex Wi-Fi driver in kernel-4.14-2.3.x-imx works unstable. The same driver in backports-5.4 works well. Backports-5.4 requires the undocumented build option CRYPTO_HASH_INFO. This option is selected by enabled ASYMMETRIC_PUBLIC_KEY_SUBTYPE. This makes able to build and use the Wi-Fi driver mwifiex_sdio, that works stable unlike the original driver in 4.14-2.3.x-imx. Related-to: ELB-2388 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-03-23ARM: dts: colibri_imx6: fix analogue camera adapter detectionMarcel Ziswiler
Out-of-the-box the analogue camera adapter fails detecting with the following error: [ 6.503046] adv7280 2-0021: adv7280_probe:Analog Device adv7280 not detected -6! Unfortunately, the camera seems to be held in reset due to the BL_ON pin not being serviced. Fix this by hogging the camera_nreset aka BL_ON pin to output high. Related-to: ELB-2580 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-11ARM: dts: imx6qdl: Fix SPDIF regressionFabio Estevam
Commit 833f2cbf7091 ("ARM: dts: imx6: change the core clock of spdif") changed many more clocks than only the SPDIF core clock as stated in the commit message. The MLB clock has been added and this causes SPDIF regression as reported by Xavi Drudis Ferran and also in this forum post: https://forum.digikey.com/thread/34240 The MX6Q Reference Manual does not mention that MLB is a clock related to SPDIF, so change it back to a dummy clock to restore SPDIF functionality. Thanks to Ambika for providing the fix at: https://community.nxp.com/thread/387131 Fixes: 833f2cbf7091 ("ARM: dts: imx6: change the core clock of spdif") Cc: <stable@vger.kernel.org> # 4.4.x Reported-by: Xavi Drudis Ferran <xdrudis@tinet.cat> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Tested-by: Xavi Drudis Ferran <xdrudis@tinet.cat> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit f065e9e4addd75c21bb976bb2558648bf4f61de6) This fix was correct, but overwritten by commit 833f2cbf7091099baee28136dc68678e974c0ac5. MLB (Media Local Bus) Clock is in fact not related to SPDIF according to the MX6Q Reference Manual. Tested playback and record on pulseaudio with 44.1kHz samples. Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 58e5313d36b969029d76b1ef45d3224c8557af75)
2020-03-09ARM: mach-imx6q: add ksz9131rn_phy_fixupPhilippe Schenker
The MAC of the i.MX6 SoC is compliant with RGMII v1.3. The KSZ9131 PHY is like KSZ9031 adhering to RGMII v2.0 specification. This means the MAC should provide a delay to the TXC line. Because the i.MX6 MAC does not provide this delay this has to be done in the PHY. This patch adds by default ~1.4ns delay to the TXC line. This should be good for all boards that have all RGMII signals routed with the same length. The KSZ9131 has relatively high tolerances on skew registers from MMD 2.4 to MMD 2.8. Therefore the new DLL-based delay of 2ns is used and then as little as possibly subtracted from that so we get more accurate delay. This is actually needed because the i.MX6 SoC has an asyn skew on TXC from -100ps to 900ps. Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-09ARM: dts: imx7-colibri: Fix frequency for eMMCOleksandr Suvorov
eMMC, used in Colibri iMX7D eMMC modules, supports 200Mhz mode with vccq=1.8v. Remove the max-frequency limit, it increases the performance significantly: == before fix ==== root@colibri-imx7-emmc:~# hdparm -t /dev/mmcblk1 /dev/mmcblk1: Timing buffered disk reads: `^H252 MB in 3.02 seconds = 83.54 MB/sec ================== === after fix ==== root@colibri-imx7-emmc:~# hdparm -t /dev/mmcblk0 /dev/mmcblk0: Timing buffered disk reads: 408 MB in 3.00 seconds = 135.94 MB/sec ================== Related-to: ELB-1442 Fixes: f928a4a377e4 ("ARM: dts: imx7: add Toradex Colibri iMX7D 1GB (eMMC) support") Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-03-09ARM: dts: imx6q-apalis: Fix pin nameOleksandr Suvorov
The interface of Apalis modules is MXM3, not SODIMM. Just fix the name of the reset touch pin. Fixes: 96458caa3562 ("ARM: dts: imx6: Add touchscreens used on Toradex eval boards") Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-03-09Merge remote-tracking branch 'fslc/4.14-2.3.x-imx' into toradex_4.14-2.3.x-imxMarcel Ziswiler
Conflicts: arch/arm64/boot/dts/freescale/Makefile arch/arm64/boot/dts/freescale/fsl-imx8qm-device.dtsi
2020-03-08Merge tag 'v4.14.170' into 4.14-2.3.x-imxMarcel Ziswiler
This is the 4.14.170 stable release Conflicts: drivers/net/phy/phy_device.c drivers/tty/serial/imx.c include/linux/platform_data/dma-imx-sdma.h net/wireless/util.c
2020-02-12apalis/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-12colibri 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-12colibri 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-12colibri 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-12apalis 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-12ARM: 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-12ARM: dts: colibri-imx6ull: pad_gpio1_io03: remove reserved bitsPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12ARM: dts: colibri-imx6ull: correct wrong pinmuxing and add commentsPhilippe Schenker
Some pinmuxings are obviously wrong, originating from a copy/paste error. This patch corrects that with the following strategy: - Set all reserved bits to zero - Leave drive strength and slew rate as is - Add sensible pull and hysteresis depending on the function of the pin - Not used pins are muxed to their reset-value defined by the SoC Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12colibri-imx6ull_defconfig: Include BT SDIO moduleOleksandr Suvorov
Colibri iMX6ULL operates BT part of AW-CM276NF WiFi/BT modules in SDIO mode. Including HCI Bluetooth SDIO and Marvell BT/SDIO drivers makes system able to use bluetoth module. (Reported by CTO team of Ciklum) Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12ARM: dts: imx6ull-colibri: rename vqmmc regulatorMax Krummenacher
Cosmetic change: Rename the reg_sd1_vmmc to reg_sd1_vqmmc as it is used for vqmmc. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12ARM: dts: imx6ull-colibri: use mmc sleep state alwaysMax Krummenacher
The mmc pins sleep state has been added for the UHS1 speed case only, add it also to the regular case. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12ARM: dts: imx6ull-colibri: fix vqmmc regulatorMax Krummenacher
The correct spelling for the property is gpios, otherwise the regulator will neither reserve nor control any gpio(s). Thus any SD/MMC card which can use UHS 1 modes will fail. Related-to: #46566 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12ARM: dts: imx6q: follow addition of sata_ext clkMax Krummenacher
Commit f014b5b3b3ab added an additional clock to ahci_imx.c used on i.MX8. Add a dummy clock to imx6q.dtsi so that i.MX6 which doesn't need the clock the driver keeps working. Fixes: [ 2.053942] ahci-imx 2200000.sata: can't get sata_ext clock. [ 2.053962] ahci-imx: probe of 2200000.sata failed with error -2 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12ARM: dts: imx6ull-colibri: add group to iomuxc to suppress warningPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12ARM: dts: imx6-ixora: fix missing includesPhilippe Schenker
Fixes: commit: 5d2a26667010640e33ca0a52c73310f158179711 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12ARM: dts: (apalis|colibri): unify backlight settingsPhilippe Schenker
This commit unifys the backlight settings. All displays sold by Toradex are now supporting 150Hz as a PWM backlight typical frequency. Use this value for all SoM's and put also some better default values for different brightness. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12ARM: dts: toradex: fix i2c gpios flagsOleksandr Suvorov
According to manual of I2C bus, both signals sda/scl are "open drain". Fix flags for all affected Toradex boards. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm: dts: colibri_imx7: fix flags for gpio signals of i2cOleksandr Suvorov
scl-gpios should be (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN) since commit d2d0ad2aec4a ("i2c: imx: use open drain for recovery GPIO") Fix on-boot warning: "enforced open drain please flag it properly in DT/ACPI DSDT/board file" Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12cache-l2x0.c: silence compiler warningMax Krummenacher
Fix commit '46a30aca7f5c MLK-20052 L2 Cache TEE/Linux shared mutex' when CONFIG_OPTEE is not defined. Compiler warning: | arch/arm/mm/cache-l2x0.c:151:12: warning: ‘l2c_set_mutex’ defined but not used [-Wunused-function] fns.set_mutex and l2c_set_mutex() are guarded by CONFIG_OPTEE. On top of that the function pointer is tested for NULL before calling. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12ARM: dts: Add initial Iris devicetreesPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-12ARM: dts: imx6qdl-colibri: Correct usdhc1Philippe Schenker
Usdhc1 had wrong stuff in it due to the merge request. Fix that Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>