summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2017-06-30apalis-tk1: snapd squashfs configurationApalis-TK1_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-tk1: improve spi2 clocking aka for k20Marcel Ziswiler
Change SPI2 clock parent to clk_m being 12 MHz which is anyway the maximum frequency the K20 micro controller's SPI peripheral can be run. This further allows for the EzPort to be run at exactly 2 MHz which is the maximum allowed as well. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30apalis-tk1: add multitouch hid supportStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 15e73283a975a1b899d7f6807aa882ef885573dd) Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-06-30apalis-tk1-k20: can and spi improvementsDominik Sliwa
This patch includes CAN driver and improvements in SPI communications for Apalis TK1 k20 based MFD. Requires firmware version 0.9. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-10apalis-tk1: default to lp1 sleepApalis-TK1_LXDE-Image_2.7b2-20170410Dominik Sliwa
Due to problems with LP0 sleep, make LP1 the default option. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04apalis-tk1: video: use new modedb based settingsBhuvanchandra DV
Use modedb to set mode on Apalis TK1 frame buffer/display controller. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04tegra: video: use modedb to specify frame buffer resolutionBhuvanchandra DV
Allow to specify framebuffer videomode using kernel command line parameters. NVIDIAs binary X driver later on picks up those settings and start X with current mode settings, if no EDID data are available. Reused some of the implementation from Stefan's work for modedb support[1] on Tegra20/30 [1] http://git.toradex.com/cgit/linux-toradex.git/commit/?h=tegra-next&id=1d3625dd9903bcc59e2df56836565ebb682948c1 Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04apalis-tk1: use soc uid insteadBhuvanchandra DV
Instead of providing revision, SKU and PID information via soc_id pass SoC's unique ID. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04media: ov5640: set continuous clock for all modesWojciech Bieganski
Signed-off-by: Wojciech Bieganski <wbieganski@antmicro.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04media: tegra_camera: add continuous clk supportWojciech Bieganski
Signed-off-by: Wojciech Bieganski <wbieganski@antmicro.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04media: three csi2 inputs: tc378743 (csia/b), adv7280m (csie)Wojciech Bieganski
Signed-off-by: Wojciech Bieganski <wbieganski@antmicro.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04apalis-tk1: add wake-on-lan gpioDominik Sliwa
Configure GPIO connected to i210 wake-up pin as a wake-up source in the device tree. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04apalis-tk1: fix lp1 sleepDominik Sliwa
Fix suspend and resume for LP1 sleep. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-04-04apalis-tk1: fix cpu and gpu thermal throttlingMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2017-04-04apalis-tk1: fix sdio freezeDominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-11apalis_tk1: Support for K20 based MFDApalis_TK1_LinuxImageV2.7Beta1_20170112Dominik Sliwa
On Apalis TK1 boards K20 MCU is used for CAN, GPIO, ADC and touch screen. This patch includes support for core MFD device, GPIO, ADC and touch screen. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-11apalis-tk1: support i2c rtcMarcel Ziswiler
Integrate support for the carrier board level I2C RTC. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21mmc: tegra: apalis-tk1: no longer do card detect polling on v1.1 hwApalis_TK1_LinuxImageV2.6.1Beta2_20161122Marcel Ziswiler
Now with the working card detect pin in place on the latest V1.1 HW polling is no longer required. Therefore make it an optional define for V1.0 samples. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: working sd card detect on v1.1 hwMarcel Ziswiler
Add sd card detect SD1_CD# applicable for V1.1 modules using GPIO_PV2. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: adjust pin muxing for v1.1 hwMarcel Ziswiler
Configure Apalis MMC1 D6 GPIO on SDMMC3_CLK_LB_IN as reserved function without any pull-up/down. Configure GPIO_PV2 as SD1_CD# according to latest V1.1 HW. Leave SDMMC3_CLK_LB_OUT muxed as SDMMC3 with output driver enabled aka not tristated and input driver enabled as well as it features some magic properties even though the external loopback is disabled and the internal loopback used as per SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits being set to 0xfffd according to the TRM! This pin is now a not-connect on V1.1 HW in order to avoid any interference. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: temp alert pull-upMarcel Ziswiler
Pull-up GPIO_PI6 connected to TMP451's ALERT#/THERM2#. While at it improve some comments. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: 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: Dominik Sliwa <dominik.sliwa@toradex.com> (cherry picked from tegra-next commit a2f63805703b43d55d91ae17f10d0049bf0f625e)
2016-11-21apalis-tk1: 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: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-11-21apalis-tk1: integrate adv7280-m, ap1302, ov5640 and tc358743 supportMarcel Ziswiler
Integrate SoC camera support for the following CSI-2 codecs/sensors: - Analog Devices ADV7280-M, analog camera decoder with deinterlacer, PAL/NTSC@60fps - ON Semiconductor (formerly Aptina) AP1302 ISP + AR1820 image sensor, 13Mpx, 1080p@30fps - OmniVision OV5640, 5Mpx sensor, 1080p@30fps - Toshiba TC358743 HDMI to CSI-2 bridge, 1080p@60fps Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21media: support for second single-lane decoder (ADV7280M)Wojciech Bieganski
Connected to CSI CIL-E. Cameras doesn't work simultaneously. Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21media: tc358743: update hdmi to csi-2 driverTomasz Gorochowik
A major part of the driver has been rewritten in order to avoid writing binary blobs to the chip. This version also adds support for more video modes. Input video modes supported: - 1920x1080 @ 60 - 1280x1024 @ 75 - 1280x720 @ 60 - 1024x768 @ 75 - 800x600 @ 75 - 640x480 @ 75 Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21ADV7280M video decoder with deinterlacer supportWojciech Bieganski
known issues: - decoder outputs PAL (720x576), but the image looks fine only when streamed in 640x576 mode, - vertical synchronisation glitches, - setting queue-size in gstreamer greater than 1 results in blinking image, - every start of streaming requires reloading of the modules Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21TC358743 HDMI to CSI-2 bridge supportWojciech Bieganski
known issues: - HDMI input works only in 640x480 mode, 720p only in test pattern mode, any 4-lane mode doesn't work - set HDMI transmitter to VGA mode before starting the stream Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21OV5640 camera supportWojciech Bieganski
known issues: - works only in 1080p mode, - vertical synchronisation glitches, - setting queue-size in gstreamer greater than 1 results in blinking image - every start of streaming requires reloading of the modules Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21AP1302 from ON Semiconductor support addedMarcel Ziswiler
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: re-add soc camera platform dataMarcel Ziswiler
Re-add SoC camera platform data from Ardbeg/Jetson TK1 board files. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: integrate optional edp supportMarcel Ziswiler
Integrate optional eDP support (e.g. uncomment define of APALIS_TK1_EDP as found in the platform data header file. Tested using a prototype Apalis TK1 mezzanine connecting to a Samsung LTN156FL02-L01 panel featuring a 4K aka UHD resolution of 3840 by 2160. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: clean-up board platform data header fileMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: clean-up board platform dataMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: clean-up defconfigMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: select dp pinmux function for dp_hpdMarcel Ziswiler
Select dp pinmux function for Apalis GPIO2 aka DP_HPD to allow it to be used as eDP hot-plug detect. From user space customer may still configure and use it as a regular GPIO if desired. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: remove gpio functionality from dp_hpd and gpio_pff2 pinsMarcel Ziswiler
Remove default GPIO functionality from Apalis GPIO1 aka GPIO_PFF2 and Apalis GPIO2 aka DP_HPD as if later trying to use resp. pins as special function (e.g. the former for eDP hot-plug detect and the later for SATA data activity) there is currently no sane way of removing the GPIO functionality again. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis-tk1: add comment concerning ssp1 on usb2p0 functionality being tbdMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-11-21apalis_tk1: Enable UART4Dominik Sliwa
Uncomment UART4 device tree node and enable support in machfile Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-11-21apalis-tk1: fix cl-dvfs and soctherm to unlock full performanceMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-09-29arm: tegra: ardbeg: fix gcc-6 compilationMarcel Ziswiler
arch/arm/mach-tegra/board-ardbeg.c: In function 'ardbeg_touch_init': arch/arm/mach-tegra/board-ardbeg.c:1159:6: error: this 'else' clause does not guard... [-Werror=misleading-indentation] } else ^~~~ arch/arm/mach-tegra/board-ardbeg.c:1161:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else' rm31080a_ardbeg_spi_board[0].irq = ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm/mach-tegra/board-ardbeg.c: In function 'tegra_ardbeg_late_init': arch/arm/mach-tegra/board-ardbeg.c:1470:2: error: this 'else' clause does not guard... [-Werror=misleading-indentation] else ^~~~ arch/arm/mach-tegra/board-ardbeg.c:1474:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else' tegra_io_dpd_enable(&pexbias_io); ^~~~~~~~~~~~~~~~~~~ At top level: arch/arm/mach-tegra/board-ardbeg.c:1608:27: error: 'loki_dt_board_compat' defined but not used [-Werror=unused-const-variable=] static const char * const loki_dt_board_compat[] = { ^~~~~~~~~~~~~~~~~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29apalis_tk1: Optimized RAM settingDominik Sliwa
Optimized DVFS table for Apalis TK1 boards. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-29arm: tegra: initial support for apalis tk1Apalis_TK1_LinuxImageV2.6Beta2_20160701Marcel Ziswiler
This patch adds support for the Toradex Apalis TK1 acomputer on module which can be used on different carrier boards. The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec. Furthermore, there is a Kinetis MK20DN512 companion micro controller for analogue, CAN and resistive touch functionality which is not yet supported. This is known to boot into either a basic Angstrom/OpenEmbedded/Yocto or L4T/JetPack Ubuntu based image. The following things are known to work to a certain extend: - analogue/digital audio - debug UART1 - DVFS power management incl. low power core migration - eMMC - gigabit Ethernet - GPIOs - HDMI (incl. HDA audio) - I2C - LVDS - PCIe - SATA - SD/MMC cards - temperature sensor - USB host ports The rest is untested. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-29apalis-tk1: fix backlight pwm and add 800x600 and 1024x600 lvds timingsMarcel Ziswiler
Fix the backlight PWM instance used and add 800x600 and 1024x600 LVDS panel timings. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-29tegra: fix dvfs gcc 5.2 build errorMarcel Ziswiler
This fixes the following GCC 5.2 built time error: arch/arm/mach-tegra/tegra_cl_dvfs.c: In function 'monitor_get': arch/arm/mach-tegra/tegra_cl_dvfs.c:372:8: error: 'v' may be used uninitialized in this function [-Werror=maybe-uninitialized] *data &= CL_DVFS_MONITOR_DATA_MASK; ^ arch/arm/mach-tegra/tegra_cl_dvfs.c:2949:6: note: 'v' was declared here u32 v, s; ^ arch/arm/mach-tegra/tegra_cl_dvfs.c: In function 'cl_dvfs_calibrate': arch/arm/mach-tegra/tegra_cl_dvfs.c:372:8: error: 'data' may be used uninitialized in this function [-Werror=maybe-uninitialized] *data &= CL_DVFS_MONITOR_DATA_MASK; ^ arch/arm/mach-tegra/tegra_cl_dvfs.c:902:11: note: 'data' was declared here u32 val, data; ^ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-29tegra12_clocks.c: fix unusual comparisionMax Krummenacher
newer compilers throw the following error: arch/arm/mach-tegra/tegra12_clocks.c: In function 'tegra12_cpu_clk_init': arch/arm/mach-tegra/tegra12_clocks.c:1334:31: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] c->state = (!is_lp_cluster() == (c->u.cpu.mode == MODE_G))? ON : OFF; Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-29ARM: 8429/1: disable GCC SRA optimizationArd Biesheuvel
While working on the 32-bit ARM port of UEFI, I noticed a strange corruption in the kernel log. The following snprintf() statement (in drivers/firmware/efi/efi.c:efi_md_typeattr_format()) snprintf(pos, size, "|%3s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]", was producing the following output in the log: | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | | | | |UC] |RUN| | | | | | | |UC] As it turns out, this is caused by incorrect code being emitted for the string() function in lib/vsprintf.c. The following code if (!(spec.flags & LEFT)) { while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } } for (i = 0; i < len; ++i) { if (buf < end) *buf = *s; ++buf; ++s; } while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } when called with len == 0, triggers an issue in the GCC SRA optimization pass (Scalar Replacement of Aggregates), which handles promotion of signed struct members incorrectly. This is a known but as yet unresolved issue. (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932). In this particular case, it is causing the second while loop to be executed erroneously a single time, causing the additional space characters to be printed. So disable the optimization by passing -fno-ipa-sra. Cc: <stable@vger.kernel.org> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit a077224fd35b2f7fbc93f14cf67074fc792fbac2)
2016-06-29ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.hBehan Webster
With compilers which follow the C99 standard (like modern versions of gcc and clang), "extern inline" does the wrong thing (emits code for an externally linkable version of the inline function). In this case using static inline and removing the NULL version of return_address in return_address.c does the right thing. Signed-off-by: Behan Webster <behanw@converseincode.com> Reviewed-by: Mark Charlebois <charlebm@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d)
2016-05-16arm: tegra: new dvfs update for aging factorBibek Basu
Following support added DVFS for Gauranteed freq considering aging CPU freq limit at higher temperature EDP max current limits for each SKU Bug 200195229 Change-Id: If00f3fd6b891cf366047dda331bd7ab1c15b40f7 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/1146577 GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2016-05-13arm: tegra: emc dvfs selection based on ddrBibek Basu
select emc evfs table based on DDR present using RAMCODE Bug 200195279 Change-Id: I7fbc693383c9e231b2c2119020eebc7bba544c6e Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/1144528 Reviewed-by: Jimmy Zhang <jimmzhang@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>