profile/common/platform/kernel/linux-artik7.git
6 years agowatchdog: s3c2410_wdt: modify init sequence to arch_initcall
Jaewon Kim [Tue, 28 Aug 2018 10:26:38 +0000 (19:26 +0900)]
watchdog: s3c2410_wdt: modify init sequence to arch_initcall

This patch modifies init sequence to arch_initcall to speed up watchdog init.
It can be reboot if the init sequence is delayed.

Change-Id: I5c11b6abcd18c3de886fd3135dda1032aaf0f1bd
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoartik711s_raptor: configs: eanble panic at oops/hungtask/softlockup
Dongil Park [Fri, 24 Aug 2018 06:36:44 +0000 (15:36 +0900)]
artik711s_raptor: configs: eanble panic at oops/hungtask/softlockup

This patch enables panic when oops/hungtask/softlockup occured.

Change-Id: I6787d984a95548d446f8eaa2c9119340eaa0d1f0
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agoartik711s_raptor: configs: enable CONFIG_S5P6818_WATCHDOG_ATBOOT
Dongil Park [Fri, 24 Aug 2018 06:25:32 +0000 (15:25 +0900)]
artik711s_raptor: configs: enable CONFIG_S5P6818_WATCHDOG_ATBOOT

This patch enables CONFIG_S5P6818_WATCHDOG_ATBOOT to enable watchdog
timer at boot.

Change-Id: I5b4f9ec4896be47bd70ae113d3cbd1f780c2683e
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agowatchdog: s3c2410_wdt: add enable watchdog timer at boot
Dongil Park [Fri, 24 Aug 2018 06:23:21 +0000 (15:23 +0900)]
watchdog: s3c2410_wdt: add enable watchdog timer at boot

This patch adds enabling watchdog timer at boot. periodic timer will
kick the watchdog every 5 seconds.

Change-Id: Ibf67b11de4e3ffd8c45fddd9b1d35cb3b6a0c136
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agomedia: nexell: keep VIP on for under-run case
Sooman Jeong [Mon, 20 Aug 2018 09:02:09 +0000 (18:02 +0900)]
media: nexell: keep VIP on for under-run case

This patch gets rid of calling vip_stop() and vip_run() on the
VIP under-run case.
Originally, the VIP under-run handling designed to prevent any
unexpected overwrites of the video buffer from VIP hardware.
However, it turned out that it causes a critical side effect of
making the system hang of the AP.
Therefore, we need to keep VIP on even during the under-run case.

Change-Id: I030b7745667b7f651350faabad35c6049095bb30
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agoartik711s_raptor: configs: disable CONFIG_PM_DEVFREQ
Dongil Park [Mon, 13 Aug 2018 06:03:56 +0000 (15:03 +0900)]
artik711s_raptor: configs: disable CONFIG_PM_DEVFREQ

This patch disables devfreq drivers for s5pxx18 SoCs.

Change-Id: Ia517af71d98a05d8fc6bb8cb4be4379cd56e9b35
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agoarm64: dts: s5p6818: remove devfreq node
Dongil Park [Mon, 13 Aug 2018 06:02:22 +0000 (15:02 +0900)]
arm64: dts: s5p6818: remove devfreq node

This patch remove devfreq node to disable devfreq for artik711s.

Change-Id: I7c0da459617a59773987bbf62d3ac65555f5ff1d
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agonet: wireless: sd8977: remove recursive locking in WLAN driver
Soon-Yong Cho [Fri, 3 Aug 2018 00:12:36 +0000 (09:12 +0900)]
net: wireless: sd8977: remove recursive locking in WLAN driver

wlan_exec_next_cmd function and wlan_dump_pending_commands function are
used spin_lock twice without spin_unlock. There is a coding bug where a
piece of code tries to grab a spinlock twice.
This patch removes recursive locking in WLAN driver. It prevents to grab
a spinlock again when they call util_peek_list function if they already
grab a spinlock.

Here is the warning log when enabling CONFIG_PROVE_LOCKING and
CONFIG_DEBUG_LOCKDEP features.
============================================
WARNING: possible recursive locking detected
4.14.34 #1 Not tainted
--------------------------------------------
kworker/1:3/1562 is trying to acquire lock:
[(&(&mlock->lock)->rlock){....}, at: [<bf19ef14>] moal_spin_lock+0x38/0x48 [sd8xxx]

but task is already holding lock:
(&(&mlock->lock)->rlock){....}, at: [<bf19ef14>] moal_spin_lock+0x38/0x48 [sd8xxx]

other info that might help us debug this:
Possible unsafe locking scenario:

     CPU0
     ----
lock(&(&mlock->lock)->rlock);
lock(&(&mlock->lock)->rlock);

*** DEADLOCK ***

 May be due to missing lock nesting notation

4 locks held by kworker/1:3/1562:
 #0:  ("events_freezable"){+.+.}, at: [<c0148e80>] process_one_work+0x1ec/0x8f8
 #1:  ((&(&host->detect)->work)){+.+.}, at: [<c0148e80>] process_one_work+0x1ec/0x8f8
 #2:  (&dev->mutex){....}, at: [<c059fb60>] __device_attach+0x30/0x154
 #3:  (&(&mlock->lock)->rlock){....}, at: [<bf19ef14>] moal_spin_lock+0x38/0x48 [sd8xxx]

stack backtrace:
 CPU: 1 PID: 1562 Comm: kworker/1:3 Not tainted 4.14.34 #1
Hardware name: NEXELL (Device Tree Support)
Workqueue: events_freezable mmc_rescan
[<c0113058>] (unwind_backtrace) from [<c010e654>] (show_stack+0x20/0x24)
[<c010e654>] (show_stack) from [<c09b1da8>] (dump_stack+0xa0/0xcc)
[<c09b1da8>] (dump_stack) from [<c0190e0c>] (__lock_acquire+0xba4/0x1d7c)
[<c0190e0c>] (__lock_acquire) from [<c0192878>] (lock_acquire+0xf4/0x2f8)
[<c0192878>] (lock_acquire) from [<c09d063c>] (_raw_spin_lock_irqsave+0x54/0x68)
[<c09d063c>] (_raw_spin_lock_irqsave) from [<bf19ef14>] (moal_spin_lock+0x38/0x48 [sd8xxx])
[<bf19ef14>] (moal_spin_lock [sd8xxx]) from [<bf018d40>] (wlan_exec_next_cmd+0x124/0x740 [mlan])
[<bf018d40>] (wlan_exec_next_cmd [mlan]) from [<bf0127cc>] (mlan_main_process+0x4d4/0x7f0 [mlan])
[<bf0127cc>] (mlan_main_process [mlan]) from [<bf014618>] (wlan_init_fw+0x124/0x17c [mlan])
[<bf014618>] (wlan_init_fw [mlan]) from [<bf011b84>] (mlan_init_fw+0x8c/0x9c [mlan])
[<bf011b84>] (mlan_init_fw [mlan]) from [<bf1937d0>] (woal_init_fw_dpc+0x2dc/0x440 [sd8xxx])
[<bf1937d0>] (woal_init_fw_dpc [sd8xxx]) from [<bf193960>] (woal_request_fw_dpc+0x2c/0x10c [sd8xxx])
[<bf193960>] (woal_request_fw_dpc [sd8xxx]) from [<bf193b0c>] (woal_request_fw+0xcc/0x180 [sd8xxx])
[<bf193b0c>] (woal_request_fw [sd8xxx]) from [<bf19440c>] (woal_add_card+0x3ac/0x6f4 [sd8xxx])
[<bf19440c>] (woal_add_card [sd8xxx]) from [<bf1de2bc>] (woal_sdio_probe+0xb0/0x194 [sd8xxx])
[<bf1de2bc>] (woal_sdio_probe [sd8xxx]) from [<c06e6cb8>] (sdio_bus_probe+0xb0/0x124)
[<c06e6cb8>] (sdio_bus_probe) from [<c05a0094>] (driver_probe_device+0x2f4/0x488)
[<c05a0094>] (driver_probe_device) from [<c05a0408>] (__device_attach_driver+0xac/0x14c)
[<c05a0408>] (__device_attach_driver) from [<c059de54>] (bus_for_each_drv+0x54/0xa4)
[<c059de54>] (bus_for_each_drv) from [<c059fbf4>] (__device_attach+0xc4/0x154)
[<c059fbf4>] (__device_attach) from [<c05a0504>] (device_initial_probe+0x1c/0x20)
[<c05a0504>] (device_initial_probe) from [<c059ee8c>] (bus_probe_device+0x98/0xa0)
[<c059ee8c>] (bus_probe_device) from [<c059cc6c>] (device_add+0x3c0/0x5d4)
[<c059cc6c>] (device_add) from [<c06e70bc>] (sdio_add_func+0x6c/0x80)
[<c06e70bc>] (sdio_add_func) from [<c06e63c0>] (mmc_attach_sdio+0x280/0x350)
[<c06e63c0>] (mmc_attach_sdio) from [<c06dce24>] (mmc_rescan+0x390/0x494)
[<c06dce24>] (mmc_rescan) from [<c0148f44>] (process_one_work+0x2b0/0x8f8)
[<c0148f44>] (process_one_work) from [<c01495f4>] (worker_thread+0x68/0x5d4)
[<c01495f4>] (worker_thread) from [<c0150ba4>] (kthread+0x184/0x18c)
[<c0150ba4>] (kthread) from [<c0109834>] (ret_from_fork+0x14/0x20)

Change-Id: I6a7cea3e9b867ba50ebc4b7290f855e085543249
Signed-off-by: Soon-Yong Cho <soonyong.cho@samsung.com>
6 years agonet: rfkill: sd8x_rfkill: add stable time before PMIC_EN
Soon-Yong Cho [Tue, 31 Jul 2018 08:29:53 +0000 (17:29 +0900)]
net: rfkill: sd8x_rfkill: add stable time before PMIC_EN

This patch adds stable time before PMIC_EN. PMIC_EN must be asserted a minimum
of 100 ms to guarantee that VCORE and AVDD18 are discharged to less than 0.2V
for the POR to generate properly after PMIC_EN is deasserted.

Change-Id: I71f330a12d49cd1c1413ec4ad5ebeb0c5aac708c
Signed-off-by: Soon-Yong Cho <soonyong.cho@samsung.com>
6 years agoRevert "mmc: dw_mmc: Fix the DTO timeout calculation"
Sowon Na [Mon, 9 Apr 2018 22:13:18 +0000 (07:13 +0900)]
Revert "mmc: dw_mmc: Fix the DTO timeout calculation"

This reverts commit b6e05dd3279aab6a91e1b7c8be43f4dbee7c9f39.

That commit adds clock divider to calculate DTO timeout and it
makes DTO timeout too long during first bus setup. If there is no
data from device during booting, it makes host controller wait
after booting done.

Change-Id: Icf6dc8dbe239b0bf561e58a920184ac569b7d9d7
Signed-off-by: Sowon Na <sowon.na@samsung.com>
6 years agoRevert "mmc: dw_mmc: Fix the CTO timeout calculation"
Sowon Na [Mon, 9 Apr 2018 21:56:59 +0000 (06:56 +0900)]
Revert "mmc: dw_mmc: Fix the CTO timeout calculation"

This reverts commit 22eb9e1e736608bee8845f0d912e483a9f1b15ce.

That commit adds clock divider to calculate CTO timeout and it
makes CTO timeout too long during first bus setup. If there is no
response of command during booting, it makes host controller wait
after booting done.

Change-Id: Ife66082f832ee44bf348e45d9c761612df84acd5
Signed-off-by: Sowon Na <sowon.na@samsung.com>
6 years agoRevert "dw_mmc: nexell: do not controller reset"
Sowon Na [Mon, 9 Apr 2018 21:47:59 +0000 (06:47 +0900)]
Revert "dw_mmc: nexell: do not controller reset"

This reverts commit 2d9f6c6e5e56285a728f12c5e3898bfe83ae472a.

This makes soft lockup when CTO timer is triggered.
This patch was merged when there was no CTO timer. I think this
prevents controller reset and there is controller reset routine
in CTO timer. This makes CTO timer out of works.

Change-Id: I389b223aea563f7f89d78c858a4c403763b9a147
Signed-off-by: Sowon Na <sowon.na@samsung.com>
6 years agoRevert "driver: dw_mmc: add work routine for sudden change"
Sowon Na [Wed, 21 Mar 2018 00:36:36 +0000 (09:36 +0900)]
Revert "driver: dw_mmc: add work routine for sudden change"

This reverts commit 2c47c8325e3597518878e41af81110bbaa0b257a.

This patch was merged when there was no timeout timer for command.(CTO)
So at that time, when host couldn't get respond of command, the system was hung.
In that case, this work routine help the system. But there is CTO
in kernel mainline now and CTO is triggered in that case. Both of CTO and
work routine are triggered. So we don't need work routine anymore.

Change-Id: I91210edb525750b33c8fb584458523c461358d01
Signed-off-by: Sowon Na <sowon.na@samsung.com>
6 years agoarm64: dtsi: s5p4418: turn-off DMA descriptor mode
Jaewon Kim [Mon, 9 Jul 2018 00:58:20 +0000 (09:58 +0900)]
arm64: dtsi: s5p4418: turn-off DMA descriptor mode

If support DMA descriptor mode, some compatibility issues have occurred
and this patch changed to default mode to off.

Change-Id: I672bee65303f366d6c890969316255a9319abfe2
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm: dtsi: s5p4418: turn-off DMA descriptor mode
Jaewon Kim [Fri, 6 Jul 2018 11:27:55 +0000 (20:27 +0900)]
arm: dtsi: s5p4418: turn-off DMA descriptor mode

If support DMA descriptor mode, some compatibility issues have occurred
and this patch changed to default mode to off.

Change-Id: If07e56723428a4b1328901e48c87365a0a706728
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agonet: wireless: bcmdhd: prevent exception on wl_create_event_handler
Soon-Yong Cho [Thu, 28 Jun 2018 08:40:40 +0000 (17:40 +0900)]
net: wireless: bcmdhd: prevent exception on wl_create_event_handler

This patch is provided by cypress officially.
Here is the description of this patch from cypress.

1. For the module type driver, the wl_event_handler thread was never
terminated even when the driver was unloaded.
2. Checking error if driver creates kernel thread.

Sometimes kernel NULL pointer dereference exception happened as below when
driver loading if this patch isn't applied.

Unable to handle kernel NULL pointer dereference at virtual address 00000405
pgd = ffffffc028d65000
[00000405] *pgd=0000000000000000, *pud=0000000000000000
Internal error: Oops: 96000005 [#2] PREEMPT SMP
Modules linked in: dhd cfg80211 aes_neon_blk 8021q iptable_nat nf_nat_ipv4
nf_nat tun cr]
CPU: 7 PID: 2166 Comm: connmand Tainted: G D W 4.4.113-0710GC0F-44U-DER0 #1
Hardware name: Samsung artik710 raptor board based on s5p6818 (DT)
task: ffffffc03a486c00 ti: ffffffc028d54000 task.ti: ffffffc028d54000
PC is at wl_create_event_handler+0xc4/0x148 [dhd]
LR is at wl_create_event_handler+0xa8/0x148 [dhd]
...
Call trace:
[<ffffffbffc8d008c>] wl_create_event_handler+0xc4/0x148 [dhd]
[<ffffffbffc8de438>] wl_cfg80211_up+0x378/0x780 [dhd]
[<ffffffbffc8b3ec0>] dhd_open+0x218/0x358 [dhd]
[<ffffffc000697dac>] __dev_open+0xb8/0x118
[<ffffffc0006980b0>] __dev_change_flags+0xb0/0x140
[<ffffffc000698174>] dev_change_flags+0x34/0x70
[<ffffffc00073cd60>] devinet_ioctl+0x280/0x5ac
[<ffffffc00073e7f4>] inet_ioctl+0xd8/0x104
[<ffffffc0006764b8>] sock_do_ioctl+0x40/0x6c
[<ffffffc000676f14>] sock_ioctl+0x2c8/0x2e4
[<ffffffc0001f5884>] do_vfs_ioctl+0x564/0x600
[<ffffffc0001f598c>] SyS_ioctl+0x6c/0x94
[<ffffffc000084630>] el0_svc_naked+0x24/0x28
Code: 94dfcd8a f909ee74 910c82a1 f949ea62 (b9841283)
---[ end trace fc7ac353d3d3d191 ]---

Change-Id: I7afb11802353f345b711740dfb48165411e123ea
Signed-off-by: Soon-Yong Cho <soonyong.cho@samsung.com>
6 years agomedia: zn240: add test_pattern control
Sooman Jeong [Fri, 15 Jun 2018 08:19:21 +0000 (17:19 +0900)]
media: zn240: add test_pattern control

This patch adds test_pattern control from s_ctrl ops.
The output of the sensor could be switched between normal
and color-bar test pattern by using V4L2_CID_TEST_PATTERN.

Change-Id: Ieefcb68f9d746de1a5016ec6efdc4363f7cba134
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agomedia: nexell: add s_ctrl ops to nx_clipper_core_ops
Sooman Jeong [Fri, 15 Jun 2018 08:07:13 +0000 (17:07 +0900)]
media: nexell: add s_ctrl ops to nx_clipper_core_ops

This patch adds s_ctrl ops to nx_clipper_core_ops.
s_ctrl can be used as an interface to control v4l2 sub-devices
such as camera sensor with id and value pair.

Change-Id: I9e00abeceb31acb434c6b6f9409014e9f271fcfc
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agousb: dwc2: fix suspend/resume on host mode
Jaewon Kim [Thu, 7 Jun 2018 09:03:26 +0000 (18:03 +0900)]
usb: dwc2: fix suspend/resume on host mode

This patch did not turn off PHY when entering suspend.
And register dump process move hcd to platform driver.

Change-Id: I9bdde59910a8bdbe85bd3eb8b43fe8de96dd5745
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoRevert "usb: dwc2: block suspend/resume when operating in host mode."
Jaewon Kim [Fri, 8 Jun 2018 07:54:12 +0000 (16:54 +0900)]
Revert "usb: dwc2: block suspend/resume when operating in host mode."

In host mode, suspend/resume did not work and blocks entering suspend mode.
However, below patch fixes the problem.
 - usb: dwc2: move register dump process to platform

This reverts commit 4f8d77f786543ea3b0fab87e8dc501ebe14f3a37.

Change-Id: Ie0ffa28f1b6014a8e52ebdc57c298b729e20d062
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoartik711s_raptor: configs: enable SPI slave and drivers
Jaewon Kim [Wed, 30 May 2018 06:46:17 +0000 (15:46 +0900)]
artik711s_raptor: configs: enable SPI slave and drivers

This patch enables SPI slave mode and slave related driver for artik711s.

Change-Id: Id1da001838ddb8154e0be6f6769ffcf54197daf9
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoartik710_raptor: configs: enable SPI slave and drivers
Jaewon Kim [Wed, 30 May 2018 06:44:20 +0000 (15:44 +0900)]
artik710_raptor: configs: enable SPI slave and drivers

This patch enables SPI slave mode and slave related drivers.

Change-Id: I57a04c4f2689301e8ab9c6d89da56ac3adb5df5f
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: s5p6818: change dt property for spi slave
Jaewon Kim [Wed, 30 May 2018 06:35:42 +0000 (15:35 +0900)]
arm64: dts: s5p6818: change dt property for spi slave

SPI slave confiure is changed by the following patch.
 - spi: core: Add support for registering SPI slave controllers

Change-Id: I8e2a6e1772bdcce01610e3a8f3762579e1bd51c6
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: spidev: stop transfer on spi slave mode
Jaewon Kim [Tue, 29 May 2018 12:07:09 +0000 (21:07 +0900)]
spi: spidev: stop transfer on spi slave mode

To remove the driver in slave mode, it stop waiting for transmission.
So, this patch adds spi_slave_abort() in driver remove.

Change-Id: Ib8d63d8a0b84fa5161f99a7a10416d4f3f76e179
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: s3c64xx: Add slave mode support
Jaewon Kim [Thu, 24 May 2018 12:26:44 +0000 (21:26 +0900)]
spi: s3c64xx: Add slave mode support

This patch adds to support SPI slave mode support.

Change-Id: Ifc1fb92d2603e9f0fa66150f2d56bfd28291bcb9
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: Document SPI slave controller support
Geert Uytterhoeven [Mon, 22 May 2017 13:11:42 +0000 (15:11 +0200)]
spi: Document SPI slave controller support

Change-Id: Ic4937b69c854ea53f076320acf241a3904878470
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
6 years agospi: Document DT bindings for SPI controllers in slave mode
Geert Uytterhoeven [Thu, 24 May 2018 12:44:34 +0000 (21:44 +0900)]
spi: Document DT bindings for SPI controllers in slave mode

This patch adds document description about DT bindings for
SPI controllers in slave mode.

The following patches have been added to this patch
 - Documentation: devicetree: spi: fix wrong spi-bus documentation
 - spi: Improve DT binding documentation

Change-Id: Icf8c0b7c1f00413d27e60701fa6b15e5e17a3952
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: slave: Add SPI slave handler controlling system state
Geert Uytterhoeven [Mon, 22 May 2017 13:11:45 +0000 (15:11 +0200)]
spi: slave: Add SPI slave handler controlling system state

Add an example SPI slave handler to allow remote control of system
reboot, power off, halt, and suspend.

Change-Id: I00637211a9ad4c8cb35951c7e03561686affec14
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
6 years agospi: slave: Add SPI slave handler reporting uptime at previous message
Geert Uytterhoeven [Thu, 24 May 2018 12:36:34 +0000 (21:36 +0900)]
spi: slave: Add SPI slave handler reporting uptime at previous message

Add an example SPI slave handler responding with the uptime at the time
of reception of the last SPI message.

This can be used by an external microcontroller as a dead man's switch.

Change-Id: Ib4e97fa8749e21e042864b0cab966e771c4a42f8
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
6 years agospi: core: Add support for registering SPI slave controllers
Geert Uytterhoeven [Mon, 21 May 2018 07:55:48 +0000 (16:55 +0900)]
spi: core: Add support for registering SPI slave controllers

Add support for registering SPI slave controllers using the existing SPI
master framework:
  - SPI slave controllers must use spi_alloc_slave() instead of
    spi_alloc_master(), and should provide an additional callback
    "slave_abort" to abort an ongoing SPI transfer request,
  - SPI slave controllers are added to a new "spi_slave" device class,
  - SPI slave handlers can be bound to the SPI slave device represented
    by an SPI slave controller using a DT child node named "slave",
  - Alternatively, (un)binding an SPI slave handler to the SPI slave
    device represented by an SPI slave controller can be done by
    (un)registering the slave device through a sysfs virtual file named
    "slave".

From the point of view of an SPI slave protocol handler, an SPI slave
controller looks almost like an ordinary SPI master controller. The only
exception is that a transfer request will block on the remote SPI
master, and may be cancelled using spi_slave_abort().

This patch came from mainline v4.12 and modified for v4.4.

Change-Id: I8575c4a02c033fa5a59749b6fc747e239d90173e
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: Add tvout parameter
Sungwoo Park [Fri, 1 Jun 2018 08:16:43 +0000 (17:16 +0900)]
arm64: dtsi: artik711s: Add tvout parameter

This patch adds following tvout parameter to adjust black level.
- saturation: 60
- pedestal: 1

Change-Id: I2e369fe62cadf64bdd69cfbd023818993121a57b
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoDRM: nexell: Fix tvout red/blue swap problem
Sungwoo Park [Thu, 31 May 2018 02:49:45 +0000 (11:49 +0900)]
DRM: nexell: Fix tvout red/blue swap problem

This patch fixes tvout red/blue channel swap problem that causes
yellow dark luminance.

Change-Id: Ib59df7c1cc50ecc158e7467a110921c33f7c10d9
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agousb: misc: usb3503: increase min reset time
Jaewon Kim [Mon, 4 Jun 2018 02:28:56 +0000 (11:28 +0900)]
usb: misc: usb3503: increase min reset time

This patch increase minimum reset period.

Datasheet changes description.
 - Changed RESET_N minimum active low pulse from 100us to 1ms.

Change-Id: I5e052cb5749b59b3920d572a23a94eb4076aa2f3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agousb: dwc2: block suspend/resume when operating in host mode.
Jaewon Kim [Mon, 4 Jun 2018 02:19:30 +0000 (11:19 +0900)]
usb: dwc2: block suspend/resume when operating in host mode.

This patch not allowed suspend/resume when it is operating in Host mode.

Change-Id: Ide25123bcdaaf80c879d111f31ea9d2639365599
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoRevert "spi: pl022: Add devfreq boosting"
Jaewon Kim [Tue, 29 May 2018 03:58:15 +0000 (12:58 +0900)]
Revert "spi: pl022: Add devfreq boosting"

This reverts commit e8dc7ac15df3c0fef2eaa957e784bffb9486bb56.

The issue of spi data lose is not the data delay.
It has been found that the clock sync between SSPCLK and PCLK.
So, this patch reverts devfreq boosting patch.

Change-Id: I39551be938bf64deec5c205592f662aa4c196e9d

6 years agoARM: dts: artik530: change SPI SSPCLK clock
Jaewon Kim [Tue, 29 May 2018 05:44:41 +0000 (14:44 +0900)]
ARM: dts: artik530: change SPI SSPCLK clock

This patch changes SSPCLK to 80Mhz to avoid 100Mhz matching
of SSPCLK and PCLK. Because, PCLK and SSPCLK are the same,
data loss may occur.

Change-Id: I402b019af5cc84a75060c98af244b2118041cfe8
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agocpufreq: nexell: change error handling of of_get_property
Dongil Park [Fri, 25 May 2018 03:31:14 +0000 (12:31 +0900)]
cpufreq: nexell: change error handling of of_get_property

This patch changes error handling routine of of_get_property
of optional property.

Change-Id: Id77248a3d3ebed201963395556143e1a52faa29f
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agocpufreq: nexell: check return value of of_get_property
Chanho Park [Mon, 21 May 2018 09:43:24 +0000 (18:43 +0900)]
cpufreq: nexell: check return value of of_get_property

This patch fixes return value checking of of_get_property call.

Change-Id: I5145dbfa4ffd939dd01ab56e27136b5ecc7312b7
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
6 years agospi: pl022: Add devfreq boosting
Jaewon Kim [Wed, 9 May 2018 10:13:57 +0000 (19:13 +0900)]
spi: pl022: Add devfreq boosting

When devfreq is running low, some data may be lost.
In order to prevent this case, devfreq is boosted
at the time of transmission.

Change-Id: Ic8eac4c9c3035a7ee4e0575d96e2a52c429b0957
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: pl022: add document description
Jaewon Kim [Wed, 2 May 2018 07:07:17 +0000 (16:07 +0900)]
spi: pl022: add document description

This patch adds DT property description to help user.

Change-Id: Ibd351f145f4f9caa122937e065b817822ff21a93
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoARM: dts: s5p4418: change slave-tx-disable property name
Jaewon Kim [Wed, 2 May 2018 06:53:59 +0000 (15:53 +0900)]
ARM: dts: s5p4418: change slave-tx-disable property name

According to the patch below, property name changed to "slave-tx-enable".
 - spi: pl022: change dt property name

Change-Id: Ia5b9df1de938da6e1ae033983508a57758d7c0e3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: pl022: change dt property name
Jaewon Kim [Wed, 2 May 2018 06:42:46 +0000 (15:42 +0900)]
spi: pl022: change dt property name

DeviceTree property "pl022,slave-tx-disable" menas that it will not
TX in slave mode. However, it works reversely.
So, this patch changes property name to "pl022,slave-tx-enable"

Change-Id: I3a3994a4d0a29081ea57ac973f6d14d96aade5b7
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoARM: dtsi: s5p4418: change spi2 pin pull state
Jaewon Kim [Fri, 11 May 2018 11:42:06 +0000 (20:42 +0900)]
ARM: dtsi: s5p4418: change spi2 pin pull state

This patch changes spi2 pin pull state to pull-none.
there is no need to pull-up on SPI.

Change-Id: I02ac7037ce27c7e1a479d66ceb212b30a9218ec4
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: s5p6818: change spi2 pin pull state
Jaewon Kim [Fri, 11 May 2018 11:30:11 +0000 (20:30 +0900)]
arm64: dtsi: s5p6818: change spi2 pin pull state

This patch changes spi2 pin pull state to pull-none.
there is no need to pull-up on SPI.

Change-Id: Idfc5a34cfd86517911b3d43bb01106aa39cc352f
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoDRM: nexell: tv: Change vactive when PAL mode
Sungwoo Park [Fri, 11 May 2018 04:15:26 +0000 (13:15 +0900)]
DRM: nexell: tv: Change vactive when PAL mode

This patch changes vactive from 480 to 576 when PAL mode selected.
By specification, 720x576 is PAL mode resolution.

Change-Id: Iac2a0e0287cc26da7ab6a3ea361d429510cf42ae
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agortc: rtc-ds1307: disable uie for ds1337
Jaewon Kim [Wed, 28 Mar 2018 10:27:54 +0000 (19:27 +0900)]
rtc: rtc-ds1307: disable uie for ds1337

This patch disables UIE(Update Interrupt Enable) function for ds1337.
If external RTC supports UIE, the UIE ioctl may fail because wakeup
time and the current time are equal during set wakeup time.

Change-Id: Id50405f00696067111b9b8d42dc620d3bd44f527
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoARM: dts: artik533-compy: Add initial pin configuration
Jaewon Kim [Tue, 24 Apr 2018 07:06:54 +0000 (16:06 +0900)]
ARM: dts: artik533-compy: Add initial pin configuration

This patch adds initialization pin configuration function
to initialize even unused pins.
Unused pins set to GPIO-Output/Low state.

Change-Id: I405f3929470d34f6c13a9ec3ee641fee0ceb59be
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: add initial pinctrl for enabling camera power
Sooman Jeong [Mon, 23 Apr 2018 11:36:46 +0000 (20:36 +0900)]
arm64: dtsi: artik711s: add initial pinctrl for enabling camera power

This patch adds initial-state pinctrl for enabling power control of
two parallel camera devices.
Two external camera devices would be able to power on when the pins
go to high.
Since the circuit for controlling camera power by GPIO will be ready
from H/W rev 0.3, this should be removed from rev 0.1 tree.

Change-Id: I318353f96c8bdb9bee9012dc67dd3833c72c0ff4
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agoarm: dtsi: s5p4418: add dma_desc_enable property
Jaewon Kim [Fri, 6 Apr 2018 07:48:07 +0000 (16:48 +0900)]
arm: dtsi: s5p4418: add dma_desc_enable property

A property to enable/disable DMA descriptors has been added,
and this patch applies to s5p4418 devicetree.

Change-Id: I9e0ead966c359aafb6961366341fc44c34bd4495
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: s5p6818: add dma_desc_enable property
Jaewon Kim [Fri, 6 Apr 2018 07:33:33 +0000 (16:33 +0900)]
arm64: dtsi: s5p6818: add dma_desc_enable property

A property to enable/disable DMA descriptors has been added,
and this patch applies to s5p6818 devicetree.

Change-Id: I012ed4014e09da9ebdea1c9eb653f8cc64c33584
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agousb: dwc2: support DMA descriptor enable/disable property
Jaewon Kim [Fri, 6 Apr 2018 07:18:27 +0000 (16:18 +0900)]
usb: dwc2: support DMA descriptor enable/disable property

This patch move hard coded 'dma_desc_enable' variable to DT property.

If use the DMA descriptor, it will speed up.
But it will not support Split Transfer, which can cuase compatibility issue.

Change-Id: I4882840426eaca516a0f113bf545e27cde8e5298
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoartik710: set CONFIG_DM_VERITY=y
Heesub Shin [Tue, 17 Apr 2018 03:30:40 +0000 (12:30 +0900)]
artik710: set CONFIG_DM_VERITY=y

To support transparent integrity checking of security-critical volumes,
dm-verity should be available before mounting them. So, we need to set
CONFIG_DM_VERITY=y, instead of '=m'. This increases the size of kernel
image about 32KBytes.

Change-Id: I0a94a6a6928d2bede9d4ad803ba28a393cb6ce2f
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
6 years agopinctrl: nexell: move grange setup before pinctrl_register
Jaewon Kim [Fri, 20 Apr 2018 02:08:10 +0000 (11:08 +0900)]
pinctrl: nexell: move grange setup before pinctrl_register

pinctl in Device-Tree is executed after pinctrl_register() called.
But, grange is not yet set. the pinctrl set before grange can be misbehaved.

Change-Id: I920fcb6c82549aae3753635ad9b023c0538520cb
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: add clipper 1 and clipper 2 node
Sooman Jeong [Wed, 18 Apr 2018 06:00:48 +0000 (15:00 +0900)]
arm64: dtsi: artik711s: add clipper 1 and clipper 2 node

This patch adds clipper 1 and clipper 2 node to enable two parallel
camera devices which are connected to VID2 and VID0 pad, respectively.

Since the pads of clipper 1 device muxed with SD0 module,
the default status of the node is <disabled>.
As a next step, we need to prepare two dts to dynamically switch
the dtb depending on the boot mode.
- eMMC boot mode: enable Clipper 1
- SD boot mode: enable SD0

Change-Id: I05a8a0ffc90882c55410a343deece2d986b3685e
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agomedia: zn240: increase the drive strength of data and pixel clock pad
Sooman Jeong [Wed, 18 Apr 2018 05:39:10 +0000 (14:39 +0900)]
media: zn240: increase the drive strength of data and pixel clock pad

This patch increases the drive strength of data and pixel clock pad
of ZN240 sensor.
Since we are placing a mux IC between camera module and AP,
we need to increase the strength value to max to get proper signal
from the camera module.

Also, it has been confirmed that we have some margin of the strength
value from the measurement as follows:

- D9-D0 Data PAD
Default: 4
Minimum value for operation with MUX IC: 6
Target value of this patch with margin: 7

- PIXL Clock PAD
Default: 2
Minimum value for operation with MUX IC: 3
Target value of this patch with margin: 7

Change-Id: I27b4bdf2bd1cb3c383b88524a98699146f735736
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agoarm64: dts: s5p6818: correct the base address of VIP2
Sooman Jeong [Wed, 18 Apr 2018 03:58:04 +0000 (12:58 +0900)]
arm64: dts: s5p6818: correct the base address of VIP2

This patch corrects the wrong base address of VIP2 module and
the VIP2 clock control.

Change-Id: I11028fe954e1c21162d85f1e33d9ab962849a6d8
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agoarm64: dtsi: artik711s-explorer: init usb-otg pinctrl
Jaewon Kim [Mon, 16 Apr 2018 08:14:01 +0000 (17:14 +0900)]
arm64: dtsi: artik711s-explorer: init usb-otg pinctrl

This patch initializes GPIOA18 to turn-off usb-otg output.

Change-Id: I174a86e4e3b21ad19ceed1d0cfabe10f28a1310b
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: artik711s-explorer: change gpio number for tw9900 i2c
Jaewon Kim [Mon, 16 Apr 2018 08:11:36 +0000 (17:11 +0900)]
arm64: dts: artik711s-explorer: change gpio number for tw9900 i2c

This patch changes gpio number for tw9900 i2c.
GPIO changed to rev03 module.

Change-Id: Iac52a29432dde923afe6410727ec76f6270b5ce4
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoDRM: nexell: fix an error while finding a closest timing
sunghwansoon [Tue, 17 Apr 2018 04:35:37 +0000 (13:05 +0830)]
DRM: nexell: fix an error while finding a closest timing

Fixes: 15cf311b9c71 ("DRM: nexell: find the cloest pixelclock
out of our supported list")

This patch fixed an error while finding a closest timing.

Change-Id: I891e4655b4aeb7773f835a12665f8c7afa812503
Signed-off-by: sunghwansoon <hs2704.sung@samsung.com>
6 years agoi2c: nexell: Add missing nx_i2c_unregister_freq_notifier()
Dongil Park [Mon, 16 Apr 2018 08:40:24 +0000 (17:40 +0900)]
i2c: nexell: Add missing nx_i2c_unregister_freq_notifier()

This patch adds missing unregister notifier call to avoid unhandle
resources.

Fixes: acdbd8a13a50 ("i2c: nexell: Add devfreq notifier block")

Change-Id: I146f3b510b0c734df19520266be8df9b45c3e47c
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agoarm64: dts: artik711s-explorer: change clipper0 node
Sungwoo Park [Thu, 12 Apr 2018 02:46:49 +0000 (11:46 +0900)]
arm64: dts: artik711s-explorer: change clipper0 node

This patch changes clipper0 node to activate tw9900 decoder.

Change-Id: Iec97dccaf6ab9271d3600a92e19e1b6164059571
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoarm64: dts: artik711s-explorer: add dp_drm_tvout node
Sungwoo Park [Thu, 12 Apr 2018 02:36:47 +0000 (11:36 +0900)]
arm64: dts: artik711s-explorer: add dp_drm_tvout node

This patch adds dp_drm_tvout node.

Change-Id: I7851d6c35cabbdf31eb754047ba8ea2d799dd27a
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agomedia: nexell: apply field information
Sungwoo Park [Thu, 12 Apr 2018 02:33:13 +0000 (11:33 +0900)]
media: nexell: apply field information

This patch changes allocation size by field information.
When using interlace camera with format V4L2_PIX_FMT_YUV420,
vip buffer alignment restriction is differ with progressive camera.

Change-Id: Ia2dc5330f517ff1c6bea51db89f8f2f683362060
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoartik711s_raptor: configs: enable TW9900 decoder
Sungwoo Park [Thu, 12 Apr 2018 02:18:30 +0000 (11:18 +0900)]
artik711s_raptor: configs: enable TW9900 decoder

This patch enables CONFIG_VIDEO_TW9900.

Change-Id: I30e37e85efa2ed313b5226821f52522c401282a0
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agomedia: tw9900: Introduce Techwell tw9900 video decoder
Sungwoo Park [Thu, 29 Mar 2018 10:16:45 +0000 (19:16 +0900)]
media: tw9900: Introduce Techwell tw9900 video decoder

This patch introduces Techwell tw9900 video decoder driver.
tw9900 can decode NTSC/PAL analog tv signal and convert to
ITU-R BT.656/601 digital parallel signal.

Change-Id: I6901395c5f5b4072a7cdd80ff2421190bcb67b18
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoartik711s_raptor: configs: enable DRM TVOUT driver
Sungwoo Park [Tue, 27 Mar 2018 07:47:40 +0000 (16:47 +0900)]
artik711s_raptor: configs: enable DRM TVOUT driver

This patch enables CONFIG_DRM_NX_TVOUT.

Change-Id: I826702bce4af08ec3c0eb32ed429332bee894a66
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoarm64: dtsi: artik711s: add dp_drm_tvout node
Sungwoo Park [Tue, 27 Mar 2018 07:45:45 +0000 (16:45 +0900)]
arm64: dtsi: artik711s: add dp_drm_tvout node

This patch adds dp_drm_tvout node.
See Documentation/devicetree/bindings/drm/nexell/tv_panel.txt.

Change-Id: I99b152aeb113c6b1112b830ba82ed83635c8c5e5
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoarm64: dts: s5p6818: add drm tvout dt node
Sungwoo Park [Tue, 27 Mar 2018 07:44:01 +0000 (16:44 +0900)]
arm64: dts: s5p6818: add drm tvout dt node

This patch adds drm tvout dt node.
S5P6818 TV out uses hdmi phy as clock source so, hdmi resource is added.

Change-Id: I9d80ca39318fa28801bed1175514f25125a8502f
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoDRM: nexell: Introduce s5p6818 TV out driver
Sungwoo Park [Tue, 27 Mar 2018 07:25:59 +0000 (16:25 +0900)]
DRM: nexell: Introduce s5p6818 TV out driver

This patch introduces s5p6818 TV out driver.
S5P6818 SoC supports analog dac(tvout).

Supported format is like below.

Format            | Field Rate | Line | FSC
---------------------------------------------------
NTSC-M            | 59.95Hz    | 525  | 3.5795454
NTSC-N            | 50Hz       | 625  | 3.5795454
NTSC-4.43         | 60Hz       | 525  | 4.43361875
PAL-M             | 59.952Hz   | 525  | 3.57561189
PAL-combination N | 50Hz       | 625  | 3.58205625
PAL-B/D/G/H/I/N   | 50Hz       | 625  | 4.43361875
Pseudo PAL        | 60Hz       | 525  | 4.43361875
Pseudo NTSC       | 50Hz       | 625  | 3.5795454

TVOut controller has several control parameters so, adds sysfs interface
to adjust parameters.

- type: format
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/type
available: NTSC-M, NTSC-N, NTSC-4.43, PAL-M, PAL-N, PAL-BGHI, PSEUDO-PAL,
PSEUDO-NTSC

- sch: color burst phase relative to hsync
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/sch
available: -128 ~ 127

- hue: active video color burst phase relative to color burst
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/hue
available: -128 ~ 127

- saturation: active video chroma gain relative to the color burst gain
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/saturation
available: -128 ~ 127

- contrast: luma gain
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/contrast
available: -128 ~ 0

- bright: luma offset
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/bright
available: 0 ~ 127

- fscadj: dot crawl adjustment up to +-200ppm
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/fscadj
available: 0 ~ 65535

- ybw: luma bandwidth control.
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/ybw
available: 0 ~ 2

- cbw: chroma bandwidth control.
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/cbw
available: 0 ~ 2

- pedestal: determine whether video output has pedestal signal
/sys/devices/platform/c0000000.soc/c0101000.display_drm_tvout/pedestal
available: 0 ~ 1

Change-Id: Idbe35569edba669e5984ecf0f2c340a630cbc9b3
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoDRM: nexell: Add api for mlc top control
Sungwoo Park [Mon, 26 Mar 2018 07:48:33 +0000 (16:48 +0900)]
DRM: nexell: Add api for mlc top control

This patch adds api for mlc top control that is needed for
TV Out control.

Change-Id: I8f53040845560e1181e00d54af53167a8e123acb
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoDRM: nexell: divide v_active_len by 2 when interlace is set
Sungwoo Park [Mon, 26 Mar 2018 07:36:07 +0000 (16:36 +0900)]
DRM: nexell: divide v_active_len by 2 when interlace is set

This patch divides v_active_len sync parameter by 2 when interlace
flag is set.
Regardless of interlace flag, MLC must be set by LCD resolution.
So, v_active in dts must be set to LCD height but real v_active
value must be set by sync signal criteria.

Change-Id: Ie24c896770ce8cde4c6f012db047faa7fb1c3ef0
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agosoc: nexell: Add DAC power control tieoff
Sungwoo Park [Mon, 26 Mar 2018 07:32:18 +0000 (16:32 +0900)]
soc: nexell: Add DAC power control tieoff

This patch adds DAC power control tieoff.
Added definition is related to TV out power control.

Change-Id: I2be1cc0a9dd7f7215408da9a075d9e61a575c8ea
Signed-off-by: Sungwoo Park <swpark@nexell.co.kr>
6 years agoarm64: dtsi: artik711s: change pinctrl for bt/wlan
Jaewon Kim [Tue, 10 Apr 2018 05:29:30 +0000 (14:29 +0900)]
arm64: dtsi: artik711s: change pinctrl for bt/wlan

This patch changes pinctrl for bt/wlan enable, wakeup pin for rev03.

Change-Id: I01b633bba33528c6d07a6cad1801baa429857b9c
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: add new board revision dts
Jaewon Kim [Tue, 10 Apr 2018 04:51:55 +0000 (13:51 +0900)]
arm64: dtsi: artik711s: add new board revision dts

This patch adds rev03 dts file to support new revision board.

Change-Id: Id08806133dee765cfd0883878bab0894d6580276
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: artik711s-explorer: change spi master/slave port
Jaewon Kim [Wed, 4 Apr 2018 12:42:34 +0000 (21:42 +0900)]
arm64: dts: artik711s-explorer: change spi master/slave port

This patch changes to match the spi master/slave ports on MFG.

Change-Id: If953e30fc58708f3e77604ed12a47086a586e464
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: artik711s-explorer: decrease i2c clock
Jaewon Kim [Mon, 2 Apr 2018 12:25:58 +0000 (21:25 +0900)]
arm64: dts: artik711s-explorer: decrease i2c clock

EEPROM(24LC00) does not support 400Khz i2c clock in 3.3V Vcc.
So, this patch decreases i2c clock to 100khz.

Change-Id: I9840908980d5828d1a60d910db2876d8c6ef8dcd
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: artik711s-explorer: modify for i2s loopback
Jaewon Kim [Mon, 2 Apr 2018 12:22:21 +0000 (21:22 +0900)]
arm64: dts: artik711s-explorer: modify for i2s loopback

This patch modifies i2s_0 and i2s_1 property for loopback test.
i2s_0 and i2s_1 are connected by loopback and set properties for testing.

Change-Id: I40f39d4e64c53754c6ca1efbdf340695d90f38c3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agodrm/nexell: lcd: clear status if there is no panel
Chanho Park [Thu, 29 Mar 2018 11:31:35 +0000 (20:31 +0900)]
drm/nexell: lcd: clear status if there is no panel

If a panel driver is removed dynamically by unloading the driver, the
detect call did not clear the status correctly. If there is no panel,
it can be assumed the driver was unloaded. In this case, we should
clear the status if there is no matched drm_panel.

Change-Id: Ib31cd5226c1fd4387c060cff726f1cb7107a60a7
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
6 years agoartik711s_raptor: configs: enable ZN240 camera sensor driver
Sooman Jeong [Mon, 26 Mar 2018 12:03:06 +0000 (21:03 +0900)]
artik711s_raptor: configs: enable ZN240 camera sensor driver

This patch enables CONFIG_VIDEO_ZN240.

Change-Id: Ie3c6e9dc467c9c0e14a95a69e411b47a8a78a302
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agomedia: zn240: add ZN240 sensor driver
Sooman Jeong [Mon, 26 Mar 2018 12:01:14 +0000 (21:01 +0900)]
media: zn240: add ZN240 sensor driver

This patch introduces a ZN240 sensor driver.
The ZN240 is 1080p CMOS image sensor with an embedded SoC image
signal processor.
This sensor uses 8bit parallel interface and YUV422 image format.

Change-Id: I23d48195cf3dcf21f513a7982bb7f9e2e7b792d5
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agomedia: nexell: remove wrong assignment of bus_fmt
Sooman Jeong [Mon, 26 Mar 2018 08:17:46 +0000 (17:17 +0900)]
media: nexell: remove wrong assignment of bus_fmt

This patch removes wrong assignment of bus_fmt from set_fmt function,
and makes data_order in device tree as a mandatory option.
Since we have two options to set the bus_fmt; one is from DT and
the other one is from set_fmt, we should unify the option
for avoiding unexpected result.
Note that this invalid assignment causes wrong color output
when we use parallel type camera device.

Change-Id: I3329b721ad03226fc28db268536447ffabd80cd9
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
6 years agoarm64: dts: artik711s-explorer: Add dtb to support explorer board
Jaewon Kim [Tue, 27 Mar 2018 07:41:06 +0000 (16:41 +0900)]
arm64: dts: artik711s-explorer: Add dtb to support explorer board

This patch adds new artik711s-explorer dts files.
It is used for hwtest board.

Change-Id: I1c9d506091c3706d13c3e15e70af620350dac7ed
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: change spi slave/master port
Jaewon Kim [Tue, 27 Mar 2018 05:48:50 +0000 (14:48 +0900)]
arm64: dtsi: artik711s: change spi slave/master port

This patch changes to match explorer board for SPI slave/master.

Change-Id: I8c7674511e29120cfb9d226300c22b7bc6e3c61d
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoASoC: rt5659: fix null dereference error
Geonho Kim [Thu, 29 Mar 2018 01:03:26 +0000 (10:03 +0900)]
ASoC: rt5659: fix null dereference error

global_rt5659 variable dereference to rt5659 codec pointer that allocated
from rt5659_i2c_probe. but if i2c probing had failed for reason that not connected
on HW, dereference pointer also freed. To prevent this dereference issue,
it use codec own mutex variable.

Change-Id: I3a0101a0c8af0a7078d1340640b4f79e17e4c90f
Signed-off-by: Geonho Kim <gh007.kim@samsung.com>
6 years agowifi: bcmdhd: remove TDLS config
myunghoon.ahn [Wed, 28 Mar 2018 00:12:45 +0000 (09:12 +0900)]
wifi: bcmdhd: remove TDLS config

Remove TDLS configuration from Makefile to avoid wifi hang while TDLS setup.

Change-Id: I40f36e76025459a5d8276483da282b121994bf17
Signed-off-by: myunghoon.ahn <myunghoon.ahn@samsung.com>
6 years agoarm64: dtsi: artik711s: add i2s1 sound dai
Geonho Kim [Tue, 20 Mar 2018 02:00:09 +0000 (11:00 +0900)]
arm64: dtsi: artik711s: add i2s1 sound dai

This patch add i2s1 sound dai and i2c5 to control alc5658 codec.
sound device node is separated to sound0/sound1.
To match proper i2s0/1 line that selected by Mux,
sound device node also have to separate according to i2s 0/1 line

Change-Id: I2eb1dbaa93d4809f0f58f90bea4a9462ea5d923d
Signed-off-by: Geonho Kim <gh007.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: change gpio for wlan and bt
Jaewon Kim [Wed, 14 Mar 2018 11:57:51 +0000 (20:57 +0900)]
arm64: dtsi: artik711s: change gpio for wlan and bt

This patch changes gpio and pinctrl for Wlan and BT chip.

Change-Id: I9bdd0b30d029d755c9f6024d4b3862998b95131f
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: artik710: fix wrong pinctrl setup for BT
Jaewon Kim [Mon, 19 Mar 2018 07:50:28 +0000 (16:50 +0900)]
arm64: dts: artik710: fix wrong pinctrl setup for BT

This fixes wrong pinctrl setup for BT and WLAN.
AliveGPIO does not have pull-down.
And GPD28~30 must be set to FUNC0 to use GPIO.

Change-Id: I38ecc469218805b950518dc87a946a9e1f4e28d8
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: s3c64xx: remove duplicated memory allocation
Jaewon Kim [Wed, 14 Mar 2018 04:10:04 +0000 (13:10 +0900)]
spi: s3c64xx: remove duplicated memory allocation

spi_setup is called, the 's3c64xx_spi_csinfo' struct is allocated
and a memory leak occurs.
So this patch does not allocate additional memory,
if 'spi->controller_data' is exist.

This memory leak occurred after
"spi: s3c64xx: use the generic SPI" cs-gpios "property" patch.

Change-Id: I91ac5965ef04228da5fc3c9e3de2e0c5501d9e28
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: s5p6818: wait for devfreq update
Jaewon Kim [Tue, 6 Mar 2018 05:14:51 +0000 (14:14 +0900)]
spi: s5p6818: wait for devfreq update

s5p6818 SoC bus clock must be same to boot time frequency(400M).
It update the devfreq for this, But notifier do not wait
for clock change and does not sync.
So, this patch waits up to 5ms for clock change.

Change-Id: I3be6ec79c6176d6f33497a98c7bbfc1efda0c7bf
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoPM / devfreq: s5pxx18: Add devfreq get api
Jaewon Kim [Tue, 6 Mar 2018 02:03:14 +0000 (11:03 +0900)]
PM / devfreq: s5pxx18: Add devfreq get api

This patch adds nx_devfreq_get api to read current bus frequency.
Some device should know current bus freq.

Change-Id: I2e5e0158fa98ebee8c53b6fec38f69f0b6817560
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: Dongil Park <dongil01.park@samsung.com>
6 years agoPM / devfreq: s5pxx18: extend mutex range in notifier
Jaewon Kim [Tue, 27 Feb 2018 05:01:29 +0000 (14:01 +0900)]
PM / devfreq: s5pxx18: extend mutex range in notifier

If an additional notifier comes during devfreq change,
the currnt frequency that has not been updated can be read.
In this case, this notifer is missed.

Change-Id: I604b49cce08e2082251cd3856a1b414a28f45a81
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: add mutex to protect data transfer
Jaewon Kim [Wed, 21 Feb 2018 13:25:50 +0000 (22:25 +0900)]
spi: add mutex to protect data transfer

Data transfer may fail if another spi slave device is setup
during data transfer.
To protect this case, this patch adds mutex to protect the data transfer.

Change-Id: Ic7dfcf4c61bea7e3584194d7713b2c1267baa8e8
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agospi: s5p6818: clear interrupt in fail case
Jaewon Kim [Thu, 22 Feb 2018 02:58:31 +0000 (11:58 +0900)]
spi: s5p6818: clear interrupt in fail case

This patch flush fifo and clear interrupt in timeout fail case
to resume communication. And add timeout value to increase tolerance.

Change-Id: Id04e9cd53a5bf8fe0ca000af5c7a276d594281cf
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoARM: dts: s5p4418: reduce spi max clock
Jaewon Kim [Fri, 16 Mar 2018 06:25:46 +0000 (15:25 +0900)]
ARM: dts: s5p4418: reduce spi max clock

This patch temporarily reduced the clk clock
due to compatibility issues with userspace.

Change-Id: I79d37da082fbaef1827985c81df7d6849df47441
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dts: s5p6818: reduce spi max clock
Jaewon Kim [Fri, 16 Mar 2018 06:04:48 +0000 (15:04 +0900)]
arm64: dts: s5p6818: reduce spi max clock

This patch temporarily reduced the clk clock
due to compatibility issues with userspace.

Change-Id: I3876f3da51c9162f1b26cd9c323ba6fa9573dfb1
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: change i2c_11 gpio
Jaewon Kim [Wed, 14 Mar 2018 11:54:18 +0000 (20:54 +0900)]
arm64: dtsi: artik711s: change i2c_11 gpio

This patch changes the GPIO of i2c_11 used for XMCU.

Change-Id: If489ee236e99333fd90ca1519aae723a39c1fdf3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoarm64: dtsi: artik711s: change external to AP RTC
Jaewon Kim [Wed, 14 Mar 2018 11:16:33 +0000 (20:16 +0900)]
arm64: dtsi: artik711s: change external to AP RTC

This patch removes external RTC using i2c_5 and enable AP RTC.

Change-Id: I4bd4c5b36fe3f6d4496bff30dd52e6468a586ad1
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
6 years agoconfigs: add defconfig for the artik711s raptor board
Chanho Park [Fri, 9 Mar 2018 04:34:12 +0000 (13:34 +0900)]
configs: add defconfig for the artik711s raptor board

This patch is to add kernel configuration for the artik711s raptor
board.

Change-Id: Ibe7214d3383354b38c6836fb238c08d6f3003b6e
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
6 years agoarm64: dts: s5p6818: add artik711s device tree configurations
Chanho Park [Fri, 9 Mar 2018 04:30:23 +0000 (13:30 +0900)]
arm64: dts: s5p6818: add artik711s device tree configurations

This patch adds initial device tree configurations for the artik711s
which is based on nexell s5p6818 chip. The main differences are changes
about the eMMC and sdcard port. Furthermore, it removed the mipi-dsi
port.

- SPI0 enable
- GPIO Key enable
- pwm2 disable
- serial5 enable
- i2c_4 disable
- adjust sd2 drive strength

Change-Id: I69bb0c83a94f11931279b03c0e2dd161ed3e5884
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>