android_kernel_oneplus_msm8998/arch/arm
Krzysztof Kozlowski ec11720446 ARM: dts: exynos: Do not ignore real-world fuse values for thermal zone 0 on Exynos5420
commit 28928a3ce142b2e4e5a7a0f067cefb41a3d2c3f9 upstream.

In Odroid XU3 Lite board, the temperature levels reported for thermal
zone 0 were weird. In warm room:
	/sys/class/thermal/thermal_zone0/temp:32000
	/sys/class/thermal/thermal_zone1/temp:51000
	/sys/class/thermal/thermal_zone2/temp:55000
	/sys/class/thermal/thermal_zone3/temp:54000
	/sys/class/thermal/thermal_zone4/temp:51000

Sometimes after booting the value was even equal to ambient temperature
which is highly unlikely to be a real temperature of sensor in SoC.

The thermal sensor's calibration (trimming) is based on fused values.
In case of the board above, the fused values are: 35, 52, 43, 58 and 43
(corresponding to each TMU device).  However driver defined a minimum value
for fused data as 40 and for smaller values it was using a hard-coded 55
instead.  This lead to mapping data from sensor to wrong temperatures
for thermal zone 0.

Various vendor 3.10 trees (Hardkernel's based on Samsung LSI, Artik 10)
do not impose any limits on fused values.  Since we do not have any
knowledge about these limits, use 0 as a minimum accepted fused value.
This should essentially allow accepting any reasonable fused value thus
behaving like vendor driver.

The exynos5420-tmu-sensor-conf.dtsi is copied directly from existing
exynos4412 with one change - the samsung,tmu_min_efuse_value.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-23 08:44:28 +01:00
..
boot ARM: dts: exynos: Do not ignore real-world fuse values for thermal zone 0 on Exynos5420 2019-03-23 08:44:28 +01:00
common ARM: sa1111: fix pcmcia suspend/resume 2016-10-07 15:23:44 +02:00
configs Revert "ARM: imx_v6_v7_defconfig: Select ULPI support" 2018-09-15 09:40:40 +02:00
crypto arm: crypto: reduce priority of bit-sliced AES cipher 2017-11-21 09:21:18 +01:00
firmware
include irqchip/gic-v3: Add missing barrier to 32bit version of gic_read_iar() 2018-09-15 09:40:41 +02:00
kernel ARM: 8808/1: kexec:offline panic_smp_self_stop CPU 2019-02-20 10:13:04 +01:00
kvm KVM: arm/arm64: Fix MMIO emulation data handling 2019-03-23 08:44:20 +01:00
lib ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions 2018-05-26 08:48:57 +02:00
mach-alpine
mach-asm9260
mach-at91 ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-axxia
mach-bcm ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-berlin
mach-clps711x
mach-cns3xxx ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment 2019-02-06 19:43:07 +01:00
mach-davinci ARM: davinci: da8xx: Create DSP device only when assigned memory 2018-04-13 19:50:09 +02:00
mach-digicolor
mach-dove ARM: dove: Fix legacy get_irqnr_and_base 2015-11-25 14:59:12 +00:00
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: exynos: Clear global variable on init error path 2018-09-26 08:35:06 +02:00
mach-footbridge
mach-gemini ARM: gemini: remove unnecessary mdio-gpio includes 2015-10-21 19:50:43 -07:00
mach-highbank
mach-hisi ARM: hisi: check of_iomap and fix missing of_node_put 2018-09-26 08:35:09 +02:00
mach-imx ARM: imx: update the cpu power up timing setting on i.mx6sx 2019-01-13 10:05:31 +01:00
mach-integrator gpio: pl061: handle failed allocations 2019-02-20 10:13:21 +01:00
mach-iop13xx
mach-iop32x ARM: iop32x/n2100: fix PCI IRQ mapping 2019-02-20 10:13:19 +01:00
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix read{b,w,l} return types 2015-12-01 23:45:30 +01:00
mach-keystone
mach-ks8695
mach-lpc18xx
mach-lpc32xx
mach-mediatek ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0
mach-mvebu ARM: mvebu: declare asm symbols as character arrays in pmsu.c 2018-10-10 08:52:06 +02:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: OMAP1: ams-delta: Fix possible use of uninitialized field 2018-12-17 21:55:09 +01:00
mach-omap2 ARM: OMAP2+: hwmod: Fix some section annotations 2019-02-20 10:13:05 +01:00
mach-orion5x ARM: orion5x: Fix legacy get_irqnr_and_base 2015-11-25 15:01:00 +00:00
mach-picoxcell
mach-prima2 ARM: prima2: always enable reset controller 2016-05-04 14:48:53 -07:00
mach-pxa ARM: pxa: avoid section mismatch warning 2019-02-20 10:13:09 +01:00
mach-qcom ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-realview net: smc91x: fix SMC accesses 2016-09-30 10:18:37 +02:00
mach-rockchip
mach-rpc
mach-s3c24xx cpufreq: s3c24xx: Do not mark s3c2410_plls_add as __init 2015-11-27 10:10:32 +09:00
mach-s3c64xx ASoC: samsung: pass DMA channels as pointers 2016-04-12 09:08:32 -07:00
mach-s5pv210
mach-sa1100 ARM: sa1100: clear reset status prior to reboot 2016-10-07 15:23:43 +02:00
mach-shmobile ARM: shmobile: fix regulator quirk for Gen2 2016-10-07 15:23:43 +02:00
mach-socfpga ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel 2016-05-11 11:21:14 +02:00
mach-spear ARM: remove duplicate 'const' annotations' 2017-10-08 10:14:20 +02:00
mach-sti
mach-stm32
mach-sunxi ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
mach-tegra ARM: tegra: select USB_ULPI from EHCI rather than platform 2018-02-25 11:03:51 +01:00
mach-u300 spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
mach-uniphier ARM: uniphier: rework SMP operations to use trampoline code 2015-10-27 09:20:53 +09:00
mach-ux500 ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation 2017-01-26 08:23:49 +01:00
mach-versatile
mach-vexpress ARM: Remove __ref on hotplug cpu die path 2015-10-22 09:55:03 -07:00
mach-vt8500
mach-w90x900
mach-zx ARM: zx: only build power domain code when CONFIG_PM=y 2015-11-19 16:16:45 +01:00
mach-zynq ARM: zynq: Reserve correct amount of non-DMA RAM 2017-01-15 13:41:36 +01:00
mm ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling 2018-12-21 14:09:53 +01:00
net ARM: net: bpf: fix zero right shift 2016-01-06 01:32:09 -05:00
nwfpe
oprofile
plat-iop
plat-omap ARM: OMAP: Fix dmtimer init for omap1 2018-05-30 07:49:00 +02:00
plat-orion
plat-pxa ARM: pxa: ssp: unneeded to free devm_ allocated data 2019-03-23 08:44:27 +01:00
plat-samsung ASoC: samsung: pass DMA channels as pointers 2016-04-12 09:08:32 -07:00
plat-versatile
probes ARM: 8770/1: kprobes: Prohibit probing on optimized_callback 2018-05-26 08:48:57 +02:00
tools
vdso ARM: 8449/1: fix bug in vdsomunge swab32 macro 2015-10-29 15:20:15 +00:00
vfp
xen swiotlb-xen: implement xen_swiotlb_dma_mmap callback 2017-10-05 09:41:48 +02:00
Kconfig ARM: 8454/1: OF implies OF_FLATTREE 2015-11-28 23:26:12 +00:00
Kconfig-nommu ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM 2017-10-08 10:14:17 +02:00
Kconfig.debug ARM: debug-ll: fix BCM63xx entry for multiplatform 2016-03-03 15:07:08 -08:00
Makefile