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>
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>
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>
Swetha Nagapuri [Tue, 27 Jun 2017 10:10:44 +0000 (15:40 +0530)]
ASoC: cs47l90: Fix error in clock hookups for ASRC1/2IN2R
There is a duplication connection for ASRC1IN2L to ASRC1R2CLK
and ASRC2IN2L to ASRC2R2CLK but one should be ASRC1IN2R to ASRC1R2CLK
and other should be ASRC2IN2R to ASRC2R2CLK. This patch fixes that.
Change-Id: I312c3bb5974da30efc2941f13f9731b00a0afdd7
Signed-off-by: Swetha Nagapuri <swetha.nagapuri@soctronics.com>
Paul Handrigan [Mon, 7 Aug 2017 21:42:59 +0000 (16:42 -0500)]
ASoC: cs47l35: Add AEC2 Loopback support
Add AEC2 Loopback support to have more than one AEC reference.
Change-Id: I601c34d53591669cb54aed5e32547722ddc79245
Signed-off-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
Richard Fitzgerald [Tue, 8 Aug 2017 10:02:19 +0000 (11:02 +0100)]
mfd: cs47l35: Make DAC_AEC_CONTROL_2 readable
Change-Id: If7bd04d2d4a60a401b0eb28c50babfa85964e386
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 8 Aug 2017 08:05:09 +0000 (09:05 +0100)]
extcon: madera: Use octal permissions for device attributes
Change-Id: I49203c9f83f83be24584e55a9ac4a4ccb2132eef
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 30 Jun 2017 08:29:35 +0000 (09:29 +0100)]
ASoC: madera: Inmux changes must always handle DMIC mode
For the unganged inputs on CS47L85 and CS47L90 the code was
skipping the update to DMIC mode, so changing these from
a digital 'A' to 'B' would not clear DMIC mode.
This patch moves the code to handle DMIC mode so that it is
always run when 'A' is configured as digital.
Change-Id: I07fbb03b395f6264cd2b8ae0197560f3f60b588a
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Mon, 5 Jun 2017 14:55:48 +0000 (15:55 +0100)]
ASoC: cs47l90: Fix error in clock hookups for ISRC3/4
The widgets were linked to the ISRC1 clock domain instead
of the correct ISRC3/4 domains.
Change-Id: I9b446afbc07719021e325db055aa516c2a34155f
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 23 May 2017 12:33:02 +0000 (13:33 +0100)]
extcon: madera: Make micd ranges default to Android spec values
Change-Id: I3d3fb6accc9e313b455670942740317a59b77c1e
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Fri, 2 Jun 2017 10:21:35 +0000 (11:21 +0100)]
mfd: madera: Fix some micbias configuration issues
Change-Id: I21b851126684ef4446a763df6f180dd46dab0969
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Fri, 19 May 2017 13:41:37 +0000 (14:41 +0100)]
extcon: madera: Default to normal tuning on jack removal
Change-Id: I8437c23eb177063e65327ccb73f91544c2025f31
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Fri, 19 May 2017 12:47:04 +0000 (13:47 +0100)]
extcon: madera: Make micd default ranges more sensible
Change-Id: Ie2e75c13b833d9d5797ba603528510e8616e39ab
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Mon, 1 May 2017 15:22:05 +0000 (16:22 +0100)]
extcon: madera: Protect outputs associated with accdet nodes
Ensure outputs associated with an accdet node are disabled during clamping.
Change-Id: Ie6ee7fcf3e813b3c9a730426ca9c7a2b9b9d65e1
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Thu, 27 Apr 2017 09:49:34 +0000 (10:49 +0100)]
extcon: madera: Report accessory detect events through input key events
Change-Id: I1120594bc9f36efba6111c033eb9c1201ed8ea5b
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Wed, 26 Apr 2017 16:45:45 +0000 (17:45 +0100)]
ASoC: madera: Add Rate ALSA controls
Change-Id: I9536b12cc4f12505aeab8819917f17efd579cb66
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Thu, 18 May 2017 12:43:49 +0000 (13:43 +0100)]
ASoC: madera: Fix getting dapm pointer in madera_rate_put
Change-Id: Id24c139fa5078fee002bf28d6c6b76b0d0600156
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 16 May 2017 12:23:22 +0000 (13:23 +0100)]
extcon: madera: Fix up reporting of EXTCON_MECHANICAL state
Change-Id: I81c6a005bca49b776f71f1156e8f7ac7f24a7806
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 16 May 2017 10:09:09 +0000 (11:09 +0100)]
ASoC: madera: Add support for CS47L92/3 dmic sup configuration
CS47L92/93 has more dmic reference selects than analog inputs, so increase
the configuration loop to be the dmic sup count.
Change-Id: Ia278eecc8ae52a372ca2757a58c7f5cf563c9a79
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Richard Fitzgerald [Thu, 11 May 2017 09:20:50 +0000 (10:20 +0100)]
extcon: madera: Skip HPDET ranges less than external resistance
There is no point in running HPDET ranges that measure impedances
lower than the external series resistance.
Change-Id: I4e084d306d069a0ef049a22011653694744ca6b0
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 25 Apr 2017 15:47:13 +0000 (16:47 +0100)]
mfd: madera: Add support for CS47L92/CS47L93
Change-Id: I412aa97649bb8df5174270a514e3142837782b14
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 25 Apr 2017 15:45:19 +0000 (16:45 +0100)]
ASoC: madera: Add support for CS47L92/CS47L93
Change-Id: I712493780eebc930b1d94b3a33b04157849fe412
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 25 Apr 2017 15:42:06 +0000 (16:42 +0100)]
extcon: madera: Add support for CS47L92/CS47L93
Change-Id: I9c94c65145134406e26caf40e744f30c420c40e1
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Tue, 25 Apr 2017 15:36:35 +0000 (16:36 +0100)]
ASoC: madera: Add support for new FLL used on CS47L92/CS47L93
Change-Id: I6885ad9958fc9d2e42cc19a4c0444d2a831f6a85
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Mon, 24 Apr 2017 12:58:49 +0000 (13:58 +0100)]
gpio: madera: Add support for CS47L92/CS47L93 codecs
Change-Id: I6e19fd25d1f2a92104e010deea97c443c9b92c9a
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Fri, 21 Apr 2017 16:27:04 +0000 (17:27 +0100)]
pinctrl: madera: Add support for CS47L92/CS47L93
Change-Id: If672f6bf4924fb3e9d15e91442dfc3348542533c
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Stuart Henderson [Fri, 21 Apr 2017 15:36:48 +0000 (16:36 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L92/93
Regmap configuration tables for Cirrus Logic CS47L92 and CS47L93 codecs
Change-Id: Ie98cc4baf38325867761cdb7e078c8769bbc4249
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:04 +0000 (11:08 +0100)]
ASoC: cs47l90: Add codec driver for Cirrus Logic CS47L90
Adds the codec driver for the CS47L90 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.
Change-Id: Ie648293f6b601e45845c5ebb16265cad7875e0d2
Signed-off-by: Nikesh Oswal <nikesh@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:03 +0000 (11:08 +0100)]
ASoC: cs47l85: Add codec driver for Cirrus Logic CS47L85
Adds the codec driver for the CS47L85 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.
Change-Id: Ic87a1231d9e8342d55d813eaf4480917f0b5129c
Signed-off-by: Nariman Poushin <npoushin@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:02 +0000 (11:08 +0100)]
ASoC: cs47l35: Add codec driver for Cirrus Logic CS47L35
Adds the codec driver for the CS47L35 SmartCodec. This is a
multi-functional codec based on the Cirrus Logic Madera platform.
Change-Id: I8d91d7a5b1b044ee63873e86e17309be1ef54ed9
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:08:01 +0000 (11:08 +0100)]
ASoC: madera: Add common support for Cirrus Logic Madera codecs
The Cirrus Logic Madera codecs are a family of related codecs with
extensive digital and analogue I/O, digital mixing and routing,
signal processing and programmable DSPs.
This patch adds common support code shared by all Madera codecs.
Change-Id: I9209c83c899ccf36d2af1a517c105918026ca254
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Ajit Pandey <ajit.pandey@incubesol.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Thu, 20 Oct 2016 15:45:59 +0000 (16:45 +0100)]
extcon: madera: Add support for Cirrus Logic Madera codecs
The Cirrus Logic Madera-class codecs include highly flexible support
for jack detection, accessory detection and accessory buttons.
Although the driver is very configurable, it is impossible to cover
in generic code every possible way in which the accessory detect block
could be used and every possible combination of external hardware. We
therefore provide enough configurability to cover all common cases but
we allow customers to provide custom replacements for some or all of
the detection state machine to provided added ability to handle unusual
hardware or applications without having to create a branched and modified
version of this driver.
Change-Id: Ibbef6dc9a5a139075daed8c1556698bfd8e6bb16
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Stuart Henderson <stuarth@opensource.wolfsonmicro.com>
Richard Fitzgerald [Thu, 15 Sep 2016 15:48:21 +0000 (16:48 +0100)]
gpio: madera: Support Cirrus Logic Madera class codecs
This adds support for the GPIOs on Cirrus Logic Madera class codecs.
Any pins not used for special functions (see the pinctrl driver) can be
used as general single-bit input or output lines. The number of available
GPIOs varies between codecs.
Change-Id: Id3473e03a0d0b3eea908d35f0ca2761bead3fb73
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Mon, 24 Apr 2017 10:23:00 +0000 (11:23 +0100)]
gpio: madera: Add DT bindings for GPIO on Cirrus Logic Madera codecs
The Cirrus Logic Madera codecs have a range of GPIO pins that can be
used as single-bit logic input or output. These are presented as a
standard GPIO binding.
The second cell in a GPIO binding is currently reserved for future use
as chip-specific flags.
Change-Id: Ida62b0f711418ecb803284fae9129ea7f428f5de
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:57 +0000 (11:07 +0100)]
pinctrl: madera: Add driver for Cirrus Logic Madera codecs
These codecs have a variable number of I/O lines each of which
is individually selectable to a wide range of possible functions.
The functionality is slightly different from the traditional muxed
GPIO since most of the functions can be mapped to any pin (and even
the same function to multiple pins). Most pins have a dedicated
"alternate" function that is only available on that pin. The
alternate functions are usually a group of signals, though it is
not always necessary to enable the full group, depending on the
alternate function and how it is to be used. The mapping between
alternate functions and GPIO pins varies between codecs depending
on the number of alternate functions and available pins.
Change-Id: I1feb411976d74806566f8bb67713144ce5c1ef89
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Mon, 24 Apr 2017 09:21:20 +0000 (10:21 +0100)]
pinctrl: madera: Add DT bindings for Cirrus Logic Madera codecs
This is the binding description of the pinctrl driver for Cirru Logic
Madera codecs. The binding uses the generic pinctrl binding so the main
purpose here is to describe the device-specific names for groups and
functions.
Change-Id: I1cabd1d24b8a5619c49309510fd8bbdaba9630e6
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:56 +0000 (11:07 +0100)]
irqchip: Add driver for Cirrus Logic Madera codecs
The Cirrus Logic Madera codecs (Cirrus Logic CS47L35/85/90/91 and WM1840)
are highly complex devices containing up to 7 programmable DSPs and many
other internal sources of interrupts plus a number of GPIOs that can be
used as interrupt inputs. The large number (>150) of internal interrupt
sources are managed by an on-board interrupt controller.
This driver provides the handling for the interrupt controller. As the
codec is accessed via regmap, we can make use of the generic IRQ
functionality from regmap to do most of the work. Only around half of
the possible interrupt source are currently of interest from the driver
so only this subset is defined. Others can be added in future if needed.
The KConfig options are not user-configurable because this driver is
mandatory so is automatically included when the parent MFD driver is
selected.
Change-Id: Ia6e8581e963368f63fb8b6528236248eeccb47da
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 14 Apr 2017 15:26:26 +0000 (16:26 +0100)]
regulator: arizona-ldo1: Add support for Cirrus Logic Madera codecs
This adds a new driver identity "madera-ldo1" and probe function
so that this driver can be used to control the LDO1 regulator on
some Cirrus Logic Madera codecs.
Change-Id: If6f1f27c7f92d53281ed91d60455ad213416c2aa
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Mon, 17 Apr 2017 11:47:03 +0000 (12:47 +0100)]
regulator: arizona-micsupp: Add support for Cirrus Logic Madera codecs
This adds a new driver identity "madera-micsupp" and probe function
so that this driver can be used to control the micsupp regulator on
Cirrus Logic Madera codecs.
Change-Id: I715cc4b6c19c8f2ec5737725d90ccc83563f198a
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:53 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L90/91
Regmap configuration tables for Cirrus Logic CS47L90 and CS47L91 codecs.
Change-Id: Ie593afaaf661f32f5febc372cec3c81344012128
Signed-off-by: Nikesh Oswal <nikesh@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:52 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L85
Regmap configuration tables for Cirrus Logic CS47L85 codecs.
Change-Id: Ice389456818b9861768fc985062811b25a19d8d5
Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:51 +0000 (11:07 +0100)]
mfd: madera: Register map tables for Cirrus Logic CS47L35
Regmap configuration tables for Cirrus Logic CS47L35 codecs.
Change-Id: I875206b250706c0f92f2933df64a788f83174947
Signed-off-by: Piotr Stankiewicz <piotrs@opensource.wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Richard Fitzgerald [Wed, 5 Apr 2017 10:07:50 +0000 (11:07 +0100)]
mfd: madera: Add common support for Cirrus Logic Madera codecs
This adds the generic core support for Cirrus Logic "Madera" class codecs.
These are complex audio codec SoCs with a variety of digital and analogue
I/O, onboard audio processing and DSPs, and other features.
These codecs are all based off a common set of hardware IP so can be
supported by a core of common code (with a few minor device-to-device
variations).
Change-Id: Ide95195e8d42318c20faa451151257d9ecf93800
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Nikesh Oswal <Nikesh.Oswal@wolfsonmicro.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Richard Fitzgerald [Fri, 21 Apr 2017 14:08:18 +0000 (15:08 +0100)]
mfd: madera: Add DT bindings for Cirrus Logic Madera codecs
Specification of the bindings for the parent MFD driver component
of the Cirrus Logic Madera codec drivers.
Change-Id: I307b78196ebbe1a132260963907fe8ca6f61b2be
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>