Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1235306 > unrolled thread
| Started by | Adam Thomson <Adam.Thomson.Opensource@diasemi.com> |
|---|---|
| First post | 2015-09-29 17:50 +0200 |
| Last post | 2015-09-29 18:00 +0200 |
| Articles | 4 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v3 0/4] ASoC: Add support for DA7219 audio codec Adam Thomson <Adam.Thomson.Opensource@diasemi.com> - 2015-09-29 17:50 +0200
[PATCH v3 1/4] ASoC: Add SOC_DOUBLE_R_EXT Adam Thomson <Adam.Thomson.Opensource@diasemi.com> - 2015-09-29 17:50 +0200
[PATCH v3 4/4] MAINTAINERS: da7219: Add entry to cover DA7219 bindings document Adam Thomson <Adam.Thomson.Opensource@diasemi.com> - 2015-09-29 18:00 +0200
[PATCH v3 3/4] ASoC: da7219: Add bindings documentation for DA7219 audio codec Adam Thomson <Adam.Thomson.Opensource@diasemi.com> - 2015-09-29 18:00 +0200
| From | Adam Thomson <Adam.Thomson.Opensource@diasemi.com> |
|---|---|
| Date | 2015-09-29 17:50 +0200 |
| Subject | [PATCH v3 0/4] ASoC: Add support for DA7219 audio codec |
| Message-ID | <qe5ke-2lV-5@gated-at.bofh.it> |
This patch set adds support for the DA7219 audio codec with built-in advanced accessory detection functionality. Patch set includes codec driver, associated DT bindings documentation and MAINTAINERS file updates to cover new bindings. This patch set is baselined against the v4.3-rc3 kernel version. Changes in v3: - Actually set clk_src in dai_sysclk() function of codec, so future calls can correctly identify if work is to be done or not. Changes in v2: - Add SOC_DOUBLE_R_EXT support to ASoC core. - Use of upper-case naming for controls, where missing. - Use of Playback/Capture Digital naming for certain ADC/DAC controls. - CP mchange and vol_thresh DT bindings removed, now Kcontrols - Kcontrols and DAPM now locked as part of hptest work, and specific controls affected have had locking introduced. - Timeout for btn_det work when checking micbias status. - Added comments to describe reasoning for work use with hptest, btn_det. - Added comments to tonegen_freq_put/get to clarify endian conversion, and code now uses regmap_raw_read/write calls instead of bulk. - DT parsing code now prints dev_warn() for invalid settings. - SOC_VALUE_ENUM_SINGLE now used for hpf_mode handling, instead of customer get/put handlers. - DTMF key control now a SOC_ENUM to correctly describe supported keys, including non-numeric. - MIXIN_L_MIX_EN bit set as part of DAPM now (SUPPLY), rather than in probe. - Fix dai_sysclk() function to correctly check for no change, using clk_id as well as freq. - Error checking added for clk_set_rate() call. - Improved error checking for devm_clk_get() call. - Removed explicit use of device_may_wakeup() and enable/disable_irq_wake(). Now taken care of by I2C core so DT bindings updated accordingly to document this. - hptest work now uses cache to keep state, instead of reading registers individually. Cache is bypassed, then when test executed and complete, regcache_sync_region() used to restore settings to pre-test values. - Regulator consumer framework usage added, in particular to determine VDDIO level in use so device can be configured accordingly. DT documents updated to reflect this. Adam Thomson (4): ASoC: Add SOC_DOUBLE_R_EXT ASoC: codecs: Add da7219 codec driver ASoC: da7219: Add bindings documentation for DA7219 audio codec MAINTAINERS: da7219: Add entry to cover DA7219 bindings document Documentation/devicetree/bindings/sound/da7219.txt | 106 ++ MAINTAINERS | 1 + include/sound/da7219-aad.h | 99 + include/sound/da7219.h | 55 + include/sound/soc.h | 7 + sound/soc/codecs/Kconfig | 4 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/da7219-aad.c | 823 +++++++++ sound/soc/codecs/da7219-aad.h | 212 +++ sound/soc/codecs/da7219.c | 1940 ++++++++++++++++++++ sound/soc/codecs/da7219.h | 820 +++++++++ 11 files changed, 4069 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/da7219.txt create mode 100644 include/sound/da7219-aad.h create mode 100644 include/sound/da7219.h create mode 100644 sound/soc/codecs/da7219-aad.c create mode 100644 sound/soc/codecs/da7219-aad.h create mode 100644 sound/soc/codecs/da7219.c create mode 100644 sound/soc/codecs/da7219.h -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Adam Thomson <Adam.Thomson.Opensource@diasemi.com> |
|---|---|
| Date | 2015-09-29 17:50 +0200 |
| Subject | [PATCH v3 1/4] ASoC: Add SOC_DOUBLE_R_EXT |
| Message-ID | <qe5kg-2lV-47@gated-at.bofh.it> |
| In reply to | #1235306 |
_EXT version of SOC_DOUBLE_R required to allow for custom handlers.
Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
---
include/sound/soc.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 884e728..2d79cb5 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -217,6 +217,13 @@
.get = xhandler_get, .put = xhandler_put, \
.private_value = \
SOC_DOUBLE_VALUE(reg, shift_left, shift_right, max, invert, 0) }
+#define SOC_DOUBLE_R_EXT(xname, reg_left, reg_right, xshift, xmax, xinvert,\
+ xhandler_get, xhandler_put) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
+ .info = snd_soc_info_volsw, \
+ .get = xhandler_get, .put = xhandler_put, \
+ .private_value = SOC_DOUBLE_R_VALUE(reg_left, reg_right, xshift, \
+ xmax, xinvert) }
#define SOC_SINGLE_EXT_TLV(xname, xreg, xshift, xmax, xinvert,\
xhandler_get, xhandler_put, tlv_array) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Adam Thomson <Adam.Thomson.Opensource@diasemi.com> |
|---|---|
| Date | 2015-09-29 18:00 +0200 |
| Subject | [PATCH v3 4/4] MAINTAINERS: da7219: Add entry to cover DA7219 bindings document |
| Message-ID | <qe5tT-2x8-7@gated-at.bofh.it> |
| In reply to | #1235306 |
This adds an entry to indicate the DA7219 bindings document (and other Dialog codecs bindings documents) are supported. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 9f6685f..2a14a19 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3367,6 +3367,7 @@ M: Support Opensource <support.opensource@diasemi.com> W: http://www.dialog-semiconductor.com/products S: Supported F: Documentation/hwmon/da90?? +F: Documentation/devicetree/bindings/sound/da[79]*.txt F: drivers/gpio/gpio-da90??.c F: drivers/hwmon/da90??-hwmon.c F: drivers/iio/adc/da91??-*.c -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Adam Thomson <Adam.Thomson.Opensource@diasemi.com> |
|---|---|
| Date | 2015-09-29 18:00 +0200 |
| Subject | [PATCH v3 3/4] ASoC: da7219: Add bindings documentation for DA7219 audio codec |
| Message-ID | <qe5tU-2x8-21@gated-at.bofh.it> |
| In reply to | #1235306 |
Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
---
Documentation/devicetree/bindings/sound/da7219.txt | 106 +++++++++++++++++++++
1 file changed, 106 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/da7219.txt
diff --git a/Documentation/devicetree/bindings/sound/da7219.txt b/Documentation/devicetree/bindings/sound/da7219.txt
new file mode 100644
index 0000000..1b70309
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/da7219.txt
@@ -0,0 +1,106 @@
+Dialog Semiconductor DA7219 Audio Codec bindings
+
+DA7219 is an audio codec with advanced accessory detect features.
+
+======
+
+Required properties:
+- compatible : Should be "dlg,da7219"
+- reg: Specifies the I2C slave address
+
+- interrupt-parent : Specifies the phandle of the interrupt controller to which
+ the IRQs from DA7219 are delivered to.
+- interrupts : IRQ line info for DA7219.
+ (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
+ further information relating to interrupt properties)
+
+- VDD-supply: VDD power supply for the device
+- VDDMIC-supply: VDDMIC power supply for the device
+- VDDIO-supply: VDDIO power supply for the device
+ (See Documentation/devicetree/bindings/regulator/regulator.txt for further
+ information relating to regulators)
+
+Optional properties:
+- interrupt-names : Name associated with interrupt line. Should be "wakeup" if
+ interrupt is to be used to wake system, otherwise "irq" should be used.
+- wakeup-source: Flag to indicate this device can wake system (suspend/resume).
+
+- clocks : phandle and clock specifier for codec MCLK.
+- clock-names : Clock name string for 'clocks' attribute, should be "mclk".
+
+- dlg,ldo-lvl : Required internal LDO voltage (mV) level for digital engine
+ [<1050>, <1100>, <1200>, <1400>]
+- dlg,micbias-lvl : Voltage (mV) for Mic Bias
+ [<1800>, <2000>, <2200>, <2400>, <2600>]
+- dlg,mic-amp-in-sel : Mic input source type
+ ["diff", "se_p", "se_n"]
+
+======
+
+Child node - 'da7219_aad':
+
+Optional properties:
+- dlg,micbias-pulse-lvl : Mic bias higher voltage pulse level (mV).
+ [<2800>, <2900>]
+- dlg,micbias-pulse-time : Mic bias higher voltage pulse duration (ms)
+- dlg,btn-cfg : Periodic button press measurements for 4-pole jack (ms)
+ [<2>, <5>, <10>, <50>, <100>, <200>, <500>]
+- dlg,mic-det-thr : Impedance threshold for mic detection measurement (Ohms)
+ [<200>, <500>, <750>, <1000>]
+- dlg,jack-ins-deb : Debounce time for jack insertion (ms)
+ [<5>, <10>, <20>, <50>, <100>, <200>, <500>, <1000>]
+- dlg,jack-det-rate: Jack type detection latency (3/4 pole)
+ ["32ms_64ms", "64ms_128ms", "128ms_256ms", "256ms_512ms"]
+- dlg,jack-rem-deb : Debounce time for jack removal (ms)
+ [<1>, <5>, <10>, <20>]
+- dlg,a-d-btn-thr : Impedance threshold between buttons A and D
+ [0x0 - 0xFF]
+- dlg,d-b-btn-thr : Impedance threshold between buttons D and B
+ [0x0 - 0xFF]
+- dlg,b-c-btn-thr : Impedance threshold between buttons B and C
+ [0x0 - 0xFF]
+- dlg,c-mic-btn-thr : Impedance threshold between button C and Mic
+ [0x0 - 0xFF]
+- dlg,btn-avg : Number of 8-bit readings for averaged button measurement
+ [<1>, <2>, <4>, <8>]
+- dlg,adc-1bit-rpt : Repeat count for 1-bit button measurement
+ [<1>, <2>, <4>, <8>]
+
+======
+
+Example:
+
+ codec: da7219@1a {
+ compatible = "dlg,da7219";
+ reg = <0x1a>;
+
+ interrupt-parent = <&gpio6>;
+ interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
+
+ VDD-supply = <®_audio>;
+ VDDMIC-supply = <®_audio>;
+ VDDIO-supply = <®_audio>;
+
+ clocks = <&clks 201>;
+ clock-names = "mclk";
+
+ dlg,ldo-lvl = <1200>;
+ dlg,micbias-lvl = <2600>;
+ dlg,mic-amp-in-sel = "diff";
+
+ da7219_aad {
+ dlg,btn-cfg = <50>;
+ dlg,mic-det-thr = <500>;
+ dlg,jack-ins-deb = <20>;
+ dlg,jack-det-rate = "32ms_64ms";
+ dlg,jack-rem-deb = <1>;
+
+ dlg,a-d-btn-thr = <0xa>;
+ dlg,d-b-btn-thr = <0x16>;
+ dlg,b-c-btn-thr = <0x21>;
+ dlg,c-mic-btn-thr = <0x3E>;
+
+ dlg,btn-avg = <4>;
+ dlg,adc-1bit-rpt = <1>;
+ };
+ };
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web