From: Hans de Goede <hdegoede@redhat.com>
To: Mark Brown <broonie@kernel.org>, Bard Liao <bardliao@realtek.com>,
Oder Chiou <oder_chiou@realtek.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
alsa-devel@alsa-project.org, Carlo Caione <carlo@endlessm.com>,
Takashi Iwai <tiwai@suse.com>
Subject: [PATCH v3 14/22] ASoC: Intel: bytcr_rt5651: Add quirk micbias OVCD configuration
Date: Sun, 4 Mar 2018 15:36:02 +0100 [thread overview]
Message-ID: <20180304143610.21125-15-hdegoede@redhat.com> (raw)
In-Reply-To: <20180304143610.21125-1-hdegoede@redhat.com>
Add support for setting the micbias OVCD limits device-properties through
quirks.
And set the limits for this to 2000uA with a scale-factor of 0.75 for the
KIANO SlimNote 14.2 device, which is the only device on which
jack-detection is currently enabled.
Tested-by: Carlo Caione <carlo@endlessm.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
sound/soc/intel/boards/bytcr_rt5651.c | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index 3f71c018aa8e..c7ca423f025c 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -51,14 +51,29 @@ enum {
BYT_RT5651_JD2 = (RT5651_JD2 << 4),
};
+enum {
+ BYT_RT5651_OVCD_TH_600UA = (6 << 8),
+ BYT_RT5651_OVCD_TH_1500UA = (15 << 8),
+ BYT_RT5651_OVCD_TH_2000UA = (20 << 8),
+};
+
+enum {
+ BYT_RT5651_OVCD_SF_0P5 = (RT5651_OVCD_SF_0P5 << 13),
+ BYT_RT5651_OVCD_SF_0P75 = (RT5651_OVCD_SF_0P75 << 13),
+ BYT_RT5651_OVCD_SF_1P0 = (RT5651_OVCD_SF_1P0 << 13),
+ BYT_RT5651_OVCD_SF_1P5 = (RT5651_OVCD_SF_1P5 << 13),
+};
+
#define BYT_RT5651_MAP(quirk) ((quirk) & GENMASK(3, 0))
#define BYT_RT5651_JDSRC(quirk) (((quirk) & GENMASK(7, 4)) >> 4)
+#define BYT_RT5651_OVCD_TH(quirk) (((quirk) & GENMASK(12, 8)) >> 8)
+#define BYT_RT5651_OVCD_SF(quirk) (((quirk) & GENMASK(14, 13)) >> 13)
#define BYT_RT5651_DMIC_EN BIT(16)
#define BYT_RT5651_MCLK_EN BIT(17)
#define BYT_RT5651_MCLK_25MHZ BIT(18)
-/* jack-detect-source + dmic-en + terminating empty entry */
-#define MAX_NO_PROPS 3
+/* jack-detect-source + dmic-en + ovcd-th + -sf + terminating empty entry */
+#define MAX_NO_PROPS 5
struct byt_rt5651_private {
struct clk *mclk;
@@ -78,9 +93,14 @@ static void log_quirks(struct device *dev)
dev_info(dev, "quirk IN2_MAP enabled");
if (BYT_RT5651_MAP(byt_rt5651_quirk) == BYT_RT5651_IN3_MAP)
dev_info(dev, "quirk IN3_MAP enabled");
- if (BYT_RT5651_JDSRC(byt_rt5651_quirk))
+ if (BYT_RT5651_JDSRC(byt_rt5651_quirk)) {
dev_info(dev, "quirk realtek,jack-detect-source %ld\n",
BYT_RT5651_JDSRC(byt_rt5651_quirk));
+ dev_info(dev, "quirk realtek,over-current-threshold-microamp %ld\n",
+ BYT_RT5651_OVCD_TH(byt_rt5651_quirk) * 100);
+ dev_info(dev, "quirk realtek,over-current-scale-factor %ld\n",
+ BYT_RT5651_OVCD_SF(byt_rt5651_quirk));
+ }
if (byt_rt5651_quirk & BYT_RT5651_DMIC_EN)
dev_info(dev, "quirk DMIC enabled");
if (byt_rt5651_quirk & BYT_RT5651_MCLK_EN)
@@ -304,6 +324,8 @@ static const struct dmi_system_id byt_rt5651_quirk_table[] = {
},
.driver_data = (void *)(BYT_RT5651_MCLK_EN |
BYT_RT5651_JD1_1 |
+ BYT_RT5651_OVCD_TH_2000UA |
+ BYT_RT5651_OVCD_SF_0P75 |
BYT_RT5651_IN1_IN2_MAP),
},
{}
@@ -326,6 +348,12 @@ static int byt_rt5651_add_codec_device_props(const char *i2c_dev_name)
props[cnt++] = PROPERTY_ENTRY_U32("realtek,jack-detect-source",
BYT_RT5651_JDSRC(byt_rt5651_quirk));
+ props[cnt++] = PROPERTY_ENTRY_U32("realtek,over-current-threshold-microamp",
+ BYT_RT5651_OVCD_TH(byt_rt5651_quirk) * 100);
+
+ props[cnt++] = PROPERTY_ENTRY_U32("realtek,over-current-scale-factor",
+ BYT_RT5651_OVCD_SF(byt_rt5651_quirk));
+
if (byt_rt5651_quirk & BYT_RT5651_DMIC_EN)
props[cnt++] = PROPERTY_ENTRY_BOOL("realtek,dmic-en");
--
2.14.3
next prev parent reply other threads:[~2018-03-04 14:36 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-04 14:35 [PATCH v3 00/22] ASoC: rt5651: jack-detect fixes and improvements Hans de Goede
2018-03-04 14:35 ` [PATCH v3 01/22] ASoC: rt5651: Make rt5651_apply_properties() private Hans de Goede
2018-03-07 14:14 ` Applied "ASoC: rt5651: Make rt5651_apply_properties() private" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 02/22] ASoC: rt5651: Add devicetree-bindings for jack-detect Hans de Goede
2018-03-07 14:14 ` Applied "ASoC: rt5651: Add devicetree-bindings for jack-detect" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 03/22] ASoC: rt5651: Configure jack-detect source through a device-property Hans de Goede
2018-03-07 12:34 ` Mark Brown
2018-03-07 13:49 ` Hans de Goede
2018-03-07 14:28 ` Mark Brown
2018-03-07 14:14 ` Applied "ASoC: rt5651: Configure jack-detect source through a device-property" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 04/22] ASoC: rt5651: Allow specifying over-current threshold through a device-property Hans de Goede
2018-03-07 14:14 ` Applied "ASoC: rt5651: Allow specifying over-current threshold through a device-property" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 05/22] ASoC: rt5651: Allow specifying the OVCD scale-factor through a device-property Hans de Goede
2018-03-07 14:14 ` Applied "ASoC: rt5651: Allow specifying the OVCD scale-factor through a device-property" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 06/22] ASoC: rt5651: Enable sticky mode for OVCD Hans de Goede
2018-03-04 14:35 ` [PATCH v3 07/22] ASoC: rt5651: Enable Platform Clock during jack-type detect Hans de Goede
2018-03-04 14:35 ` [PATCH v3 08/22] ASoC: rt5651: Add rt5651_jack_inserted() helper Hans de Goede
2018-03-04 14:35 ` [PATCH v3 09/22] ASoC: rt5651: Rewrite jack-type detection Hans de Goede
2018-03-07 14:13 ` Applied "ASoC: rt5651: Rewrite jack-type detection" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 10/22] ASoC: Intel: bytcr_rt5651: Not being able to find the codec ACPI-dev is an error Hans de Goede
2018-03-07 14:13 ` Applied "ASoC: Intel: bytcr_rt5651: Not being able to find the codec ACPI-dev is an error" to the asoc tree Mark Brown
2018-03-04 14:35 ` [PATCH v3 11/22] ASoC: Intel: bytcr_rt5651: Pass jack-src info via device-properties Hans de Goede
2018-03-07 14:22 ` Applied "ASoC: Intel: bytcr_rt5651: Pass jack-src info via device-properties" to the asoc tree Mark Brown
2018-03-04 14:36 ` [PATCH v3 12/22] ASoC: Intel: bytcr_rt5651: Actually honor the DMIC_EN quirk if specified Hans de Goede
2018-03-07 14:22 ` Applied "ASoC: Intel: bytcr_rt5651: Actually honor the DMIC_EN quirk if specified" to the asoc tree Mark Brown
2018-03-04 14:36 ` [PATCH v3 13/22] ASoC: Intel: bytcr_rt5651: Only create jack if we have a jack-detect source Hans de Goede
2018-03-07 14:22 ` Applied "ASoC: Intel: bytcr_rt5651: Only create jack if we have a jack-detect source" to the asoc tree Mark Brown
2018-03-04 14:36 ` Hans de Goede [this message]
2018-03-07 14:22 ` Applied "ASoC: Intel: bytcr_rt5651: Add quirk micbias OVCD configuration" " Mark Brown
2018-03-04 14:36 ` [PATCH v3 15/22] ASoC: Intel: bytcr_rt5651: Configure PLL1 before using it Hans de Goede
2018-03-04 14:36 ` [PATCH v3 16/22] ASoC: Intel: bytcr_rt5651: Drop snd_soc_dai_set_bclk_ratio() call Hans de Goede
2018-03-04 14:36 ` [PATCH v3 17/22] ASoC: Intel: bytcr_rt5651: Rename IN3_MAP to IN1_HS_IN3_MAP Hans de Goede
2018-03-04 14:36 ` [PATCH v3 18/22] ASoC: Intel: bytcr_rt5651: Add new IN2_HS_IN3 input map and a quirk using it Hans de Goede
2018-03-04 14:36 ` [PATCH v3 19/22] ASoC: Intel: bytcr_rt5651: Add support for Bay Trail CR / SSP0 using boards Hans de Goede
2018-03-07 14:21 ` Applied "ASoC: Intel: bytcr_rt5651: Add support for Bay Trail CR / SSP0 using boards" to the asoc tree Mark Brown
2018-03-09 23:30 ` [PATCH v3 19/22] ASoC: Intel: bytcr_rt5651: Add support for Bay Trail CR / SSP0 using boards Pierre-Louis Bossart
2018-03-11 18:19 ` Hans de Goede
2018-03-12 23:26 ` Pierre-Louis Bossart
2018-03-04 14:36 ` [PATCH v3 20/22] ASoC: Intel: bytcr_rt5651: Add quirk for the VIOS LTH17 laptop Hans de Goede
2018-03-04 14:36 ` [PATCH v3 21/22] ASoC: Intel: bytcr_rt5651: Change defaults to enable jack-detect, analog mics Hans de Goede
2018-03-04 14:36 ` [PATCH v3 22/22] ASoC: Intel: bytcr_rt5651: Select RCCLK on init() Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180304143610.21125-15-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=alsa-devel@alsa-project.org \
--cc=bardliao@realtek.com \
--cc=broonie@kernel.org \
--cc=carlo@endlessm.com \
--cc=oder_chiou@realtek.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).