Eunyoung Lee [Wed, 23 May 2018 06:22:08 +0000 (15:22 +0900)]
[9610] fimc-is2: Added new enum for Bayer+, Bayer_compressor and MONO
Change-Id: I43905332b705439d3c82506509f93e568202709c
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Cho KyongHo [Fri, 25 May 2018 11:33:41 +0000 (20:33 +0900)]
fimc-is-2: move to the new dma-buf-container
The new, working dma-buf-container is introduced by the commit
ee1d9055d ('dma-buf: introduce dma-buf container'). It still supports
the same API functions but the contexts are slightly changed because
the design of dma-buf-container is changed.
Specifically, dmabuf_container_get_count() now returns -EINVAL instead
of 0 for the dma-bufs that is not a dma-buf-container. This change of
return value comes from the fact that dma-buf-container allows having
no dma-buf by its design although it is impossible to create an empty
dma-buf-container in practice.
Change-Id: I8c8c6698a513e6c18bbc43a4734594a484028699
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Fri, 23 Feb 2018 02:04:54 +0000 (11:04 +0900)]
media: fimc-is2: fix vfree() in atomic context
vfree() called in fimc_is_spin_lock_finish() works in an atomic
context created by spinlock.
BUG: sleeping function called from invalid context at mm/vmalloc.c:1490
in_atomic(): 1, irqs_disabled(): 128, pid: 3172, name: provider@2.4-se
1 lock held by provider@2.4-se/3172:
#0: (&((spinlock_t *)*slock)->rlock){....}, at: [<
ffffff80086dc168>] fimc_is_spin_lock_ir
Preemption disabled at:
[<
ffffff80086dc168>] fimc_is_spin_lock_irqsave+0x14/0x1c
CPU: 4 PID: 3172 Comm: provider@2.4-se Tainted: G W
4.14.20-g90d0e51-dirty #45
Hardware name: Samsung UNIVERSAL9810-2-rev02 board based on EXYNOS9810 (DT)
Call trace:
[<
ffffff800808ca74>] dump_backtrace+0x0/0x458
[<
ffffff800808cee0>] show_stack+0x14/0x1c
[<
ffffff800897ef7c>] dump_stack+0x84/0xac
[<
ffffff80080d81dc>] ___might_sleep+0x14c/0x16c
[<
ffffff80080d826c>] __might_sleep+0x70/0x80
[<
ffffff80081eb158>] remove_vm_area+0x28/0x9c
[<
ffffff80081eb274>] __vunmap+0xa8/0xcc
[<
ffffff80081eb368>] vfree+0x7c/0x84
[<
ffffff80086db09c>] fimc_is_spin_lock_finish+0x160/0x18c
[<
ffffff80fa090778>] 0xffffff80fa090778
[<
ffffff80fa0af4e8>] 0xffffff80fa0af4e8
[<
ffffff80fa175e3c>] 0xffffff80fa175e3c
[<
ffffff80fa1764e8>] 0xffffff80fa1764e8
[<
ffffff80fa13f8a0>] 0xffffff80fa13f8a0
[<
ffffff80fa152500>] 0xffffff80fa152500
[<
ffffff80fa15255c>] 0xffffff80fa15255c
[<
ffffff80fa13da28>] 0xffffff80fa13da28
[<
ffffff80fa09176c>] 0xffffff80fa09176c
[<
ffffff80fa09da80>] 0xffffff80fa09da80
[<
ffffff80fa08eae0>] 0xffffff80fa08eae0
[<
ffffff80086e1d50>] fimc_is_lib_isp_object_destroy+0x90/0xd4
[<
ffffff80086c32a0>] fimc_is_hw_isp_deinit+0x34/0x50
[<
ffffff80086be1e0>] fimc_is_hardware_close+0x140/0x39c
[<
ffffff800868db8c>] fimc_is_itf_close_wrap+0x1dc/0x228
[<
ffffff80086858ac>] fimc_is_ischain_close_wrap+0x248/0x2dc
[<
ffffff80086889ac>] fimc_is_ischain_vra_close+0x18c/0x1f0
[<
ffffff8008677090>] fimc_is_vra_video_close+0x50/0x158
[<
ffffff80085edfb4>] v4l2_release+0x38/0x7c
[<
ffffff8008203d68>] __fput+0xf4/0x1b8
[<
ffffff8008203e88>] ____fput+0xc/0x14
[<
ffffff80080cbee8>] task_work_run+0x90/0xbc
[<
ffffff800808c480>] do_notify_resume+0xe4/0xf0
Change-Id: Ic9b80afe4ef531871d9347f45e35eaed5ac18d76
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Cho KyongHo [Mon, 12 Feb 2018 07:13:39 +0000 (16:13 +0900)]
media: fimc-is2: fix use of ION API for 4.14 kernel
ION is dramatically changed in 4.14 kernel including kernel API and
the header files. But the symantics of ION API is not changed.
Change-Id: I636ffdfa8a6e14937cc81dab93901f7c4740cf71
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Jeongtae Park [Mon, 26 Mar 2018 02:39:24 +0000 (11:39 +0900)]
[COMMON] fimc-is2: fix a typo (SYNNY -> SUNNY)
Change-Id: Ieeb22b673ae6d04e41fdb66d042fff5c70491dac
Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Sanghoon Lee [Mon, 26 Mar 2018 06:14:22 +0000 (15:14 +0900)]
[9810] fimc-is2: Set default value into the input DMA order on error case
Change-Id: Ie3420d6df394cbdb3f81dad19b1484927b48b15d
Signed-off-by: Sanghoon Lee <shoon114.lee@samsung.com>
Jeongtae Park [Mon, 26 Mar 2018 02:37:59 +0000 (11:37 +0900)]
[COMMON] fimc-is2: use same 'frame state' enum. in H/W control
Change-Id: I0e882c329037bca51e59417b5aa114af9d498fd3
Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Eunyoung Lee [Tue, 8 May 2018 04:44:31 +0000 (13:44 +0900)]
[COMMON] fimc-is2: added sensor setting for 2T7SX
- 5184x3880_24fps,
- 4608x3456_30fps, 4608x2624_30fps, 4608x2240_30fps,
- 1152x864_120fps,
Change-Id: Ic2a712173b7ae1b8ab663de03c81410afaeb8c9d
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Tue, 8 May 2018 04:42:03 +0000 (13:42 +0900)]
[COMMON] fimc-is2: added sensor setting for 2P7SQ
- 4640x3488_30fps, 4608x3456_30fps, 4608x2624_30fps, 4608x2240_30fps,
- 2304x1312_30fps, 2304x1728_30fps,
- 1152x864_120fps
Change-Id: I33521a75e8467134f1c3ab323e3bf745c1e9c090
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Thu, 26 Apr 2018 01:09:16 +0000 (10:09 +0900)]
[COMMON] fimc-is2: added compile option for unused code - DCP
Change-Id: Ia16b77ba4f4471f6e29ddaea4d727cf080d0110d
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Thu, 19 Apr 2018 07:05:32 +0000 (16:05 +0900)]
[9610] fimc-is2: modified SYSREG_CAM settings for mux_3aa_val
Change-Id: Iea2483552ce36360dc8e213f5ae4bfa66a298567
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Fri, 20 Apr 2018 07:22:51 +0000 (16:22 +0900)]
[COMMON] fimc-is2: added a mutex sysreg_lock for sysreg sfr settings
Change-Id: I47b4cf055be04b4149260daef4972a2ce9e942c4
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Fri, 6 Apr 2018 02:55:53 +0000 (11:55 +0900)]
[9610] camerapp: gdc: modify gdc out_scale factor value
Change-Id: I6dfe93a73e74048db64e633afe4a44d08d63a9da
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Thu, 22 Mar 2018 07:37:06 +0000 (16:37 +0900)]
[COMMON] fimc-is2: modify LDO setting for 3H1 sensor
Change-Id: I2157ba1f23a8c9fb3779e6b26fe53b7dbae70249
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 19 Mar 2018 05:08:06 +0000 (14:08 +0900)]
[COMMON] fimc-is2: sync sensor_interface with (DDK rev.9209)
Change-Id: I76c67c386b2be15b566ceeaac4c0a46ce2a2fdc7
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 19 Mar 2018 05:06:17 +0000 (14:06 +0900)]
[COMMON] fimc-is2: sync Metadata with (DDK rev.9209)
Change-Id: If602fa70beb9941be6edd2042099524647c02868
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 05:18:58 +0000 (14:18 +0900)]
[9610] fimc-is2: modify selecting MCSC OTF output path
Change-Id: If4e6f2c322477625fc24db62aae4dea9af666704
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:58:47 +0000 (13:58 +0900)]
[COMMON] fimc-is2: fixed pafstat compile error after LT sync.
Change-Id: I792faa6332f5b1882630f6eb8758292c25cd3aa6
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:22:41 +0000 (13:22 +0900)]
[COMMON] fimc-is2: fixed mcsc_v410 compile error after LT sync.
Change-Id: I1dda9bb59889ad57d5492871fdf7ff7eea4e69c9
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:20:47 +0000 (13:20 +0900)]
[9610] fimc-is2: fixed dvfs compile error after LT sync.
Change-Id: I69fc26793b2b53ed204bf8dca34afa98d97cb28f
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:43:23 +0000 (13:43 +0900)]
[9610] fimc-is2: BUG_ON to FIMC_BUG patch of ischain files
Change-Id: I9db13a3a88f169ae2dc4285a1fad1ac24465d8b5
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:52:02 +0000 (13:52 +0900)]
[9610] fimc-is2: remove unused fimc-is-interface-fd codes
Change-Id: I6270fe9e95023e4d8a677f5b80c3357b6fab288b
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 04:26:00 +0000 (13:26 +0900)]
[COMMON] fimc-is2: BUG_ON to FIMC_BUG patch of module_framework/cis files_2
Change-Id: Ic9cdece17dba90c593027106808ec0d206bdd8d5
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Mar 2018 01:47:52 +0000 (10:47 +0900)]
[9610] fimc-is2: add structure for fast FDAE
Change-Id: Ib177988ada248be4d80d396ec68bfa38e2bd2bde
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Fri, 2 Mar 2018 10:04:40 +0000 (19:04 +0900)]
[9610] fimc-is2: added FULL_OTF_GROUP_TAIL_ID define
Change-Id: I8bdc2cc34ca78a4ada19aca6b17588a48c5b4efd
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Wed, 7 Feb 2018 04:53:04 +0000 (13:53 +0900)]
[COMMON] fimc-is2: Modified to get hashkey value for timestamp in full-otf FRO hight speed recording
Change-Id: Ia3133def16e9281140d6ced07b07fb998d0e2808
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Sunmi Lee [Fri, 29 Dec 2017 07:16:47 +0000 (16:16 +0900)]
[COMMON] fimc-is2: Adjusted the number of shots for high speed recording
Change-Id: I19e7698ec8ee836954866fa297236314928f4103
Signed-off-by: Sunmi Lee <carrotsm.lee@samsung.com>
Sunmi Lee [Fri, 29 Dec 2017 07:07:32 +0000 (16:07 +0900)]
[COMMON] fimc-is2: Fix a bug of calling condition for up(smp_trigger) with FRO
Change-Id: I1d899c527a45e92016e34fbcd9a21adac26004b5
Signed-off-by: Sunmi Lee <carrotsm.lee@samsung.com>
Eunyoung Lee [Tue, 13 Feb 2018 09:27:04 +0000 (18:27 +0900)]
[COMMON] fimc-is2: fixed a prevent defect(CID214802)
- resource leak : CID 214802
Change-Id: I3837c7f092f1e235b5a5e27dbc8b4a493c7e3299
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 5 Feb 2018 02:06:34 +0000 (11:06 +0900)]
[COMMON] fimc-is2: fixed a bug for full_otf recovery shot
Change-Id: I7d9e3d0ce4df2b696e49870cfe534d1e66557d4e
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 22 Jan 2018 06:41:25 +0000 (15:41 +0900)]
[COMMON] fimc-is2: Add LC898217 actuator files
Change-Id: I9d3df91c7d8e63d4c4761cb6b674739158a7f050
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 22 Jan 2018 06:38:39 +0000 (15:38 +0900)]
[COMMON] fimc-is2: Add S5K2T7SX sensor files
Change-Id: Ie3e67a9fd9fb8da0564f6018f91c9068e54d5c78
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 22 Jan 2018 06:36:00 +0000 (15:36 +0900)]
[COMMON] fimc-is2: Add S5K2P7SQ sensor files
Change-Id: I306b87e58230817e26cdda06ac57fad36136589a
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Eunyoung Lee [Mon, 22 Jan 2018 02:29:48 +0000 (11:29 +0900)]
[COMMON] fimc-is2: add sensor enum for S5K2P7SQ, S5K2T7SX
Change-Id: I6c8cc38cadc218d5b8ec2400bf0a91c8592664da
Signed-off-by: Eunyoung Lee <ey470.lee@samsung.com>
Jeongtae Park [Fri, 1 Jun 2018 00:22:49 +0000 (09:22 +0900)]
Revert "Revert "Revert "[COMMON] media: fimc-is2: Implement 'fimc_is_kernel_neon_begin/end()' for FPSIMD"""
This reverts commit
4f180fec6449325996e0c355bc9d80c3d123dc32.
Change-Id: I832280b4dee4392e08da2015fa5d6da157c8ec63
Jeongtae Park [Fri, 1 Jun 2018 00:14:14 +0000 (09:14 +0900)]
[HACK] arm64: add cpu information log
Change-Id: I052697b4a5bfa77f9351a5659989d522fba1ab18
Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Jeongtae Park [Fri, 1 Jun 2018 00:11:00 +0000 (09:11 +0900)]
arm64: add support for kernel mode NEON in any context without preemption
Change-Id: I6be8365f65f6dc8d894e21174fdd3d6070bfae25
Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Jeongtae Park [Fri, 1 Jun 2018 00:03:33 +0000 (09:03 +0900)]
Revert "arm64: neon: Remove support for nested or hardirq kernel-mode NEON"
This reverts commit
cb84d11e1625aa3a081d898ca2640bf3a9ca0e96.
Change-Id: I710273beb3ebd06ba3ee770a80716f95ec0592c0
Jeongtae Park [Thu, 31 May 2018 23:58:57 +0000 (08:58 +0900)]
Revert "arm64: neon: Temporarily add a kernel_mode_begin_partial() definition"
This reverts commit
174dfb12860eac361f3ced9fefb51393fec5bd32.
Change-Id: I9f1a2c8ec561c3334bb87a856ced62525cbd3a4d
Jeongtae Park [Thu, 31 May 2018 10:44:39 +0000 (19:44 +0900)]
Revert "arm64: add support for kernel mode NEON in any context without preemption"
This reverts commit
5341188fb3934e2e137bbb5d6f415caf703c1ea4.
Change-Id: I81073ca12bb52f356cb34b46c1c80e535cfa0b59
Wooki Min [Sun, 30 Apr 2017 11:32:18 +0000 (20:32 +0900)]
[COMMON] fimc-is2: sync FIMC-IS driver based on 4.9 kernel
Change-Id: If662f0b0032dc812dd19f63c62ac6f6581b01229
Signed-off-by: Wooki Min <wooki.min@samsung.com>
Sunmi Lee [Mon, 27 Jun 2016 13:19:15 +0000 (22:19 +0900)]
[HACK] media: v4l2-core: disable warning
Change-Id: Ib7fc844e977fce269605541a577eeb74174b9b1f
Signed-off-by: Sunmi Lee <carrotsm.lee@samsung.com>
Wooki Min [Fri, 28 Apr 2017 15:00:17 +0000 (00:00 +0900)]
[HACK] include: media: revert v4l2_subdev_core_ops callback
This patch will be reverted after implementing v4l2 control framework
at FIMC-IS driver.
Change-Id: I9d1b59e04fbc17109b158ee15d7b5431ffb05378
Signed-off-by: Wooki Min <wooki.min@samsung.com>
Jeongtae Park [Thu, 10 Nov 2016 06:39:58 +0000 (15:39 +0900)]
arm64: add support for kernel mode NEON in any context without preemption
Change-Id: I09a5d88cc304ca1dba9fabf3f4c29aacebd88771
Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Signed-off-by: Wooki Min <wooki.min@samsung.com>
ShinHyung [Fri, 18 May 2018 09:17:00 +0000 (18:17 +0900)]
[9610] ASoC: abox: Added abox driver for 4.14 kernel
Change-Id: I4dff3f2d9254e54f581ad6fd0d5567ed16aaa980
Signed-off-by: ShinHyung <s47.kang@samsung.com>
Paul Handrigan [Thu, 4 May 2017 19:49:04 +0000 (14:49 -0500)]
ASoC: cs35l35: Add use_single_rw to regmap config
Add use_single_rw to regmap config. When trying to re-sync
the registers after a reset, the values will only go back to
their original state if they are written using a single rw.
Change-Id: I6b948f38b80901f62d406130c640c4403c8efa04
Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Fri, 20 Apr 2018 14:46:39 +0000 (15:46 +0100)]
extcon: madera: Tidy up handling of micd_pol_gpio
Change-Id: I134774218d10a87abf924c7c8831fceda8f37270
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
jbodzay [Tue, 3 Apr 2018 15:21:58 +0000 (16:21 +0100)]
ASoC: madera: Update calculation of I2S slot width
Allow for different slot and data widths by determining slot width
separately from data width.
Change-Id: I3a143d671a47f584c206b4a174ee433663e424af
Signed-off-by: James Bodzay <james.bodzay@cirrus.com>
Vitaly Rodionov [Fri, 9 Mar 2018 14:41:50 +0000 (14:41 +0000)]
mfd: madera: Change regulator_get_exclusive() to regulator_get().
On some platforms observed, like qcom and rpi
for example, calls to regulator_get_exclusive() fails.
Changing regulator_get_exclusive() to ordinal regulator_get()
will illuminate dependency on unexpected platforms behaviour.
Change-Id: I8fe9ef78d8aa3c1f39c64b24ef7458013e4b6135
Signed-off-by: Vitaly Rodionov <vitaly.rodionov@cirrus.com>
Richard Fitzgerald [Wed, 28 Feb 2018 12:44:00 +0000 (12:44 +0000)]
mfd: madera: Make pinctrl a child devicetree node
If the of_node of a pinctrl contains pinctrl-n entries the
pinctrl core will attempt to bind all those entries against
that pinctrl driver even if they refer to other pinctrl
drivers.
To work around this, move our pinctrl driver to be a child
node of our mfd so that its of_node doesn't contain any
pinctrl-n references.
Change-Id: I37138a860edbbee3fedcfc505b23557406d7486e
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Richard Fitzgerald [Wed, 28 Feb 2018 10:52:44 +0000 (10:52 +0000)]
pinctrl: madera: Update to devicetree bindings
Main change is that the description of how to declare
states in the parent mfd driver is now moved to the mfd
driver's binding doc, so it can be deleted from here.
Change-Id: Ie0e9b6f719d6b5b1d84e7f0e6c946f171e56cc62
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Richard Fitzgerald [Wed, 28 Feb 2018 10:49:40 +0000 (10:49 +0000)]
mfd: madera: Register pinctrl early and add custom states
The pinctrl subsystem tries to bind all referenced pinctrl
settings in a driver's devicetree node before probing it.
If any of the pins don't exist the entire configuration will
be ignored.
Our pinctrl driver is a child of the mfd so will never exist
at this point, so the pinctrl setup will be abandoned. This
means any external pinctrl dependencies, such as the GPIO
controlling reset, won't be applied before the mfd starts probe.
This can be avoided by registering the pinctrl driver early
and then calling pinctrl_get() to cause another evaluation
of pinctrl bindings for this driver. For this to work we
cannot use the "default" pinctrl state because that will be
applied before we have probed the codec sufficiently to
actually apply any settings. Instead there are two new
explicit pinctrl states:
"probe" - external dependencies needed to probe the codec but
excluding the configuration of our own GPIOs. More
generically this excludes pinctrl settings that cannot
be applied until after mfd has probed.
"active" - applied after the probe is completed, includes
all the primary dependencies in "probe" plus any
configuration of our own pinctrl.
Change-Id: I5eab97aa73b9d25edaf6aec3b6922fdcfc3a60a7
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Richard Fitzgerald [Sat, 3 Mar 2018 17:30:34 +0000 (17:30 +0000)]
extcon: madera: Fix skipping of ranges < external resistor
The loop for skipping external ranges should start at the first
valid range. It was starting at 0 which on cs47l15 had the effect
of changing hpdet_init_range to 0.
Change-Id: If4783b66b661dceca28aaa5617f6494af7898c5f
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 10:17:22 +0000 (10:17 +0000)]
ASoC: cs47l15: Add AEC2 loopback support
Change-Id: I414c35c22e4a61c1fb690ca921997c84bf871ef1
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 10:14:36 +0000 (10:14 +0000)]
mfd: cs47l15: Add DAC_AEC_CONTROL_2 register
Change-Id: I8fd0e582ee0217ae9f3b09b73662496c5117dddb
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Richard Fitzgerald [Fri, 2 Dec 2016 10:47:53 +0000 (10:47 +0000)]
mfd: cs47l15: Update register patch for latest errata
Update the register patch according to the latest errata information
(CS47L15 ER1145A0R1)
Change-Id: I8f1cc798b2e43b3f8b0a283247d8480900373f4f
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Jaswinder Jassal [Wed, 31 Aug 2016 17:30:51 +0000 (18:30 +0100)]
ASoC: cs47l15: Add IN1 mid-mode support
Change-Id: I0cab152c40a00684f45c5c1df203edcb044cb7db
Signed-off-by: Jaswinder Jassal <jjassal@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Jaswinder Jassal [Wed, 31 Aug 2016 17:14:44 +0000 (18:14 +0100)]
mfd: cs47l15: Add registers for mid-mode support
Change-Id: Ib1bfa5fa888f1fafc472c0645b0208281dda7aec
Signed-off-by: Jaswinder Jassal <jjassal@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Jaswinder Jassal [Fri, 9 Sep 2016 17:24:17 +0000 (18:24 +0100)]
mfd: cs47l15: Fix an update made to patch file
Change-Id: I4592d3ba6521d6ad714ced9df05b2e92d3e2f41e
Signed-off-by: Jaswinder Jassal <jjassal@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Richard Fitzgerald [Fri, 9 Sep 2016 14:20:51 +0000 (15:20 +0100)]
mfd: cs47l15: Fix incorrect register defaults
Update the register defaults for patched registers to
be the patch value.
Change-Id: If509efff07580345123758521e7cd654603c28a3
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Thu, 1 Mar 2018 15:28:05 +0000 (15:28 +0000)]
extcon: madera: Add HPDET calibrations for CS47L15
Change-Id: Ic9918418c5a7adea755af1395b2edd2dac6c2401
Signed-off-by: Jaswinder Jassal <jjassal@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Wed, 17 Aug 2016 15:19:30 +0000 (16:19 +0100)]
mfd: cs47l15: Update patch file
Update with the latest device tuning.
Change-Id: I6dc4d55ec480f7d1faa794b4cbaf8ac88ae12007
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Charles Keepax [Thu, 1 Mar 2018 15:25:36 +0000 (15:25 +0000)]
extcon: madera: Add tuning for cs47l15 based on HP impedance
Change-Id: I022127c124da8c84237a14dfeb17980e405afb50
Signed-off-by: Jaswinder Jassal <jjassal@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Richard Fitzgerald [Wed, 6 Jul 2016 15:03:19 +0000 (16:03 +0100)]
ASoC: cs47l15: Add codec driver for CS47L15
Adds cs47l15 codec driver and necessary patches to the core
madera.c code.
Change-Id: Ieb44558141c1832c84094652358b42e1e2974912
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Thu, 1 Mar 2018 15:18:55 +0000 (15:18 +0000)]
extcon: madera: Support CS47L15
The CS47L15 accessory detect is similar to CS47L90 ACCDET1,
but has a 33 ohm offset and detection range 00 is not used
Change-Id: I9672c990d7688cecfbc46dcdd3f8b06c93d40eb2
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 11:19:44 +0000 (11:19 +0000)]
pinctrl: madera: Add support for cs47l15
Change-Id: I75bfd5405cb5f9c3f2acdf8302ed933a067a74ff
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Richard Fitzgerald [Wed, 6 Jul 2016 13:48:16 +0000 (14:48 +0100)]
gpio: madera: Add support for CS47L15
Change-Id: Ib8ecd3cf4447d7a1c9ea9667df71bc853e572f6b
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Richard Fitzgerald [Wed, 6 Jul 2016 13:13:11 +0000 (14:13 +0100)]
mfd: madera: Add support for cs47l15
Change-Id: Id3d9c3839858d24123d24d3d114dc4ffd10d1323
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 17:30:04 +0000 (17:30 +0000)]
mfd: madera: Add supply mapping for MICVDD
Currently we are relying on the exact match of the regulator name to
find MICVDD, we should add an explicit supply mapping to allow this to
be found more reliably.
Change-Id: Ib4453731d873827b80fb75ee43564c21044329e4
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 15:51:35 +0000 (15:51 +0000)]
ASoC: madera: Add preloading controls
Only cs47l92 actually registers controls for the preloading add these
for the other CODECs.
Change-Id: Id3d9db64a5546de30089c36835e59d59bb2af490
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Fri, 2 Mar 2018 15:42:19 +0000 (15:42 +0000)]
extcon: madera: Write hpdet_init_range during probe
Currently, hpdet_init_range is only written to the hardware in
madera_hpdet_stop and madera_hpdet_restart. Neither of these will be
called before the first headphone detect meaning that the first
headphone detect will start at the wrong range.
Change-Id: I174f20c8da3a11d3bd3a6cac124746e182858c2e
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Tue, 12 Dec 2017 15:49:54 +0000 (15:49 +0000)]
ASoC: madera: Preloading without clocks should be fine
The always on osc will cover the clocking requirements whilst
preloading.
Change-Id: I93cc30b83821c6351a2c04d8a43e9414833ce688
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Tue, 12 Dec 2017 16:15:16 +0000 (16:15 +0000)]
ASoC: madera: Add missing preloader route
Without this route the preload switch won't cause the DSP to load any
firmware.
Change-Id: I0d770750b3094b51ced5fc54bc9ce5864901740c
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 15:03:59 +0000 (15:03 +0000)]
ASoC: madera: Don't clean up bus error IRQ in codec_remove
The bus error IRQ is requested in bus probe and so should be cleaned up
in bus remove. There is already a call to do this in bus remove so just
remove the duplicated free in codec_remove.
Change-Id: If867d75b672d8dd55db42f93b7c1f4d5cae19606
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 14:18:41 +0000 (14:18 +0000)]
irqchip: madera: Avoid double free of primary IRQ
The primary IRQ was requested from within regmap_irq and regmap_irq will
also free it, so the free here in remove is a duplicate.
Change-Id: I149062db0eb8f3b26af24a9b5c144a4b273c72b3
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 14:16:42 +0000 (14:16 +0000)]
irqchip: madera: Don't clear irq_dev until we are finished using it
irq_dev is still required for madera_free_irq as it will call
madera_map_irq, so don't clear it until after we are finished with it.
Change-Id: I747eea13d38d3b9acc8c522da44672d488a3d5a7
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 14:11:01 +0000 (14:11 +0000)]
irqchip: madera: Check irq_dev before dereferencing
We should check if irq_dev is valid before we dereference it by passing
it to dev_get_drvdata.
Change-Id: Ifc0cae729de342f4d2828af7c51b3d0b855b6342
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 14:08:35 +0000 (14:08 +0000)]
extcon: madera: Get micd_pol_gpio against extcon device not madera
If we devm get the micd_pol_gpio against the madera device it won't be
destroyed until after all the children of the MFD. Usually the
micd_pol_gpio will be supplied by the Madera GPIO driver, this means the
GPIO will normally only be freed after its driver has been removed.
Correct this issue by getting it against the extcon device such that the
GPIO is freed when the extcon device is destroyed, which should happen
before the GPIO device.
Change-Id: I35a3ee9eba7f9edf5c6aba47dd03f6e0ecbe9692
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 16:08:05 +0000 (16:08 +0000)]
ASoC: madera: Add missing newline on debug print
Change-Id: I5b005ccee2e1d4e70a1f74aace2e39bd43189bba
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Charles Keepax [Mon, 11 Dec 2017 15:43:43 +0000 (15:43 +0000)]
extcon: madera: Fix minor whitespace issue
Change-Id: I3e126963755964b7dcd1eacc3dfe2f6f441a8dbb
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Stuart Henderson [Mon, 29 Jan 2018 16:18:27 +0000 (16:18 +0000)]
ASoC: cs47l85: Fix up dapm clock routing
Change-Id: I699a0db068f2abf58dc4d8c362b0144f1fde5f61
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
Richard Fitzgerald [Fri, 4 Aug 2017 13:33:37 +0000 (14:33 +0100)]
irqchip: madera: Add handler for BOOT_DONE interrupt
This gives a place to hang a debug log that can be enabled for
debugging boots.
Change-Id: I02333ba0c0a9018e93cd3bd97367ea9fafb6afce
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 4 Aug 2017 13:28:51 +0000 (14:28 +0100)]
irqchip: madera: Sync code with upstream implementation
Main benefit of syncing with upstream is the new way the table
of interrupts bits is defined that avoids having a lot of hardcoded
offset values.
Change-Id: I2b8469755c80f9f4f6c31e428053d5c7ab11578c
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Stuart Henderson [Wed, 24 Jan 2018 10:52:25 +0000 (10:52 +0000)]
ASoC: cs47l92: Fix up a dapm clocking route
Change-Id: Iefffbc6d7013587a49d4edee04a919ae44304312
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
baratam [Thu, 18 Jan 2018 13:01:57 +0000 (18:31 +0530)]
madera: anc: correct setting of FCL_ADC_REFORMATTER_CONTROL
Change-Id: I4dfdc63ec9e6926804a0e5ed5ac76db410002712
Signed-off-by: baratam <sapthagiri.baratam@cirrus.com>
Richard Fitzgerald [Fri, 4 Aug 2017 10:26:39 +0000 (11:26 +0100)]
extcon: madera: Mark output shorted when less than short impedance
We should be updating out_shorted[] based on the measured impedance so
that the codec driver knows whether it is safe to enable the output.
Change-Id: Idfa200589d638f9ae3b501debfa1546d4ed1615e
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 4 Aug 2017 12:31:17 +0000 (13:31 +0100)]
extcon: madera: Correct handling of minimum short circuit impedance
If there is an external resistance <= 4 ohms and the configured short
impedance had to be adjusted up to be in measurable range it was being
set too high because the adjusted threshold didn't take account that
it should be reduced by the external resistance.
Change-Id: I9b76d643b6533c3fa4f220f56c949303eaeff833
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 4 Aug 2017 10:12:53 +0000 (11:12 +0100)]
extcon: madera: Add a separate variable for short circuit impedance
Add a separate variable to store the short circuit impedance leaving the
hpdet_short_circuit_imp to reflect the value set through device
tree.
Change-Id: I7c919cabc4c9edbb943719bfc944cb30b6af4907
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Tue, 1 Aug 2017 12:01:14 +0000 (13:01 +0100)]
extcon: madera: Read micd ranges from devicetree
This adds a devicetree node cirrus,micd-ranges to populate the
list of button levels and corresponding key events.
Change-Id: I2c4c4c6e938a137694a4e752367e25e5e637d2c4
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Stuart Henderson [Thu, 21 Sep 2017 10:51:03 +0000 (11:51 +0100)]
ASoC: cs47l90: Wait for asyncclk to stabilise after enable
Give asyncclk at least 1.5ms to settle after being enabled before
starting to use it.
Change-Id: Ic46ccfe875882cc982b9472ec7efc6823c888391
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
Stuart Henderson [Wed, 1 Nov 2017 15:07:46 +0000 (15:07 +0000)]
extcon: madera: Ensure micd read failures are caught
The use of madera_ohm_to_hohm was causing an error code to be lost when
passed to the .reading function.
Change-Id: Ie1741b47fb7491ba33d1dd5f9580dc975c130d9b
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
Stuart Henderson [Mon, 18 Sep 2017 17:11:23 +0000 (18:11 +0100)]
ASoC: madera: Fix up input ganging and which inmode field controls dmode
De-gang certain inputs, where the dmic pins weren't split between left and
right channels. Also tie the dmic mode to the appropriate input pin,
instead of always defaulting to INxAL.
Change-Id: I8e2231b5b7b3b89fbc12fa11b517926ca6f550b0
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
apandey [Mon, 18 Sep 2017 12:52:06 +0000 (18:22 +0530)]
ASoC: cs47l90: Add AEC2 Loopback support
Add AEC2 Loopback support to have more than one AEC reference.
Change-Id: I5582aa189d6fe80e3f8e84f9ec2a759dba4beb08
Signed-off-by: apandey <ajit.pandey@cirrus.com>
apandey [Mon, 18 Sep 2017 12:41:21 +0000 (18:11 +0530)]
mfd: cs47l90: Make DAC_AEC_CONTROL_2 readable
Change-Id: Ia8bf1f6c10019fa2859aa90b7587f3b7b52e1164
Signed-off-by: apandey <ajit.pandey@cirrus.com>
Stuart Henderson [Fri, 1 Sep 2017 11:56:39 +0000 (12:56 +0100)]
extcon: madera: Avoid uninitialized pointer dereference
Change-Id: I923132946888d538af4ca0594ab9d1b01368165d
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
Stuart Henderson [Fri, 1 Sep 2017 09:31:07 +0000 (10:31 +0100)]
ASoC: madera: Fix uninitialised variable usage
Change-Id: Ic75294a65b998d712b3a9e7221518756833fb78d
Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
Richard Fitzgerald [Tue, 11 Jul 2017 14:12:17 +0000 (15:12 +0100)]
ASoC: cs47l35: Update FLL gain configuration
CS47L35 revisions A1 and above should use the alt_gain in the
same situations as CS47L90.
Change-Id: I35d6f06052db5d0d300b9d009fd0b4cd2e2f5e86
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Tue, 11 Jul 2017 13:18:43 +0000 (14:18 +0100)]
mfd: cs47l35: FLL1_EFS must be readable
The FLL1_EFS2 register contains the PHASE_ENA bit which the FLL
configuration code updates, so this register must be accessible.
Change-Id: Ie05b566da9dd88807db740d86dcc3f90435fa188
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Mon, 31 Jul 2017 10:42:13 +0000 (11:42 +0100)]
extcon: madera: Take external resistance into account for short circuit
When checking the minimum value of impedance we can detect we should
take any external resistance into account, as we can detect lower
impedances if there is some external resistance pushing the detected
impedance up.
Change-Id: Ic784807c811ab453a7ca8ef2fb115d1bcd884e87
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 4 Aug 2017 12:57:33 +0000 (13:57 +0100)]
extcon: madera: enable jackdets before registering IRQs
Change-Id: I11a3eeb8e2a5f21471c09b9d25ff63cb9a9d0948
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>