- 17 12月, 2013 1 次提交
-
-
由 Shawn Guo 提交于
Store chip revision in struct sgtl5000_priv when sgtl5000_i2c_probe() reads it out from register, so that we can use it in sgtl5000_enable_regulators() with no need to read register again. Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 8月, 2013 1 次提交
-
-
由 Oskar Schirmer 提交于
Powering down PLL before switching to a mode that does not use it is a bad idea. It would cause the SGTL5000 be without internal clock supply, especially on the I2C interface, which would make subsequent access to it fail. Thus, in case of not using PLL any longer, first set the mode control, then power down PLL. Signed-off-by: NOskar Schirmer <oskar@scara.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 01 8月, 2013 2 次提交
-
-
由 Lothar Waßmann 提交于
The SGTL5000 Capture Attenuate Switch (or "ADC Volume Range Reduction" as it is called in the manual) is single bit only. Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Lothar Waßmann 提交于
When a sound capture/playback is terminated while a playback/capture is running, power_vag_event() will clear SGTL5000_CHIP_ANA_POWER in the SND_SOC_DAPM_PRE_PMD event, thus muting the respective other channel. Don't clear SGTL5000_CHIP_ANA_POWER when both DAC and ADC are active to prevent this. Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 17 7月, 2013 1 次提交
-
-
由 Shawn Guo 提交于
It's not always the case that clock is already available when sgtl5000 get probed at the first time, e.g. the clock is provided by CPU DAI which may be probed after sgtl5000. So let's defer the probe when devm_clk_get() call fails and give it chance to try later. It fixes the regression on imx28 since commit 9e13f345 (ASoC: sgtl5000: Let the codec acquire its clock). [ 1.927637] sgtl5000 0-000a: Failed to get mclock: -2 [ 1.934280] sgtl5000: probe of 0-000a failed with error -2 [ 1.945906] mxs-sgtl5000 sound.13: ASoC: CODEC (null) not registered [ 1.953787] mxs-sgtl5000 sound.13: snd_soc_register_card failed (-517) [ 1.960865] platform sound.13: Driver mxs-sgtl5000 requests probe deferral Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 15 7月, 2013 1 次提交
-
-
由 Fabio Estevam 提交于
sgtl5000 has 16-bit registers, and only even numbers are valid for its registers addresses. Let regmap knows about this feature by specifying the 'reg_stride' field, so that it can access only the valid registers. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 05 7月, 2013 1 次提交
-
-
由 Fabio Estevam 提交于
According to the sgtl5000 reference manual, the default value of CHIP_SSS_CTRL is 0x10. Reported-by: NOskar Schirmer <oskar@scara.com> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
-
- 12 6月, 2013 1 次提交
-
-
由 Fabio Estevam 提交于
We should use i2c_get_clientdata() to get the codec private structure. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 10 6月, 2013 1 次提交
-
-
由 Fabio Estevam 提交于
On a mx6qsabrelite board the following error happens on probe: sgtl5000: probe of 0-000a failed with error -5 imx-sgtl5000 sound.13: ASoC: CODEC (null) not registered imx-sgtl5000 sound.13: snd_soc_register_card failed (-517) platform sound.13: Driver imx-sgtl5000 requests probe defer Prior to reading the codec ID we need to turn the SYS_MCLK clock, so let's enable the codec clock inside sgtl5000_i2c_probe(). Also remove the codec clock enable/disable functions from the machine driver. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 06 6月, 2013 1 次提交
-
-
由 Mark Brown 提交于
When the regulators have been disabled mark the device as cache only so that we don't try to interact with the hardware. Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 05 6月, 2013 1 次提交
-
-
由 Marek Vasut 提交于
The VAG_POWER must be enabled after all other bits in CHIP_ANA_POWER and disabled before any other bit in CHIP_ANA_POWER. See the SGTL5000 datasheet (Table 31, BIT 7, page 42-43). Failing to follow this order will result in ugly loud "POP" noise at the end of playback. To achieve such order, use the _PRE and _POST DAPM widgets to trigger the power_vag_event, where the event type check has to be fixed accordingly as well. Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 13 5月, 2013 3 次提交
-
-
由 Fabio Estevam 提交于
After a 'reboot' command in Linux or after pressing the system's reset button the sgtl5000 driver fails to probe: sgtl5000 0-000a: Device with ID register ffff is not a sgtl5000 sgtl5000 0-000a: ASoC: failed to probe CODEC -19 imx-sgtl5000 sound.12: ASoC: failed to instantiate card -19 imx-sgtl5000 sound.12: snd_soc_register_card failed (-19) sgtl5000 codec does not have a reset line, nor a reset command in software, so after a system reset the codec does not contain the default register values from sgtl5000_reg_defaults[] anymore, as these are only valid after a power-on-reset cycle. Fix this issue by explicitly reading all the reset register values from sgtl5000_reg_defaults[] and writing them back into sgtl5000 to ensure a sane state. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Tested-by: NEric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Fabio Estevam 提交于
The usual place for reading chip ID is inside i2c_probe, so move it there and also convert it to regmap. sgtl5000_enable_regulators() needs to read the chip revision, so keep the revision check there. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Fabio Estevam 提交于
Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 24 12月, 2012 1 次提交
-
-
由 Fabio Estevam 提交于
sgtl5000 microphone gain only has 2 bits of resolution, so maximum value is 3. From Eric Nelson: "We also found that for the microphones we have here (commodity PC boom mics) a default value of 2 for the gain gives the best results." So change the default microphone gain as well. Signed-off-by: NEric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 09 12月, 2012 1 次提交
-
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 31 7月, 2012 1 次提交
-
-
由 Dong Aisheng 提交于
LINE_IN also needs VAG_POWER on or we may hear noise when directly route LINE_IN to Headphone Mux. Tested on imx28evk. Signed-off-by: NDong Aisheng <dong.aisheng@linaro.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 25 7月, 2012 1 次提交
-
-
由 Dong Aisheng 提交于
There's a driver bug that sgtl5000 dapm widget kcontrols do not work. e.g. can not select capture mux with amixer tool(no error info prompted). The root cause is that we still call snd_soc_dapm_new_widgets in codec driver probe function afer converting to table based widgets. This will cause the card dapm widgets are instantiated before the dapm_routes are registered. Then, no available dapm widget pathes can be found during instantiation which finally will cause soc_dapm_mux_update_power to fail(can not find correct path with kcontrol) in snd_soc_dapm_put_enum_double function. Here we remove the unneeded snd_soc_dapm_new_widgets in codec probe and let the soc core to handle the register sequence properly. Then we can fix above issue. Signed-off-by: NDong Aisheng <dong.aisheng@linaro.org> Acked-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 09 4月, 2012 1 次提交
-
-
由 Mark Brown 提交于
Rather than adding new arguments to regulator_register() every time we want to add a new bit of dynamic information at runtime change the function to take these via a struct. By doing this we avoid needing to do further changes like the recent addition of device tree support which required each regulator driver to be updated to take an additional parameter. The regulator_desc which should (mostly) be static data is still passed separately as most drivers are able to configure this statically at build time. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 04 4月, 2012 3 次提交
-
-
由 Mark Brown 提交于
In order to support CODEC<->CODEC links remove the assumption that there is only a single CODEC on a DAI link by removing the use of the CODEC pointer in the rtd from the CODEC drivers. They are already being passed their DAI whenever they are passed an rtd and can get the CODEC from there. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Mark Brown 提交于
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Fabio Estevam 提交于
Fix the following warning during kernel boot: 0-000a: 850 <--> 1600 mV at 1200 mV normal 0-000a: Voltage range but no REGULATOR_CHANGE_VOLTAGE Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 03 4月, 2012 1 次提交
-
-
由 Zeng Zhaoming 提交于
As manual described, VAG is an internal voltage reference of DAC/ADC, So enabled it before DAC/ADC up. One more thing should care about is VAG fully ramped down requires 400ms, wait it to avoid pop. Signed-off-by: NZeng Zhaoming <zengzm.kernel@gmail.com> Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 01 4月, 2012 1 次提交
-
-
由 Mark Brown 提交于
No current users and it's the last user of MICBIAS_E(). Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NDong Aisheng <dong.aisheng@linaro.org> Acked-by: NZeng Zhaoming <zengzm.kernel@gmail.com> Tested-by: NShawn Guo <shawn.guo@linaro.org>
-
- 23 1月, 2012 2 次提交
-
-
由 Mark Brown 提交于
Reported-by: NStephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Fabio Estevam 提交于
Convert to table based DAPM and control init. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 20 1月, 2012 2 次提交
-
-
由 Fabio Estevam 提交于
Throughout the sgtl5000 driver source code and also in the sgtl5000 datasheet the revision code is shown in hexadecimal. Print it hex format, for consistency. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Zeng Zhaoming 提交于
Correct SGTL5000_CHIP_CLK_CTRL to SGTL5000_CHIP_REF_CTRL in sgtl5000_restore_regs(), and add comment to explain the restore order. Reported-by: NJulia Lawall <julia.lawall@lip6.fr> Signed-off-by: NZeng Zhaoming <zengzm.kernel@gmail.com> Acked-by: NDong Aisheng <dong.aisheng@linaro.org> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 16 1月, 2012 1 次提交
-
-
由 Zeng Zhaoming 提交于
Update MODULE_AUTHOR email address. Signed-off-by: NZeng Zhaoming <zengzm.kernel@gmail.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 29 12月, 2011 2 次提交
-
-
由 Fabio Estevam 提交于
Convert sgtl5000 codec driver to use devm_kzalloc(). Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Fabio Estevam 提交于
vdda, vddio and vddd are voltages expressed in milivolts (mV), so use the proper annotation. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 02 12月, 2011 1 次提交
-
-
由 Lars-Peter Clausen 提交于
The existence of this parameter is purely historical. None of the CODEC drivers uses it and we always pass in the same value anyway, so it should be safe to remove it. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 27 11月, 2011 1 次提交
-
-
由 Mark Brown 提交于
They've not been needed for a long time if they were ever required. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 24 11月, 2011 1 次提交
-
-
由 Rajendra Nayak 提交于
With device tree support for regulators, its needed that the regulator_dev->dev device has the right of_node attached. To be able to do this add an additional parameter to the regulator_register() api, wherein the dt-adapted driver can then pass this additional info onto the regulator core. Signed-off-by: NRajendra Nayak <rnayak@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 23 11月, 2011 1 次提交
-
-
由 Lars-Peter Clausen 提交于
Commit 1ee46ebd("ASoC: Make the DAI ops constant in the DAI structure") introduced the possibility to have constant DAI ops structures, yet this is barley used in both existing drivers and also new drivers being submitted, although none of them modifies its DAI ops structure. The later is not surprising since existing drivers are often used as templates for new drivers. So this patch just constifies all existing snd_soc_dai_ops structs to eliminate the issue altogether. The patch was generated with the following coccinelle semantic patch: // <smpl> @@ identifier ops; @@ -struct snd_soc_dai_ops ops = +const struct snd_soc_dai_ops ops = { ... }; // </smpl> Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 20 11月, 2011 1 次提交
-
-
由 Clemens Ladisch 提交于
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
-
- 22 10月, 2011 1 次提交
-
-
由 Axel Lin 提交于
Ensure all mask bits are clear before setting new value. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NDong Aisheng <b29396@freescale.com> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 21 10月, 2011 2 次提交
-
-
由 Axel Lin 提交于
We have defined SGTL5000_LINREG_VDDD_MASK in sgtl5000.h, use it instead of hardcoded (0x1 << 4) - 1 for the mask. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
由 Axel Lin 提交于
Otherwise calling ldo_regulator_remove() does not unregister regulator and free memories. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 19 10月, 2011 1 次提交
-
-
由 Axel Lin 提交于
According to the datasheet: CHIP_MIC_CTRL 0x002A BITS[9:8] BIAS_RESISTOR 0x0 = Powerd off 0x1 = 2.0 kohm 0x2 = 4.0 kohm 0x3 = 8.0 kohm To set mic bias resistor, we need to update bits[9:8] of SGTL5000_CHIP_MIC_CTRL register. Signed-off-by: NAxel Lin <axel.lin@gmail.com> Acked-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NLiam Girdwood <lrg@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-