- 17 7月, 2015 1 次提交
-
-
由 Nariman Poushin 提交于
Separate the functionality using sequences of register writes from the functions that take register defaults. This change renames the arguments in order to support the extension of reg_sequence to take an optional delay to be applied after any given register in a sequence is written. This avoids adding an int to all register defaults, which could substantially increase memory usage for regmaps with large default tables. This also updates all the clients of multi_reg_write/register_patch. Signed-off-by: NNariman Poushin <nariman@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 6月, 2015 11 次提交
-
-
由 Richard Fitzgerald 提交于
Later arizona silicon has the single/differential selector in a different register, and IN1_MODE only selects between analogue or digital. Prepare for this by splitting the INx_MODE definition into two fields. Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
On the wm5110 it is important the reset line is held for slightly longer to ensure the device starts up well. This patch adds a 5mS delay for this. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
Allow the chip to completely power off if we enter runtime suspend and there is no jack detection active. This is helpful for systems where system suspend might remove the supplies to the CODEC, without informing us. Note the powering off is done in runtime suspend rather than system suspend, because we need to hold reset until the first time DCVDD is powered anyway (which would be in runtime resume), and we might as well save the extra power. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
The low power sleep mode on wm5110 requires that the LDO1 regulator be set to 1.175V prior to entering sleep, then returned to 1.2V after exiting sleep mode. This patch apply these regulator settings. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NMark Brown <broonie@kernel.org> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
Some register settings must be applied before the first time low power sleep mode is entered on the wm5110 to ensure optimium performance. These settings require SYSCLK to be enabled whilst they are being applied. This patch applies the settings using the recently factored out boot time SYSCLK functionality. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
wm5102 applies a custom hardware boot sequence, for this the SYSCLK needs to be enabled. This patch factors out the code that enables SYSCLK for this sequence such that it can be used for other boot time operations that require SYSCLK. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
In preparation for some refactoring fixup some minor style, formating and code clarity issues. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
The wm5102 uses a custom boot sequence and the standard boot sequence is disabled. However, the standard boot sequence must be run at least once after a cold boot (caused by either a hard reset or removal of AVDD). Unfortunately the register WRITE_SEQUENCER_CTRL_3 is not affected by the hardware reset. This means if the device has been previously booted but the AVDD supply has never been removed, arizona_dev_init will reset the chip but the boot sequence will not run, which can cause numerous problems. The solution is to manually clear this register and then boot the chip again, which is what this patch does. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
This patch adds functions for enabling and disabling the physical reset line. This will be helpful in future refactoring. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
This also handily fixes a leak of the GPIO in arizona_dev_exit. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
This soft reset used to be located after the register patch had been applied, but has since moved to before the patch is applied. At the new location there is no requirement to do a register sync as no register writes will have happened yet. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 12 3月, 2015 1 次提交
-
-
由 Charles Keepax 提交于
Add a DT binding that lets the DMIC reference voltage source be specified for each input. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 26 2月, 2015 1 次提交
-
-
由 Richard Fitzgerald 提交于
This adds support for the Wolfson Microelectronics WM8280 and WM8281 codecs. Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> [Lee: Minor fixup to remove potentially uninitialised variable. ] Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 05 12月, 2014 1 次提交
-
-
由 Rafael J. Wysocki 提交于
After commit b2b49ccb (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks depending on CONFIG_PM_RUNTIME may now be changed to depend on CONFIG_PM. Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under drivers/mfd/. Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: NLee Jones <lee.jones@linaro.org>
-
- 26 9月, 2014 4 次提交
-
-
由 Charles Keepax 提交于
Currently the mask for the external capacitor bit is missing when writing the MICBIAS config meaning it will never be set this patch fixes this. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
This reverts commit d9d03496. It seems this commit was applied twice, once through ASoC and once through MFD: commit 4c9bb8bc mfd: wm5102: Manually apply register patch commit d9d03496 mfd: wm5102: Manually apply register patch This has lead to a small piece of duplicate code. It is harmless hence how it has gone unoticed for so long. This patch reverts one of the two commits removing the unneeded code. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Inha Song 提交于
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default. Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */ Signed-off-by: NInha Song <ideal.song@samsung.com> Reviewed-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Mark Brown 提交于
During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one. While we're at it provide a constant for the register name (as supplied by Charles Keepax). Signed-off-by: NMark Brown <broonie@linaro.org> Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 28 7月, 2014 3 次提交
-
-
由 Charles Keepax 提交于
Some parts have a third ISRC, this patch adds handling for the under and overclocked interrupts from this ISRC. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
The extcon driver should be able to get its regulator against rather than against the main arizona device, we must add a supply mapping allowing the regulator to be located. This patch does so. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
The previous update adding MICVDD to the regulator mappings: mfd: arizona: Add MICVDD to mapped regulators Only added the mapping for wm5102 and wm5110 but wm8997 also has a MICVDD supply that needs to be mapped back to the main Arizona device. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 09 7月, 2014 6 次提交
-
-
由 Lee Jones 提交于
Extinguishes: ../drivers/mfd/arizona-core.c: In function ‘arizona_of_get_type’: ../drivers/mfd/arizona-core.c:505:10: warning: cast from pointer to integer of different size Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
To avoid someone attempting to change this regulator_get back into a devm_regulator_get put a comment in explaining that devres can't be used here as the regulator will be destroyed before devres calls regulator_put. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
Currently we call regulator_bulk_disable with ARRAY_SIZE(arizona->core_supplies), however this array may be larger than the number of supplies actually used by the chip we are dealing with. Use the provided num_core_supplies member instead, so that we only disable supplies which actually exist. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
Currently the Arizona core uses a devm_regulator_get against its own device node to obtain DCVDD. The Arizona core is an MFD device and DCVDD is usually supplied by a child node (arizona-ldo1) of the core. As devres destruction for the MFD device will run after all its children have been destroyed, the regulator will be destroyed before devres calls regulator_put. This causes a warning from both the destruction of the child node, as the regulator is still open, and from the put of the regulator as the regulator device has already been destroyed. This patch handles the regulator get and put without devres to avoid this issue. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
As DCVDD is probably supplied by a child of the MFD device move its disable to before we destroy the MFD children as the regulator likely won't exist after that. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
We don't want to trigger any PM runtime operations whilst we are tearing down the driver, as things the suspend and resume callbacks rely on might already have been destroyed. So disable PM runtime for the device as the first step arizona_dev_exit. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 03 6月, 2014 1 次提交
-
-
由 Charles Keepax 提交于
Currently, MICVDD only binds because it is both the regulator name and the consumer name and we will always match against the regulator name regardless of the consumer device. If the regulator was renamed using the init_data ASoC will no longer be able to locate the supply, as it will be looking on the CODEC device where as the MICVDD consumer is on the Arizona device. Add a mapping as we do for the other regulators. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 19 4月, 2014 2 次提交
-
-
由 Charles Keepax 提交于
It is more idiomatic to process things relating to the regulator in its driver. This patch moves both processing of device tree relating to the regulator and checking if the regulator is external from arizona-core into the regulator driver. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Charles Keepax 提交于
This patch factors out the reading of GPIOs for the Arizona devices into a helper function. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 26 2月, 2014 1 次提交
-
-
由 Charles Keepax 提交于
On the wm5102 the register patches are applied manually, rather than by the regmap core. This application is wrapped in calls to regcache_cache_bypass. However, this is dangerous as other threads may be accessing the hardware at the same time as the pm_runtime operations and if they do so during the period whilst cache_bypass is enabled those writes will miss the cache when they shouldn't. Apply the register patch using the new regmap_multi_reg_write_bypassed function to avoid this problem. Also remove the call to regcache_cache_bypass from the hardware patch application as it is unneeded there and creates a similar window for writes to miss the cache. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 1月, 2014 1 次提交
-
-
由 Geert Uytterhoeven 提交于
As of commit 03e361b2 ("mfd: Stop setting refcounting pointers in original mfd_cell arrays"), the "cell" parameter of mfd_add_devices() is "const" again. Hence make all cell data passed to mfd_add_devices() const where possible. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 23 10月, 2013 3 次提交
-
-
由 Charles Keepax 提交于
When setting GPIO defaults we are required to make a distinction between writing 0x0000 to the registers and leaving them untouched. When we receive between 0x0000 and 0xFFFF (inclusive) from either Platform Data or Device Tree, we should write the provided configuration to the device. Conversely, when we receive >0xFFFF we should leave the device configuration at its default setting. This patch fixes a bug and ensures that configuration 0x0000 isn't mistakenly written when the intention was to keep the default one. Reported-by: NHeather Lomond <heather.lomond@wolfsonmicro.com> Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Lee Jones 提交于
If platform data is passed when probing the device then it should take precedence over Device Tree. This patch saves cycles in the pdata case and prevents error messages when DT is not passed. Reported-by: NMark Brown <broonie@linaro.org> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
由 Charles Keepax 提交于
The CODEC power supplies should be looked up on the Arizona device as they will be created here by device tree also update the only user of non-device tree bindings. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 8月, 2013 1 次提交
-
-
由 Charles Keepax 提交于
If we disable DCVDD before we mark the cache as cache only, we might attempt to write to the chip whilst it is powered down and lose a write. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NLee Jones <lee.jones@linaro.org>
-
- 18 6月, 2013 1 次提交
-
-
由 Charles Keepax 提交于
The wm8997 is a compact, high-performance audio hub CODEC with SLIMbus interfacing, for smartphones, tablets and other portable audio devices based on the Arizona platform. This patch integrates the wm8997 into the Arizona mfd. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
-
- 22 5月, 2013 1 次提交
-
-
由 Charles Keepax 提交于
The bit in the register enables MICBIAS fast startup when clear not when set. This patch changes the name of this pdata option to soft_start to better match the functionality. We rename rather than invert the handling to keep the same default functionality, which is fast start active. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 20 5月, 2013 1 次提交
-
-
由 Mark Brown 提交于
When the device is used with an external DCVDD supply instead of the internal LDO1 then an extra step is required when suspending and resuming the device. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-