summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-26ARM: mach-tegra: colibri_t30: integrate atmel mxt multitouch controllerColibri-T30_LXDE-Image_2.7b4-20171005Colibri-T20_LXDE-Image_2.7b4-20171005Apalis-T30_LXDE-Image_2.7b4-20171005Bhuvanchandra DV
Integrate Atmel MXT multitouch controller driver which is interfaced over I2C bus. The driver supports the 7" multitouch variant available from Logic Technologies. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-26ARM: mach-tegra: colibri_t20: integrate atmel mxt multitouch controllerBhuvanchandra DV
Integrate Atmel MXT multitouch controller driver which is interfaced over I2C bus. The driver supports the 7" multitouch variant available from Logic Technologies. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-26ARM: mach-tegra: apalis_t30: integrate atmel mxt multitouch controllerBhuvanchandra DV
Integrate Atmel MXT multitouch controller driver which is interfaced over I2C bus. The driver supports the 7" multitouch variant available from Logic Technologies. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-26input: atmel_mxt_ts driver updateNick Dyer
Update mxt driver to upstream version. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20tegra_udc.c: fix compilation with gcc 7Max Krummenacher
With gcc 7 the following compile time error occurs: | .../drivers/usb/gadget/tegra_udc.c:2565:17: error: 'out' directive writing 3 bytes into a region of size between 2 and 11 [-Werror=format-overflow=] | sprintf(name, "ep%dout", i); | ^~~~~~~~~ | .../drivers/usb/gadget/tegra_udc.c:2565:3: note: 'sprintf' output between 7 and 16 bytes into a destination of size 14 | sprintf(name, "ep%dout", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ The last end point will never be greater than 32 but the compiler can not find this out from the code. Work around this by passing a format specifier to interpreat i as a signed char. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20colibri_t20: update defconfig for wifiDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20colibri_t30: update defconfig for wifiDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20tegra: do not enable pci without TEGRA_PCIDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20apalis_t30: update defconfig for wifiDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20video: tegra: make tegra_fb_find_mode check default modesDominik Sliwa
We were only looking in tegra, VESA and CEA tables. Let's also check standard video mode definitions table Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-09-20apalis/colibri_t20/t30: power i2c 100 khz limitationMarcel Ziswiler
At least the LM95245 temperature sensor is only supposed to be run at a speed of 100 KHz. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30apalis/colibri_t30: snapd squashfs configurationColibri-T30_LXDE-Image_2.7b3-20170630Colibri-T20_LXDE-Image_2.7b3-20170630Apalis-T30_LXDE-Image_2.7b3-20170630Marcel Ziswiler
Prepare for snapd integration. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30apalis_t30: pinmux: enable internal pull-up on mxm3 pin 37Marcel Ziswiler
While MXM3 pin 37 aka WAKE1_MICO is pulled up with 4.7 K on the Apalis Evaluation board and 100 K on the Ixora carrier board a custom carrier board may leave it floating which may cause an unintended high interrupt load on the default wake-up key with which may cause a lower CPU performance. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30colibri_t30: pinmux: enable internal pull-down on sodimm pin 45Bhuvanchandra DV
While SODIMM pin 45 is pulled down with 100 K on the Colibri Evaluation board it is currently left floating on the Iris carrier board. This can cause an unintended high interrupt load on the default power-key with wake-up capabilities which can cause a lower CPU performance. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-30colibri_t30: add warning message before reaching critical temperatureBhuvanchandra DV
Print log message before module (local) or SoC (remote) is reaching critical shutdown temperature nT_CRIT as the LM95245 temperature sensor's OVERT_N pin is directly connected to PMIC PWRDN. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-30apalis_t30: add warning message before reaching critical temperatureBhuvanchandra DV
Print log message before module (local) or SoC (remote) is reaching critical shutdown temperature nT_CRIT as the LM95245 temperature sensor's OVERT_N pin is directly connected to PMIC PWRDN. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-30apalis/colibri_t30: clean-up thermal throttlingMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30iio: adc: fix number of channels when not using TS blockStefan Agner
The number of channels registered when not using the touchscreen block has been wrong. This did not allow to access all channels in case where touchscreen is not used. By default Apalis and Colibri T30 do use the touchscreen block, so the bug has not affected the products when used with default platform data. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-30apalis/colibri_t30: drop TPS65910 driver in favour of TPS6591X oneMarcel Ziswiler
Rather than the TPS65910 driver the TPS6591X one is in use and to avoid any confusion we drop the former completely. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-03-31colibri_t20: Register soc deviceColibri-T30_LXDE-Image_2.7b2-20170410Colibri-T20_LXDE-Image_2.7b2-20170410Apalis-T30_LXDE-Image_2.7b2-20170410Bhuvanchandra DV
Register SOC device to expose the SoC UID information via soc_sys Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-31colibri_t30: Register soc deviceBhuvanchandra DV
Register SOC device to expose the SoC UID information via soc_sys Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-31apalis_t30: Register soc deviceBhuvanchandra DV
Register SOC device to expose the SoC UID information via soc_sys Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-31arm: tegra: soc: Use sys_soc to expose SoC UIDBhuvanchandra DV
Use the standard sys_soc interface to expose the SoC UID information. e.g. ~# cat /sys/bus/soc/devices/soc0/machine NVIDIA Tegra ~# cat /sys/bus/soc/devices/soc0/family NVIDIA Tegra30 ~# cat /sys/bus/soc/devices/soc0/revision A03 ~# cat /sys/bus/soc/devices/soc0/soc_id 98317451306464792 Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-31drivers/base: fix compiler warning in SoC export driver - idr should be idaLee Jones
This fixes: note: expected ‘struct ida *’ but argument is of type ‘struct idr *’ warning: passing argument 1 of ‘ida_pre_get’ from incompatible pointer type Reported-by: Arnd Bergman <arnd@arndb.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 3a4ffe930a2d2dad07604fe74d21b878decc6461)
2017-03-31drivers/base: add bus for System-on-Chip devicesLee Jones
Traditionally, any System-on-Chip based platform creates a flat list of platform_devices directly under /sys/devices/platform. In order to give these some better structure, this introduces a new bus type for soc_devices that are registered with the new soc_device_register() function. All devices that are on the same chip should then be registered as child devices of the soc device. The soc bus also exports a few standardised device attributes which allow user space to query the specific type of soc. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 74d1d82cdaaec727f5072eb1c9f49b7e920e076f)
2017-03-31colibri_t20: hack: prevent boot lock-up if hdmi is not connectedMarcel Ziswiler
Hack to prevent boot lock-up if HDMI is not connected. This has been observed on recent T20 SoC production lots produced some when after mid 2015. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-03-31crypto: add CMAC support to CryptoAPIJussi Kivilinna
Patch adds support for NIST recommended block cipher mode CMAC to CryptoAPI. This work is based on Tom St Denis' earlier patch, http://marc.info/?l=linux-crypto-vger&m=135877306305466&w=2 Cc: Tom St Denis <tstdenis@elliptictech.com> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 93b5e86a6d13c5dec18c6611933fb38d7d80f0d2)
2017-03-31mmc: core: add eMMC hardware reset supportAdrian Hunter
eMMC's may have a hardware reset line. This patch provides a host controller operation to implement hardware reset and a function to reset and reinitialize the card. Also, for MMC, the reset is always performed before initialization. The host must set the new host capability MMC_CAP_HW_RESET to enable hardware reset. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> (cherry picked from commit b2499518b5ad7e28bb3ed348fd3f370eeb1e36c0)
2017-01-11apalis/colibri_t20/t30: disable ext4 configurationColibri_T30_LinuxImageV2.7Beta1_20170112Colibri_T20_LinuxImageV2.7Beta1_20170112Apalis_T30_LinuxImageV2.7Beta1_20170112Marcel Ziswiler
As ext4 is known to cause issues on that ancient NVIDIA L4T kernel just disable it in favour of ext3 which is known to be working fine. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11apalis_t30: fix pcie clock and reset not conforming to specificationMarcel Ziswiler
Fix PCIe clock and reset not conforming to specification by moving PCIe reset handling including the PLX PEX 8605 errata 5 workaround from the board platform data into the right places timing wise in the PCIe driver itself. Also add a kernel command line argument to allow using the Apalis GPIO7 as a regular GPIO rather than for above mentioned PLX PEX 8605 workaround: pex_perst=0 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11apalis/colibri_t20/t30: configure IPv6 SIT driver as moduleStefan Agner
SIT tunnels (IPv6 over IPv4) are not often used hence configure the driver as a module. This also gets rid of the extra network interface sit0 by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29apalis/colibri_t30: pull-down multiplexed camera input pins saves 100mWColibri_T30_LinuxImageV2.6.1Beta1_20160929Colibri_T20_LinuxImageV2.6.1Beta1_20160929Apalis_T30_LinuxImageV2.6.1Beta1_20160929Marcel Ziswiler
Floating pins towards the camera input level-shifter cause it to consume at least 100mW of power even in idle. This patch fixes this by configuring pull-downs on all multiplexed camera input pins. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29colibri_t20: fix gcc-6 compilationMarcel Ziswiler
arch/arm/mach-tegra/board-colibri_t20.c:668:43: error: 'i2c2_ddc' defined but not used [-Werror=unused-const-variable=] static const struct tegra_pingroup_config i2c2_ddc = { ^~~~~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29asoc: tegra: fix gcc-6 compilationMarcel Ziswiler
sound/soc/tegra/tegra30_dam.c: In function 'tegra30_dam_probe': sound/soc/tegra/tegra30_dam.c:620:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if ((i == TEGRA30_DAM_CTRL_RSVD_6) || ^~ sound/soc/tegra/tegra30_dam.c:624:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' dam->reg_cache[i] = ^~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29video: tegra: dsi: fix gcc-6 compilationMarcel Ziswiler
drivers/video/tegra/dc/dsi.c: In function 'tegra_dsi_read_fifo': drivers/video/tegra/dc/dsi.c:2515:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (rd_fifo_cnt << 2 > DSI_READ_FIFO_DEPTH) ^~ drivers/video/tegra/dc/dsi.c:2518:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' break; ^~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29compiler-gcc: disable -ftracer for __noclone functionsPaolo Bonzini
commit 95272c29378ee7dc15f43fa2758cb28a5913a06d upstream. -ftracer can duplicate asm blocks causing compilation to fail in noclone functions. For example, KVM declares a global variable in an asm like asm("2: ... \n .pushsection data \n .global vmx_return \n vmx_return: .long 2b"); and -ftracer causes a double declaration. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Marek <mmarek@suse.cz> Cc: stable@vger.kernel.org Cc: kvm@vger.kernel.org Reported-by: Linda Walsh <lkml@tlinx.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Willy Tarreau <w@1wt.eu> (cherry picked from commit 5d814ad8d35e5e23e0c27fb0f0b80c1044ecefad)
2016-09-29compiler-gcc: integrate the various compiler-gcc[345].h filesJoe Perches
commit cb984d101b30eb7478d32df56a0023e4603cba7f upstream. As gcc major version numbers are going to advance rather rapidly in the future, there's no real value in separate files for each compiler version. Deduplicate some of the macros #defined in each file too. Neaten comments using normal kernel commenting style. Signed-off-by: Joe Perches <joe@perches.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Segher Boessenkool <segher@kernel.crashing.org> Cc: Sasha Levin <levinsasha928@gmail.com> Cc: Anton Blanchard <anton@samba.org> Cc: Alan Modra <amodra@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> [ philm: backport to 3.10-stable ] Signed-off-by: Philip Müller <philm@manjaro.org> Signed-off-by: Willy Tarreau <w@1wt.eu> (cherry picked from commit a4a4f1cd733fe5b345db4e8cc19bb8868d562a8a)
2016-09-29compiler-gcc.h: Add gcc-recommended GCC_VERSION macroDaniel Santos
Throughout compiler*.h, many version checks are made. These can be simplified by using the macro that gcc's documentation recommends. However, my primary reason for adding this is that I need bug-check macros that are enabled at certain gcc versions and it's cleaner to use this macro than the tradition method: #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ => 2) If you add patch level, it gets this ugly: #if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 2 || \ __GNUC_MINOR__ == 2 __GNUC_PATCHLEVEL__ >= 1)) As opposed to: #if GCC_VERSION >= 40201 While having separate headers for gcc 3 & 4 eliminates some of this verbosity, they can still be cleaned up by this. See also: http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html Signed-off-by: Daniel Santos <daniel.santos@pobox.com> Acked-by: Borislav Petkov <bp@alien8.de> Acked-by: David Rientjes <rientjes@google.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Joe Perches <joe@perches.com> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 3f3f8d2f48acfd8ed3b8e6b7377935da57b27b16)
2016-09-29ftrace: Make all inline tags also include notraceSteven Rostedt
Commit 5963e317b1e9d2a ("ftrace/x86: Do not change stacks in DEBUG when calling lockdep") prevented lockdep calls from the int3 breakpoint handler from reseting the stack if a function that was called was in the process of being converted for tracing and had a breakpoint on it. The idea is, before calling the lockdep code, do a load_idt() to the special IDT that kept the breakpoint stack from reseting. This worked well as a quick fix for this kernel release, until a certain config caused a lockup in the function tracer start up tests. Investigating it, I found that the load_idt that was used to prevent the int3 from changing stacks was itself being traced! Even though the config had CONFIG_OPTIMIZE_INLINING disabled, and all 'inline' tags were set to always inline, there were still cases that it did not inline! This was caused by CONFIG_PARAVIRT_GUEST, where it would add a pointer to the native_load_idt() which made that function to be traced. Commit 45959ee7aa645815a ("ftrace: Do not function trace inlined functions") only touched the 'inline' tags when CONFIG_OPMITIZE_INLINING was enabled. PARAVIRT_GUEST shows that this was not enough and we need to also mark always_inline with notrace as well. Reported-by: Fengguang Wu <wfg@linux.intel.com> Tested-by: Fengguang Wu <wfg@linux.intel.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> (cherry picked from commit 93b3cca1ccd30b1ad290951a3fc7c10c73db7313)
2016-09-29ftrace: Do not function trace inlined functionsSteven Rostedt
When gcc inlines a function, it does not mark it with the mcount prologue, which in turn means that inlined functions are not traced by the function tracer. But if CONFIG_OPTIMIZE_INLINING is set, then gcc is allowed not to inline a function that is marked inline. Depending on the options and the compiler, a function may or may not be traced by the function tracer, depending on whether gcc decides to inline a function or not. This has caused several problems in the pass becaues gcc is not always consistent with what it decides to inline between different gcc versions. Some places should not be traced (like paravirt native_* functions) and these are mostly marked as inline. When gcc decides not to inline the function, and if that function should not be traced, then the ftrace function tracer will suddenly break when it use to work fine. This becomes even harder to debug when different versions of gcc will not inline that function, making the same kernel and config work for some gcc versions and not work for others. By making all functions marked inline to not be traced will remove the ambiguity that gcc adds when it comes to tracing functions marked inline. All gcc versions will be consistent with what functions are traced and having volatile working code will be removed. Note, only the inline macro when CONFIG_OPTIMIZE_INLINING is set needs to have notrace added, as the attribute __always_inline will force the function to be inlined and then not traced. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> (cherry picked from commit 45959ee7aa645815a5ce303a0ea1e48a21e67c6a)
2016-09-29tegra: HDMI allow more aspect ratiosDominik Sliwa
When connected display EDID presents aspect ratio that is in valid range, but it's not in a table of valid ratios accept it with a warning message. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-09-29tegra: Fix unsupported HDMI screen crashDominik Sliwa
Connecting unsuported screen to HDMI resulted in kernel panic. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-27apalis/colibri_t30: disable tps62362 pull-downs, use vdd_core set 0Colibri_T30_LinuxImageV2.6Beta2_20160701Colibri_T20_LinuxImageV2.6Beta2_20160701Apalis_T30_LinuxImageV2.6Beta2_20160701Marcel Ziswiler
TPS62362: - disable all internal pull-down resistors to decrease (RTC battery) current consumption - make sure we use VDD_CORE set point 0 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-27apalis/colibri_t30: initialise tps65911 gpiosMarcel Ziswiler
Initialise TPS65911 GPIOs: - disable internal pull-down resistors to decrease (RTC battery) current consumption - output 0 during sleep state on GPIO2 (EN_VDD_CORE) and GPIO6 (EN_VDD_HDMI) While at it also remove some obsolete includes, update some comments, fix some indenting and FIXED_REG resp. GPIO_REG ids. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-22apalis_t30: allow for setting vi level-shifter directionMarcel Ziswiler
Allow for setting the direction of the VI pins' level-shifter. Do not tri-state those pins' output driver in order to be able to actually output any values as well. Default to direction input and update comments accordingly. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22apalis_t30: enable 24 mhz cam1_mclk aka vi_sensor clockMarcel Ziswiler
Enable a static 24 MHz camera clock on CAM1_MCLK suitable for e.g. ov5640, ov7670soc or the like. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22arm: smp: sched: clean-up and silence cpu hot-plugging debugMarcel Ziswiler
Clean-up and silence those annoying CPU hot-plugging debug messages. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22mmc: sdhci: handle command timeout after transfer complete interruptNicolas Serafini
On a tegra3 platform with Hynix eMMC we can observe that sometimes we receive a command timeout after a transfer complete interrupt on a multiple block read request. Here is the output using MMC_DEBUG and ftrace. When it works: tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 0 enabled=1 tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 52000000 enabled=0 __mmc_start_req: mmc0: starting CMD18 arg 00a73044 flags 000000b5 __mmc_start_req: mmc0: blksz 512 blocks 2 flags 00000200 tsac 150 ms nsac 1000 __mmc_start_req: mmc0: CMD12 arg 00000000 flags 0000049d sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 sdhci_finish_command: sdhci_finish_command:1075 sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002 sdhci_tasklet_finish: sdhci_tasklet_finish:2064 When we have the error: tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 0 enabled=1 tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 52000000 enabled=0 __mmc_start_req: mmc0: starting CMD18 arg 00a63d12 flags 000000b5 __mmc_start_req: mmc0: blksz 512 blocks 2 flags 00000200 tsac 150 ms nsac 1000 __mmc_start_req: mmc0: CMD12 arg 00000000 flags 0000049d sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 sdhci_finish_command: sdhci_finish_command:1075 sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000 ------NOW THE REQUEST BLOCK UNTIL TIMEOUT------ We can see that when it works the multiple read blocks command stopped by the CMD12 receive two interrupts. The first is the Transfer complete interrupt (SDHCI_INT_RESPONSE) and just after the Block Gap Event interrupt (SDHCI_INT_DATA_END). In this case the command is finished and the data is finished too. In the bad case instead of receiving SDHCI_INT_DATA_END we receive a command timeout error (SDHCI_INT_TIMEOUT) but command was already finished by the SDHCI_INT_RESPONSE so not more command is waiting and the driver wait until the timeout timer end because this case is not managed. Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22mmc: host: sdhci: fix suspend/resume issueMarcel Ziswiler
This fixes the following eMMC suspend/resume issue as seen on Colibri T30 1GB IT V1.1A: [ 75.479664] mmcblk0: error -110 transferring data, sector 287240, nr 2, cmd response 0x900, card status 0xc00 [ 75.580923] end_request: I/O error, dev mmcblk0, sector 287240 [ 75.586782] Buffer I/O error on device mmcblk0p2, logical block 123140 [ 75.593313] lost page write due to I/O error on mmcblk0p2 (fixes an issue probably caused by a merge conflict introduced by commit 7f7b042a978edfc6c7d1e14ec9c6ec01ffcc284b) Signed-off-by: Mirza Krak <mirza.krak@hostmobility.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22apalis_t30: v4l2: Epson S2D13P04 integrationBhuvanChandra.DV
Integrate Epson S2D13P04 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>