Youngmin Nam [Wed, 1 Jul 2015 05:13:52 +0000 (14:13 +0900)]
serial: samsung: Remove unnecessary UART clock en/disable
Change-Id: I305db3b9243f7868e625693aa43e20aade9b7f57
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
Youngmin Nam [Wed, 5 Apr 2017 13:11:47 +0000 (22:11 +0900)]
serial: samsung: Migration from 3.18 based kernel
Change-Id: Id130435177b6c45e526a32d6e1ba715027c4e1da
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
Jaehyoung Choi [Wed, 9 May 2018 11:23:45 +0000 (20:23 +0900)]
[COMMON] pinctrl: samsung: Disable DISPAUD init, suspend/resume
DISPAUD is initialized and suspend/resume independently.
Change-Id: If428ee1fd80c17eca40a38c1b3a861bdc275d6b1
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Tue, 8 May 2018 05:41:58 +0000 (14:41 +0900)]
[COMMON] pinctrl: samsung: Fix 9610 pin bank struct
Change-Id: I21e54a3018482988ebd9c9c8c3f15e3ebc32cc2b
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Sun, 14 Jan 2018 06:48:41 +0000 (15:48 +0900)]
[COMMON] rtc: rtc-s3c: Fix build error for kernel 4.14
Change-Id: I0853f1b233346f3c6f6a11c0888c7acb70fa7741
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Mon, 7 Aug 2017 05:27:10 +0000 (14:27 +0900)]
[COMMON] rtc: rtc-s3c: Initialize BCD register
1) Reset values of BCD registers are undefined.
Therefore, there is no guarantee
that these registers are initialized to BCD values.
Initialize BCD register in RTC probe function
2) BCD year register uses 12bit.
Change-Id: I7ce7fb59db96b5347ff008d5806036b10a8b844f
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Mon, 24 Apr 2017 08:35:09 +0000 (17:35 +0900)]
[9810] rtc-s3c: Add tick count register.
In exynos9810, there is one more tick count register.
TICK register is divided into TICK_0 and TICK_1 to distinguish the new Tick count register.
Change-Id: I2d5ebb72305fb164fc21054a84301ebdc2a41a86
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Kang KyungWoo [Mon, 13 Jun 2016 12:07:13 +0000 (21:07 +0900)]
[COMMON] rtc: samsung: Add disabling clock control with AP rtc
This patch is for disabling clock control for AP RTC.
At exynos8 series, we no longer need to control ap rtc clock due to
clock source has been changed.
Change-Id: I00806873df732937eb41f4db68d5ccf3fcde6a4d
Signed-off-by: Kang KyungWoo <kwoo.kang@samsung.com>
Changki Kim [Fri, 12 Jun 2015 05:03:59 +0000 (14:03 +0900)]
[COMMON] rtc: rtc-s3c: remove need_src_clk flag of s3c6410
Change-Id: I167c5aca5698f79c5b48c96f9edce4fb1e7eaccd
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Jaehyoung Choi [Fri, 12 Jan 2018 13:19:50 +0000 (22:19 +0900)]
[COMMON] iio: adc: exynos_adc: Change idle-ip status sequence
Change-Id: Ie5e6f5a8502be080ccd3a7c241c50436dbaf72cb
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Thu, 7 Sep 2017 07:31:37 +0000 (16:31 +0900)]
[COMMON] iio: adc: exynos_adc: Fix prevent defect
CID: 197183 - Constant variable guards dead code.
Change-Id: Ibdead8ca606d8473257889e5a6bebcda2865885f
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Mon, 17 Apr 2017 12:18:03 +0000 (21:18 +0900)]
[COMMON] driver: exynos_adc: add Semaphore for peterson algorithm.
The peterson algorithm is applied to prevent race condition between CHUB and AP.
Change-Id: Ic9b4790d42bcbe2ab38434a10149b1377dbc45f8
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Kyungwoo Kang [Wed, 12 Apr 2017 07:23:15 +0000 (16:23 +0900)]
[COMMON] adc: exynos_adc: Add a define to distinct from mainline
Change-Id: If23a91af1940700be3317f9503037279c9a5066f
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Kang KyungWoo [Tue, 18 Oct 2016 05:00:55 +0000 (14:00 +0900)]
[COMMON] iio: adc: Extend max channel number.
This patch is for extending max channel from 8 to 12.
Change-Id: Ideae06e06fb42e0adf430a466e3807e3cf2fb9fb
Signed-off-by: Kang KyungWoo <kwoo.kang@samsung.com>
Matthew Leung [Fri, 24 Apr 2015 11:00:17 +0000 (20:00 +0900)]
[COMMON] iio: exynos_adc: add IDLE_IP updates.
Change-Id: I304eb532e6827b504790768514626b00dec4931d
Signed-off-by: Matthew Leung <matt.leung@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Changki Kim [Fri, 3 Jul 2015 07:34:54 +0000 (16:34 +0900)]
[COMMON] iio: exynos_adc: Add ADC v3 for sharing adc
Ap and cp share ADC after J series.
So we add adc v3 for sharing ADC.
Change-Id: I83348bdef114f5bc403f6e37cf324c243768d290
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Hyunki Koo [Thu, 18 Dec 2014 14:03:13 +0000 (23:03 +0900)]
[COMMON] iio: exynos_adc: change ADC_V2_CON2_C_TIME from 0 to 6
This patch change CTIME value from 1 to 64 to reduce measurement deviation.
CTIME means the sampling number of measurement.
Change-Id: Ide0de728ab21f0bd71a705fffb30956929f4e84d
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Changki Kim [Wed, 27 Apr 2016 04:57:57 +0000 (13:57 +0900)]
[COMMON] iio: exynos_adc: Insert enable_irq/disable_irq
If interrupt is handled after clock is disable,
external abort on non-linefetch is occurred.
This patch disable interrupt before disable clock
and enable interrupt after enable clock to avoid external abort.
Change-Id: I028bd20ecd768ee3d2820249ab64dd1aae6b132e
Signed-off-by: Eunki Kim <eunki_kim@samsung.com>
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Changki Kim [Thu, 11 Jun 2015 00:17:26 +0000 (09:17 +0900)]
[COMMON] iio: exynos_adc: Add clock control
Change-Id: I71da0bf59818f76b5b9bf0c03645afbc82f84f79
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
lakkyung.jung [Tue, 27 Aug 2013 10:47:23 +0000 (19:47 +0900)]
[COMMON] iio: exynos_adc: Modified to control adc phy & regulator control.
In case of exynos5430, the register of phy control in PMU was removed.
In the case of a some board, could be performed normally without
controlling regulator.
Change-Id: Idacfe3de2e9e6d705f28092e6bd93b3afb9cc30f
Signed-off-by: lakkyung.jung <lakkyung.jung@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Jaehyoung Choi [Fri, 12 Jan 2018 13:10:15 +0000 (22:10 +0900)]
[COMMON] pwm: pwm-samsung: Change ip_idle_status sequence
ip_idle_status function is used according PM config
Change-Id: I0d7cab11c390fd954b3debda0ab2b8d6bd8473d2
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Wed, 13 Sep 2017 05:33:45 +0000 (14:33 +0900)]
[COMMON] pwm: pwm-samsung: Add debug function
Change-Id: I00624db6019b435c6c5c936cf8b4255d72a6ce59
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 23 Nov 2017 10:06:23 +0000 (19:06 +0900)]
[COMMON] pwm: pwm-samsung: Fix Prevent defect
CID[202165], CID[202131], CID[202076]
Fix Invalid Assignment issue
Change-Id: I73e984c0eff678740ecb41601d493aef26c33b0e
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Fri, 3 Nov 2017 04:59:43 +0000 (13:59 +0900)]
[COMMON] pwm: pwm-samsung: Change clock enable/disable sequence
clk_prepare function uses mutex lock.
If user area use spinlock, kernel panic occured.
Change-Id: I6cdb245d1143a1f82397b4c3b4fee8488c1a3b5b
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Tue, 25 Jul 2017 11:17:40 +0000 (20:17 +0900)]
[COMMON] pwm: pwm-samsung: Initialize PWM Divider, Prescaler.
The reason for initializing PWM Divider and Prescaler is as follows.
- In the past, init function in clk-exynos-pwm.c initialized
Divider and Prescaler, but no longer uses the clk-exynos-pwm.c file.
Therefore, they must be initialized at the time of kernel probe.
- The current bootloader sets the Divider and Prescaler values to use PWM.
After the bootloader finishes, they must be initizlized in kernel.
Change-Id: I9bd0f8e869209380153582bb28a759892ff06ca2
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Changki Kim [Thu, 29 Oct 2015 10:29:57 +0000 (19:29 +0900)]
[COMMON] pwm: pwm-samsung: Add to control sclk
PWM clock source use pclk(66M), sclk(OSC).
The existing base_clk is changed to pclk.
Change-Id: Ib70f0ee25f1ff1c28efc79d1c9733e94086cb263
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Wed, 3 May 2017 13:49:54 +0000 (22:49 +0900)]
[COMMON] pwm-samsung.c: Removed code that used undeclared clocks
I removed the code that used the clocks removed from the previous kernel 4.9 patch.
previous patch commit:
fbab471335f60c1e92fa436b2ea4b1c8addecdd3
Change-Id: I2c4dde391bc889ab2deb2e1068573ac4a7ff47cb
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Kang KyungWoo [Tue, 13 Dec 2016 08:09:44 +0000 (17:09 +0900)]
[COMMON] drivers: pwm: Fix pwm driver to save and restore.
This patch is for fixing pwm driver which influences pwm malfunction
after suspend & resume funtcion.
Checking Enable count is originally for LPA mode which is not
exist anymore.
Change-Id: I330362bdd10af00f15761cd9dc7613b21d107d35
Signed-off-by: Kang KyungWoo <kwoo.kang@samsung.com>
Changki Kim [Wed, 22 Apr 2015 06:09:12 +0000 (15:09 +0900)]
[COMMON] pwm: samsung: Add to update idle status register.
Clk rate value is assigned when clk_get_rate is used in virtual clk.
So we must calculate rate after get rate of pclk_pwm.
Change-Id: Ifccf67b7feb73aa4188b1ebdbef83da64707174f
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
eunki.kim [Mon, 23 Sep 2013 05:24:41 +0000 (14:24 +0900)]
[COMMON] pwm: samsung: support 0% and 100% duty cycle
PWM generates a pulse within a specific period repeatedly.
However, some drivers require duty cycle 0% or 100% to PWM. This
patch supports them on S3C64XX and EXYNOS series only. It does not
support them on S3C24XX series.
100% duty cycle: TCMPB >= TCNTB, invert set
0% duty cycle: clear auto-reload
Change-Id: I5ad41f60d848c054f54581fe70e3fcc93e2efbfa
Signed-off-by: eunki.kim <eunki_kim@samsung.com>
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Jaehyoung Choi [Thu, 14 Sep 2017 08:55:52 +0000 (17:55 +0900)]
[COMMON] watchdog: Add watchdog reset confirm function.
Currently mainline code does not support functions
to check whether watchdog works in real time.
The reset_confirm function checks
whether the watchdog timer actually generates a reset.
Change-Id: I569ab2f910b63160753838801d3c0b03f5a1a46d
Signed-off-by: Jaehyoung Choi <jkkkkk.choi@samsung.com>
Choi Jaehyoung [Thu, 7 Sep 2017 05:01:16 +0000 (14:01 +0900)]
[COMMON] watchdog: s3c_2410_wdt: Fix prevent defect.
CID: 197431 - Pointer to local outside scope.
Change-Id: I64b39e2d0660e6a51611e4ebe1c01f1fc45b4e86
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Hosung Kim [Fri, 26 May 2017 06:36:16 +0000 (15:36 +0900)]
[COMMON] watchdog: s3c2410_wdt: fix panic handler owner to cluster 0
This patch fixes to assign panic handler to cluster 1.
only cluster 0 should run emergency reset.
Change-Id: I569624baec898c5a52cd3e3672383de3e64f1f09
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Choi Jaehyoung [Tue, 16 May 2017 03:59:22 +0000 (12:59 +0900)]
[COMMON] watchdog: s3c2410_wdt: Snapshot can control two watchdogs
Watchdog driver code should support Snapshot to control Cluster0, Cluster1 watchdog.
Change-Id: Ide10db8d6af6587d3c20b6ac6728446ff88e104d
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Changki Kim [Mon, 6 Mar 2017 05:42:41 +0000 (14:42 +0900)]
[COMMON] watchdog: s3c2410_wdt: Only watchdog kicking for suspend
When the system is stuck, it must be reset.
This patch gurantees the reset before entering the suspend.
Change-Id: Ic31244748fc9e8232faa7837e7bbb9ed7c52f209
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Changki Kim [Fri, 3 Mar 2017 05:37:33 +0000 (14:37 +0900)]
[COMMON] watchdog: s3c2410_wdt: Change device to syscore PM function
Change-Id: Id3a35873afe3222f817ef56123b9cd8d6862df1d
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Hyunki Koo [Tue, 14 Feb 2017 08:03:05 +0000 (00:03 -0800)]
[COMMON] watchdog: s3c2410_wdt: change function to inline type
Change-Id: I5014b3266b2681e896bc371c7f467e791f68056b
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Changki Kim [Tue, 17 Jan 2017 01:29:24 +0000 (10:29 +0900)]
[COMMON] watchdog: s3c2410_wdt: Change to get clock freq
If cpu lockup is occured mutex lock in clk funtion,
watchdog may not start in urgent situations because of clk funtion.
Change-Id: Idf935d72afd521cd5586d67eceacef968a672c5f
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Hosung Kim [Tue, 13 Dec 2016 10:18:53 +0000 (19:18 +0900)]
[COMMON] trace: ess: DO NOT stop to kick watchdog
In 4.9 kernel, I excluded 'exynos-ss.c' file from this patch.
This commit prevents hang status during the panic sequence.
Watchdog kick is alived. This does not matter to enable/disable
watchdogd.
Change-Id: I29b154043e3c7291d0ac8dc5f2c78721f9083607
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Hyunki Koo [Sat, 24 Oct 2015 10:29:22 +0000 (19:29 +0900)]
[COMMON] watchdog: s3c2410_wdt: add set_emergency_reset function
This patch add set_emergency_reset function for safe panic handler
Change-Id: Ief3672cfc1ab90178c8b36aa17db310946555ad3
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Hyunki Koo [Thu, 24 Oct 2013 08:55:45 +0000 (17:55 +0900)]
[COMMON] watchdog: s3c2410_wdt: change clock source to rate & gate clock
In 4.9 kernel porting,
Conflict:
- s3c2410wdt_set_min_max_timeout function. -> remove function
- Clock change within probe function. -> Changed to this patch.
Clock for watchdog device is changed to open gate clock.
but there is no clockrate information in gate_watchdog clock.
so rate_watchdog clock is added to get clock rate
Change-Id: I8394ac129bd478f5de6913e8c98f12cdebf0d87e
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Kang KyungWoo <kwoo.kang@samsung.com>
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Signed-off-by: Kyungwoo Kang <kwoo.kang@samsung.com>
Hyunki Koo [Sun, 9 Aug 2015 07:20:49 +0000 (16:20 +0900)]
trace: ess: change reset policy after panic occurred
In 4.9 kernel porting,
I excluded 'exynos-ss.c' file from this patch.
This patch changes the reset policy in exynos-snapshot after kernel
panic occurred. It is changed from watchdog reset to s/w reset, but
if hardlockup is detection at any cores, watchdog reset should be
used to get the information from cores.
This reset policy is only applied when EXYNOS_SNAPSHOT_WATCHDOG_RESET
enabled. Exynos-snapshot supports adding for more action in pre/post
panic function.
Change-Id: I21cbae6281c6db5482a52af5478143a524854aff
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Changki Kim [Thu, 31 Dec 2015 05:45:40 +0000 (14:45 +0900)]
watchdog: s3c2410_wdt: fix resume sequence
When AUTOMATIC_DISABLE_WDT regster in PMU is set 1 and
APL cores are power down, watchdog registers is set reset value.
So we change resume sequence.
Change-Id: I397e5627a4d0a869ffe756fb19d165886d13952a
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Sungjinn Chung [Thu, 27 Nov 2014 13:18:15 +0000 (22:18 +0900)]
watchdog: s3c2410_wdt: fix spinlock inconsistent lock state warning
This patch is to fix spinlock warning.
< 4>[ 204.229499] I[1: BootAnimation: 2990] =================================
< 4>[ 204.229517] I[1: BootAnimation: 2990] [ INFO: inconsistent lock state ]
< 4>[ 204.229538] I[1: BootAnimation: 2990] 3.10.58-
3388584-eng #1 Not tainted
< 4>[ 204.229557] I[1: BootAnimation: 2990] ---------------------------------
< 4>[ 204.229576] I[1: BootAnimation: 2990] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
< 4>[ 204.229597] I[1: BootAnimation: 2990] BootAnimation/2990 [HC1[1]:SC0[0]:HE0:SE1] takes:
< 4>[ 204.229617] I[1: BootAnimation: 2990] (wdt_lock){?.+...}, at: [<
ffffffc0005762c4>] s3c2410wdt_stop+0x1c/0x38
< 4>[ 204.229677] I[1: BootAnimation: 2990] {HARDIRQ-ON-W} state was registered at:
< 4>[ 204.229696] I[1: BootAnimation: 2990] [<
ffffffc0000efa04>] mark_lock+0x304/0x6e4
< 4>[ 204.229725] I[1: BootAnimation: 2990] [<
ffffffc0000f0cbc>] __lock_acquire+0x968/0x19b8
< 4>[ 204.229751] I[1: BootAnimation: 2990] [<
ffffffc0000f2454>] lock_acquire+0xf4/0x128
< 4>[ 204.229775] I[1: BootAnimation: 2990] [<
ffffffc00081dcf8>] _raw_spin_lock+0x38/0x50
< 4>[ 204.229802] I[1: BootAnimation: 2990] [<
ffffffc0005764f8>] s3c2410wdt_stop_intclear.isra.1+0x18/0x50
< 4>[ 204.229827] I[1: BootAnimation: 2990] [<
ffffffc000576830>] s3c2410wdt_probe+0x1f4/0x444
Change-Id: I5fa03e75f6ba68b6dc58a116d134b21b7d53550e
Signed-off-by: Sungjinn Chung <sungjinn.chung@samsung.com>
Changki Kim [Thu, 11 Jun 2015 13:55:52 +0000 (22:55 +0900)]
watchdog: s3c2410_wdt: support exynos 8 series
Change-Id: I78344da7b2c234ac41223612036bcec0f08872c9
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Hyunki Koo [Thu, 26 Dec 2013 07:31:40 +0000 (16:31 +0900)]
watchdog: s3c2410_wdt: add wdt_stop_intclear function
In 4.9 kernel porting,
I excluded the
8289222f1db85a6b0af0387e21ceb2f6e5d5a5d4 patch.
There is already a related patch,
882dec1ff125e9020157d27672ec11c2fdfb82c2.
In this Patch, I removed all functions and variables associated with the
8289222f1.. patch.
Sometimes watchdog interrupt is pended in booting time before
initialize watchdog timer. In this case system can be reboot
from thi interrupt.
This patch clear watchdog interrupt before watchdog reset enable
to ignore interrupt in booting time. And code is move after
wdt clock initialize.
Change-Id: I2900ae733f9b24c8c4a84ef030be29cb06f19727
Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
Signed-off-by: Changki Kim <changki.kim@samsung.com>
Signed-off-by: Choi Jaehyoung <jkkkkk.choi@samsung.com>
Jang JeongHoon [Wed, 9 May 2018 05:50:58 +0000 (14:50 +0900)]
[COMMON] clk: samsung: Removed redundant files.
Change-Id: I50a7e09efb0c69c97a762c40f648b536af123baa
Signed-off-by: Jang JeongHoon <jnghn.jang@samsung.com>
JaeHun Jung [Tue, 8 May 2018 10:57:26 +0000 (19:57 +0900)]
[9610] arm64: dts: Add ufs property for bring up
Change-Id: I7580daf073097825068c3ff2f24dc6870e2b36e0
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
JaeHun Jung [Tue, 8 May 2018 10:56:31 +0000 (19:56 +0900)]
[COMMON] scsi: ufs: Build config fix for bring up
Change-Id: Idba50229cb7f03b4f83e122742213c8fb2897d1c
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
Kiwoong Kim [Thu, 8 Feb 2018 14:37:53 +0000 (23:37 +0900)]
[HACK][COMMON] scsi: assume device cache off
This last resort is for improving black screen symptom.
We're guessing it's for a series of unknown delayed work executions.
Change-Id: Ie8555e8034b749c9b5544b7e1cb176ab1ab8c87d
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Tue, 19 Sep 2017 12:28:12 +0000 (21:28 +0900)]
[COMMON] scsi: ufs: add feasuring for ufs cal header
Change-Id: Id300f1930a2eb2796999c4870500d000b01767cd
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Mon, 18 Sep 2017 12:53:28 +0000 (21:53 +0900)]
[HACK/COMMON] scsi: ufs: disable pm qos int lock
Change-Id: I2510968684707fe85e64333df117b06e56224ca5
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Mon, 18 Sep 2017 04:47:16 +0000 (13:47 +0900)]
[COMMON] scsi: ufs: change some things to support various projects
1. build ufs driver in ww branch
2. choose ufs cal for each project
3. use regmap to access external regions
- phy isolcation
- io coherency
4. choose a way to do dvfs lock for ufs
- it's possible to lock INT domain
5. enumerate ufs clocks in order, not with name
- clock names are changing continously..
Change-Id: I29e807a66fedc86d979906c9ea7ed9b7fa546d85
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Mon, 26 Jun 2017 13:10:55 +0000 (22:10 +0900)]
[COMMON] scsi: ufs: Fix a potential bug for using a single ton pointer
find_last_bit function is supposed to receive an array pointer
as the first argument. Of course I don't think
most UFS host controllers have more than 64 slots.
If some controllers have more than 64 slosts,
another expression around here using lrb_in_use should be modified.
Change-Id: Ie8960dae813ce7843ea868433d17fbe821bbe5cd
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Fri, 23 Jun 2017 06:02:20 +0000 (15:02 +0900)]
[COMMON] scsi: ufs: Fix CID 12297
The expression returns a signed value.
A variable to store is unsigned.
A type casting is needed.
Change-Id: Ie11d27130f6c904e08d9831796790d7666ae033f
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Kiwoong Kim [Fri, 23 Jun 2017 05:58:06 +0000 (14:58 +0900)]
[COMMON] scsi: ufs: Remove one condition to check pm level policy range
The second operand is zero and the first operand is unsinged.
Therefore, the condition is meaningless.
Change-Id: Ibdbe83b04c421a6376ab0584117baa57df16af19
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
HeonGwang Chu [Mon, 3 Jul 2017 13:56:47 +0000 (22:56 +0900)]
[COMMON] ufs: exynos: Add TCXO_UFS control API for various drivers
If two drivers use tcxo, tcxo on/off control can be possible when
they are both sleep(ON) or only one active(OFF) state.
Change-Id: If4d870088f29a7bafdee1c1e8a5f193d30f6ee87
Signed-off-by: HeonGwang Chu <hg.chu@samsung.com>
HeonGwang Chu [Wed, 5 Jul 2017 04:27:05 +0000 (13:27 +0900)]
[COMMON] scsi: ufs: Fix problems in clock enable fail and hibern8 fail cases
We delete the clearing of saved_err and saved_uic_err in hibern8 ctrl and
add recovery method when ufs clock enable fail cases.These cases had happened
in the previous soc versions.
Change-Id: Ia8dc78c58cd89030075fb63cc29e015bdb8411fa
Signed-off-by: HeonGwang Chu <hg.chu@samsung.com>
HeonGwang Chu [Tue, 20 Jun 2017 07:45:54 +0000 (16:45 +0900)]
[COMMON] scsi: ufs: add secure log
Change-Id: I28257ceec3f3c7ae8186af2099a075535331b7ac
Signed-off-by: HeonGwang Chu <hg.chu@samsung.com>
Kiwoong Kim [Mon, 18 Sep 2017 11:16:23 +0000 (20:16 +0900)]
[COMMON] scsi: ufs: add ufs cal v0.0 and dbg for Exynos9610
Change-Id: Iaf28b8f3145008e79a0937d2f239f3cac07784e2
Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Shinkyu Park [Wed, 24 Jan 2018 12:54:03 +0000 (21:54 +0900)]
[COMMON] scsi: rpmb: update RPMB drivers
[Description]
Initial RPMB drivers on Kernel 4.14
Platform Development Team
Shinkyu Park (shinkyu.park@samsung.com)
Change-Id: I36a79a54618484f67385327ade35425131220551
hgchu [Thu, 25 Jan 2018 11:15:58 +0000 (20:15 +0900)]
[HACK][COMMON] scsi: ufs: Disable power in suspend
Change-Id: I8e9170de02617e9f778ebb7f6beb1a5d1ef57be0
Signed-off-by: hgchu <hg.chu@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 08:06:16 +0000 (17:06 +0900)]
[COMMON] fs: support REQ_AUX_PRIV for diskcipher
Change-Id: Id154b3d819fd7dd706370e106452ee1e25be984c
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 08:04:54 +0000 (17:04 +0900)]
[COMMON] ufs: add fmp interface
Change-Id: I1500ed9af17d73f35d39fb7602ab7062027e8d8f
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 08:03:23 +0000 (17:03 +0900)]
[COMMON] fmp: add fmp driver
Change-Id: Idf587c60984db4d519464521cb2b96f9746ea0ba
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 08:01:43 +0000 (17:01 +0900)]
[COMMON] bio: support diskcipher
Change-Id: I61774e13ba45c5a21ea9e08d820534302deaf91d
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 08:00:12 +0000 (17:00 +0900)]
[COMMON] crypto: support diskcipher
Change-Id: I7b01a64020d6be4ec0c4344d71e6629db08fe2c6
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Boojin Kim [Wed, 24 Jan 2018 12:55:30 +0000 (21:55 +0900)]
[COMMON] smc: add smc call for FMP
Change-Id: I616270ac95e0375222010d88cd6bf9470eee2ac8
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
hgchu [Fri, 19 Jan 2018 04:26:42 +0000 (13:26 +0900)]
[COMMON] scsi: ufs: exynos: enable pm features for exynos9810
Change-Id: I9d35ac0a986623b722fef83ac5d0a465b4f24d5a
Signed-off-by: hgchu <hg.chu@samsung.com>
Soomin Kim [Thu, 11 Jan 2018 12:49:18 +0000 (21:49 +0900)]
[COMMON] scsi: ufs: Don't select PM_DEVFREQ as default
Change-Id: I59fa72b7a6ae9244c784af67643d7c25feb6abec
Signed-off-by: Soomin Kim <sm8326.kim@samsung.com>
hgchu [Wed, 17 Jan 2018 05:15:15 +0000 (14:15 +0900)]
[COMMON] scsi: ufs: change parameter to int type for gcc 5.x
Change-Id: I218cb77256abf1decef03671f2b267bee35b7b04
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 11:42:57 +0000 (20:42 +0900)]
[COMMON] scsi: ufs: exynos: fix build error for kernel 4.14
Change-Id: Id79757849bb55c0b654105231335293e5fcd9f04
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 11:14:16 +0000 (20:14 +0900)]
[DO NOT RELEASE][COMMON] ufs: Add reset for DL error
Change-Id: I75ce1ad29316b95ca1a2bd04cb332c36480d1c64
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 11:07:43 +0000 (20:07 +0900)]
[COMMON] ufs: exynos: wait 100 ms for the device busy state
Change-Id: I4f2607b9cff87da491fd1fcf920ba80af08168a1
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:57:07 +0000 (19:57 +0900)]
[COMMON] scsi: ufs: exynos: Add debugging logs for uic errors
Change-Id: Id1182e793ea0c98930cb73cb3ccb766d088bf9ca
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:54:07 +0000 (19:54 +0900)]
[9810] arm64: Add ufs async relink feature
Change-Id: Iec19ba58d4fd198a8c96bfafdb2b96411a23e4c4
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:43:00 +0000 (19:43 +0900)]
[COMMON] scsi: ufs: exynos: remove 2 times link startup
Change-Id: Ia4661cbc3bbb2e04a29959986d9880dc750174b2
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:30:04 +0000 (19:30 +0900)]
[COMMON] ufs: exynos: Add UFS INTR AGGR QUIRK
Change-Id: I8817e25280b8095649ab0cfe8ff396cced921e45
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:26:38 +0000 (19:26 +0900)]
[COMMON] scsi: ufs: Fix problems in clock enable fail and hibern8 fail cases
Change-Id: I33d16b03022baa441cfe101f81364295f3d9f476
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:19:25 +0000 (19:19 +0900)]
BOARD: EXYNOS9810: ufs: add exynos specific files
Change-Id: I94018923d8fffc48e4e1e231093ff3ee3bca8c20
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 10:14:08 +0000 (19:14 +0900)]
[COMMON] scsi: Get scsi lun for UFS RPMB ioctl cmds
Change-Id: I8d6f94bb07b9c0708982a0cdd64a21c6108f872e
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 08:34:41 +0000 (17:34 +0900)]
scsi: ufs: Add UFS fatal error handling
Change-Id: I42fc3930f74c571a34d487b2511dd0a1916a430b
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 08:29:35 +0000 (17:29 +0900)]
[COMMON] scsi: ufs: exynos: Add ufs dump logs for rare problems
Change-Id: Iad925aead0912a7c7d706a071dbe8c971267eaa3
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 08:21:55 +0000 (17:21 +0900)]
[COMMON] scsi: ufs: exynos: update error handling code when probe
fail
Change-Id: I361172149f78a136ce88179cf3f989e7ae7c63f2
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 08:19:01 +0000 (17:19 +0900)]
[COMMON] ufs: Add UFS cmd logging
Change-Id: I1351d79793480cf8ebf596f8860c976ee8c607d2
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 08:02:21 +0000 (17:02 +0900)]
[COMMON] scsi: ufs: exynos: Add reset ctrl for ufs sleep/wake
Change-Id: I2a26c1690a211dd3d040fe6b37c6e43c39d2fa9b
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:53:11 +0000 (16:53 +0900)]
[DO NOT RELEASE][COMMON] scsi: ufs: exynos: Block the abnomal IO
Change-Id: I83f3df56369a0b642e61557cde4fe73a45e36533
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:46:20 +0000 (16:46 +0900)]
[COMMON] ufs: add two cases for UFSHCD_QUIRK_GET_GENERRCODE_DIRECT
Change-Id: Ie2c3d9ff0499572f7e56357b4097c7040615b550
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:37:27 +0000 (16:37 +0900)]
[COMMON] scsi: ufs: Add UFS 1 lane driver
Change-Id: I2fecb0769c44bd14507d00657b1ccec4cd6fb953
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:31:51 +0000 (16:31 +0900)]
[COMMON] scsi: ufs: exynos: add an auxiliary sfr dump
Change-Id: Ib98c369d7b848ad2e1bbc9864e6b300da571975a
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:25:09 +0000 (16:25 +0900)]
[COMMON] scsi: ufs: exynos: change unique number to 18 digits from 16
Change-Id: I3942c0e564633005c665801132a1a15ecc585651
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:19:58 +0000 (16:19 +0900)]
[COMMON] scsi: ufs: check the unipro result directly
Change-Id: I322e86ad853f538f67086f1f6eefcf42a760d53c
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:09:38 +0000 (16:09 +0900)]
[COMMON] scsi: ufs: SKIP the interrupt aggregation reset when tasks
Change-Id: I5d0dd4a754eef7fe34145f027891e9c13db5b5df
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 07:06:23 +0000 (16:06 +0900)]
[COMMON] scsi: add ioctl for UFS RPMB
Change-Id: I8c2159112235b80b567571d9e87add1e85fd5fbb
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:47:41 +0000 (15:47 +0900)]
[COMMON] scsi: ufs: add information into log msg on task abort
Change-Id: I168e1bd870e689865f73c122b9e9fc221796a2c1
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:44:28 +0000 (15:44 +0900)]
[COMMON] scsi: ufs: add sysfs to monitor UFS behaviors
Change-Id: I2d6bc6ac4a18a51ab490996f333ab375746842c6
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:35:04 +0000 (15:35 +0900)]
[COMMON] scsi: ufs: asynchronous link establishment on UFS resume
Change-Id: I62f0259277959fa90590f5823adbe3bc7fbc2ccd
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:25:37 +0000 (15:25 +0900)]
[COMMON] scsi: ufs: move notifying bus reset into other location
Change-Id: Icfb7772f7bf067becdce952b088c1c2e02f58315
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:13:47 +0000 (15:13 +0900)]
[9810] arm64: configs: add configs for UFS
Change-Id: I5de25c8d3d73972ec8d42c653dfd40ff7ecc493a
Signed-off-by: hgchu <hg.chu@samsung.com>
hgchu [Fri, 12 Jan 2018 06:10:54 +0000 (15:10 +0900)]
[COMMON] scsi: ufs: exynos: code refactoring for maintenance
Change-Id: Ic4ac0c4bdb7b2a8706fb901036519b67ad3d83ab
Signed-off-by: hgchu <hg.chu@samsung.com>