summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-06ARM: dts: apalis-imx8: Add support for 10.1" LVDS displayApalis-iMX8_Console-Image_3.0b1.40-20190612Philippe Schenker
This adds support for the Toradex Capacitive Touch Display 10.1" LVDS. The patch adds the display as well set the correct pwm frequency for backlight dimming and some sensible values for backlight-pwm. It also adds the Atmel Maxtouch device on the standard pins. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2019-06-06arm: mach-imx: Use busfreq_optee only if OPTEE is enabledOleksandr Suvorov
This fixes the linking error: arch/arm/mach-imx/busfreq_optee.o: In function `init_freq_optee': busfreq_optee.c:(.text+0x3d8): undefined reference to `imx_smp_wfe_optee' busfreq_optee.c:(.text+0x3dc): undefined reference to `imx_smp_wfe_optee' busfreq_optee.c:(.text+0x3e8): undefined reference to `imx_smp_wfe_optee_end' busfreq_optee.c:(.text+0x3ec): undefined reference to `imx_smp_wfe_optee' busfreq_optee.c:(.text+0x3f0): undefined reference to `imx_smp_wfe_optee_end' busfreq_optee.c:(.text+0x3f4): undefined reference to `imx_smp_wfe_optee' busfreq_optee.c:(.text+0x50c): undefined reference to `imx_smp_wfe_optee' busfreq_optee.c:(.text+0x514): undefined reference to `imx_smp_wfe_optee' make: *** [Makefile:1020: vmlinux] Error 1 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2019-06-06usb: 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>
2019-06-04Compiler Attributes: Fix: add support for __copy (gcc >= 9)Max Krummenacher
For not gcc >= 9 compilers the fix for gcc9 introduced compiler errors. | ./include/linux/module.h:131:6: error: ‘init_module’ declared as function returning a function | int init_module(void) __copy(initfn) __attribute__((alias(#initfn))); Fixes backport 865ca1d1e Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-06-04include/linux/module.h: copy __init/__exit attrs to init/cleanup_moduleMiguel Ojeda
[ Upstream commit a6e60d84989fa0e91db7f236eda40453b0e44afa ] The upcoming GCC 9 release extends the -Wmissing-attributes warnings (enabled by -Wall) to C and aliases: it warns when particular function attributes are missing in the aliases but not in their target. In particular, it triggers for all the init/cleanup_module aliases in the kernel (defined by the module_init/exit macros), ending up being very noisy. These aliases point to the __init/__exit functions of a module, which are defined as __cold (among other attributes). However, the aliases themselves do not have the __cold attribute. Since the compiler behaves differently when compiling a __cold function as well as when compiling paths leading to calls to __cold functions, the warning is trying to point out the possibly-forgotten attribute in the alias. In order to keep the warning enabled, we decided to silence this case. Ideally, we would mark the aliases directly as __init/__exit. However, there are currently around 132 modules in the kernel which are missing __init/__exit in their init/cleanup functions (either because they are missing, or for other reasons, e.g. the functions being called from somewhere else); and a section mismatch is a hard error. A conservative alternative was to mark the aliases as __cold only. However, since we would like to eventually enforce __init/__exit to be always marked, we chose to use the new __copy function attribute (introduced by GCC 9 as well to deal with this). With it, we copy the attributes used by the target functions into the aliases. This way, functions that were not marked as __init/__exit won't have their aliases marked either, and therefore there won't be a section mismatch. Note that the warning would go away marking either the extern declaration, the definition, or both. However, we only mark the definition of the alias, since we do not want callers (which only see the declaration) to be compiled as if the function was __cold (and therefore the paths leading to those calls would be assumed to be unlikely). Cc: <stable@vger.kernel.org> # 4.14+ Link: https://lore.kernel.org/lkml/20190123173707.GA16603@gmail.com/ Link: https://lore.kernel.org/lkml/20190206175627.GA20399@gmail.com/ Suggested-by: Martin Sebor <msebor@gcc.gnu.org> Acked-by: Jessica Yu <jeyu@kernel.org> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
2019-06-04Compiler Attributes: add support for __copy (gcc >= 9)Miguel Ojeda
[ Upstream commit c0d9782f5b6d7157635ae2fd782a4b27d55a6013 From the GCC manual: copy copy(function) The copy attribute applies the set of attributes with which function has been declared to the declaration of the function to which the attribute is applied. The attribute is designed for libraries that define aliases or function resolvers that are expected to specify the same set of attributes as their targets. The copy attribute can be used with functions, variables, or types. However, the kind of symbol to which the attribute is applied (either function or variable) must match the kind of symbol to which the argument refers. The copy attribute copies only syntactic and semantic attributes but not attributes that affect a symbol’s linkage or visibility such as alias, visibility, or weak. The deprecated attribute is also not copied. https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html The upcoming GCC 9 release extends the -Wmissing-attributes warnings (enabled by -Wall) to C and aliases: it warns when particular function attributes are missing in the aliases but not in their target, e.g.: void __cold f(void) {} void __alias("f") g(void); diagnoses: warning: 'g' specifies less restrictive attribute than its target 'f': 'cold' [-Wmissing-attributes] Using __copy(f) we can copy the __cold attribute from f to g: void __cold f(void) {} void __copy(f) __alias("f") g(void); This attribute is most useful to deal with situations where an alias is declared but we don't know the exact attributes the target has. For instance, in the kernel, the widely used module_init/exit macros define the init/cleanup_module aliases, but those cannot be marked always as __init/__exit since some modules do not have their functions marked as such. Cc: <stable@vger.kernel.org> # 4.14+ Suggested-by: Martin Sebor <msebor@gcc.gnu.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
2019-05-28ARM: dts: imx8: apalis-imx8qm: add colibri-vf50-ts configurationMax Krummenacher
Add the configuration to use the touchscreen hardware provided on the Apalis iMX8 QM. Keep it in disabled state though to allow the ADC1 to be used as ADC channels. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-28ARM64: defconfig: add colibri-vf50-ts driverMax Krummenacher
The Apalis iMX8 QM module provides this touchscreen hardware. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-28Input: 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>
2019-05-23Input: colbri-vf50-ts: improve bindings documentationMax Krummenacher
Clarify properties. Drop unused pinctrl-2 state 'gpio'. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-23ARM: dts: fsl-imx8qm-device.dtsi: Add io-channel-cells property for ADC nodeMax Krummenacher
This commit adds io-channel-cells property to the ADC node. This property is required in order for an IIO consumer driver to work. Especially required for Apalis iMX8 QM, as the touchscreen driver uses ADC channels with the ADC driver based on IIO framework. Based on commit 9b1793afe. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-23ARM: dts: fsl-imx8dx.dtsi: Add io-channel-cells property for ADC nodeMax Krummenacher
This commit adds io-channel-cells property to the ADC node. This property is required in order for an IIO consumer driver to work. Based on commit 9b1793afe. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-20ARM64: defconfig: add extcon_usb_gpio configMax Krummenacher
This is used with the USB_C port on Colibri iMX8X. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-20usb: chipidea: use of extcon framework to work for non OTG caseStefan Agner
The existing usage of extcon in chipidea driver freezes the kernel presumably due to OTGSC register access. Prevent accessing any OTG registers for SoC with dual role devices but no true OTG support. Use the flag CI_HDRC_DUAL_ROLE_NOT_OTG for those devices and in case extcon is present, do the role switch using extcon only. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 28291538966f8828be6d9e86d72cb3ea9ada28f1) [rebased ontop of 4.9] Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 241a15ed4b8ebd49de06b7ce7e13db213d3bdee6) 4.14: follow changed extcon_get_cable_state_() -> extcon_get_state_() Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: alphabetically re-order nodesMarcel Ziswiler
Alphabetically re-order device tree nodes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: change sound card nameMarcel Ziswiler
Change sound card name to be more in-line with our other modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: alphabetically re-order propertiesMarcel Ziswiler
Alphabetically re-order device tree properties. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: complement commentsMarcel Ziswiler
Complement device tree node comments and clarify pin usage. While at it also improve indentation and pull comments out to the top. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: improve usb host power enableMarcel Ziswiler
Rather than powering the USB host power enable pin via an always on regulator do actually hook it up via resp. USB PHY node. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: rename regulatorsMarcel Ziswiler
Rename regulators according to schematics and to be more consistent with how we do this on our other modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: improve console bootargsMarcel Ziswiler
Improve default console bootargs. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: get rid of gpio nodesMarcel Ziswiler
Those are specified as enabled by default in fsl-imx8qm-device.dtsi. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: get rid of lpuart dma disablingMarcel Ziswiler
Get rid of LPUART DMA disabling which dates back to an initial bring-up BSP on V1.0A hardware. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: rename spidev2 to spidev1Marcel Ziswiler
Rename spidev2 to spidev1 to be more consistent with how we do this on our other modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: add ethernet phy reset handlingMarcel Ziswiler
Add Ethernet PHY reset handling via resp. GPIO. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: fix i2c pin muxingMarcel Ziswiler
Fix I2C pin muxing of Apalis I2C1, Apalis I2C2 (DDC), Apalis I2C3 (CAM) and on-module I2C. We use high drive strength and OPEN_DRAIN_INPUT configuration. While at it also add a comment indicating which bus is used on-module. This fixes DDC/EDID issues as seen on Apalis Evaluation Board V1.1A with certain HDMI screens. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: fix enet0_refclk, eth_reset# pin muxingMarcel Ziswiler
Fix ENET0_REFCLK as well as ETH_RESET# pin muxing and add a comment noting us currently using them ENET0 pads in 3.3V mode. Note: We currently violate specification as NXP has not validated Gigabit Ethernet operation with them ENET0 pads being in 3.3V mode (as per note in IMX8QMAEC Rev. H, 8/2018, page 74, section 4.10.5)! Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-05-07ARM: dts: imx8: apalis-imx8qm: improve usb over-current handlingMarcel Ziswiler
Improve USB over-current handling by muxing USBH_OC# as GPIO and USBO1_OC# as native USB_OTG1_OC. This is especially important as they default to I2C pin muxing which may interfere with the actual pins we use for resp. I2C instance. While at it also improve indentation and pull comments out to the top. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-25ARM: dts: imx8: apalis-imx8qm: fix analog audio clockMax Krummenacher
IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV and maybe IMX8QM_AUD_MCLKOUT0 is set by more than one node as a parent clock with a fixed frequency. Using the same frequency everywhere fixes audio out being played at around half the needed sample rate. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-25ARM: dts: imx8: apalis-imx8qm: fix i2s data in muxingMax Krummenacher
The SAI1_RXD ball is used to get data from the codec into the SoC. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-25ARM: dts: imx8: apalis-imx8qm: add spdif functionalityMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-25ARM: dts: imx8: apalis-imx8qm: add additional gpio hogMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-24ARM: dts: imx8: apalis-imx8qm: fec comp_ctl pin and eth phyMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-24ARM: dts: imx8: apalis-imx8qm: enable adc0/1Marcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-24ARM: dts: imx8: apalis-imx8qm: enable imx-audio-amix, sai6/7, asrcMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-24ARM: dts: imx8: enable hdmi audioMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-24ARM: dts: imx8: apalis-imx8qm: use regular ddc i2c busMarcel Ziswiler
The Apalis iMX8 design does not make use of the dedicated HDMI DDC/EDID pins aka HDMI_TX0_DDC_SCL/SDA being under exclusive HDMI transmitter firmware control but rather uses HDMI_TX0_TS_SCL/SDA. This patch enables using them as a regular DDC I2C bus. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-04-24drm/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>
2019-04-24Revert "ARM: dts: imx8: apalis-imx8qm: hack to make weston happy"Marcel Ziswiler
This reverts commit 82aaeaf1d8b8d0ea83d2c6c404656d2bf7c918af. As we further progressed on this HDMI DDC/EDID issue we will solve this in a smarter way by a subsequent commit "drm/imx/hdp: implement optional regular ddc/edid i2c bus handling".
2019-04-18ARM: dts: imx8: apalis-imx8qm: add comment on how to disable can-fdMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: enable ddc i2cMax Krummenacher
We are using the dma_i2c on the ddc pins. When using the hdmi_ts_i2c the driver freezes, likely the clk configuration is not set up properly. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: add additional gpio hogMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: comment the apalis pin names muxedMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: delete unused pinsMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: rework bkl_on pinMax Krummenacher
Note the the enable gpio binding changed. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: put the two ddc i2c muxings togetherMax Krummenacher
Once DDC/EDID works delete the unused one. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: add gpio-keys nodeMax Krummenacher
This implements wake-up from WAKE1_MICO pin. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: unify apalis gpio pinctrlMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: add spiMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-04-17ARM: dts: imx8: apalis-imx8qm: enable vpu_decoder/encoderMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>