From: Richard Fitzgerald <rf@opensource.cirrus.com> To: <broonie@kernel.org> Cc: <alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org>, <patches@opensource.cirrus.com>, Richard Fitzgerald <rf@opensource.cirrus.com> Subject: [PATCH 1/3] ASoC: dt-bindings: cs42l42: Correct description of ts-inv Date: Tue, 16 Nov 2021 16:26:47 +0000 [thread overview] Message-ID: <20211116162652.45225-4-rf@opensource.cirrus.com> (raw) In-Reply-To: <20211116162652.45225-1-rf@opensource.cirrus.com> This swaps the descriptions of the 0 and 1 values to match what the driver actually does with this property. The background here is somewhat confusing. The codec has two invert bits for the tip sense. The DT property should have been for the TIP_SENSE_INV bit, which is the one that controls the detect block. Due to some misunderstanding of the hardware the driver actually implemented setting of the TS_INV bit, which is only for swapping the sense of the interrupt bits. The description was taken from the datasheet and refers to TIP_SENSE_INV but unfortunately TS_INV has a different purpose and the net effect of changing it is the reverse of what was intended (this is not clearly described in the datasheet). So the ts-inv settings have always done the exact opposite of what the description said. Given the age of the driver, it's too late now to swap the meanings of the values, so the description is changed to match the behaviour. They have been annotated with the terminology used in the datasheet to avoid the confusion of which one corresponds to what the datasheet calls "inverted tip sense". Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Fixes: da16c5579353 ("ASoC: cs42l42: Add devicetree bindings for CS42L42") --- Documentation/devicetree/bindings/sound/cs42l42.txt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/cs42l42.txt b/Documentation/devicetree/bindings/sound/cs42l42.txt index 5d416fdaf023..3b7705623980 100644 --- a/Documentation/devicetree/bindings/sound/cs42l42.txt +++ b/Documentation/devicetree/bindings/sound/cs42l42.txt @@ -19,13 +19,14 @@ Optional properties: (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for further information relating to interrupt properties) - - cirrus,ts-inv : Boolean property. For jacks that invert the tip sense - polarity. Normal jacks will short tip sense pin to HS1 when headphones are - plugged in and leave tip sense floating when not plugged in. Inverting jacks - short tip sense when unplugged and float when plugged in. + - cirrus,ts-inv : Boolean property. Sets the behaviour of the jack plug + detect switch. - 0 = (Default) Non-inverted - 1 = Inverted + 0 = (Default) Shorted to tip when unplugged, open when plugged. + This is "inverted tip sense (ITS)" in the datasheet. + + 1 = Open when unplugged, shorted to tip when plugged. + This is "normal tip sense (TS)" in the datasheet. - cirrus,ts-dbnc-rise : Debounce the rising edge of TIP_SENSE_PLUG. With no debounce, the tip sense pin might be noisy on a plug event. -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: Richard Fitzgerald <rf@opensource.cirrus.com> To: <broonie@kernel.org> Cc: patches@opensource.cirrus.com, alsa-devel@alsa-project.org, Richard Fitzgerald <rf@opensource.cirrus.com>, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] ASoC: dt-bindings: cs42l42: Correct description of ts-inv Date: Tue, 16 Nov 2021 16:26:47 +0000 [thread overview] Message-ID: <20211116162652.45225-4-rf@opensource.cirrus.com> (raw) In-Reply-To: <20211116162652.45225-1-rf@opensource.cirrus.com> This swaps the descriptions of the 0 and 1 values to match what the driver actually does with this property. The background here is somewhat confusing. The codec has two invert bits for the tip sense. The DT property should have been for the TIP_SENSE_INV bit, which is the one that controls the detect block. Due to some misunderstanding of the hardware the driver actually implemented setting of the TS_INV bit, which is only for swapping the sense of the interrupt bits. The description was taken from the datasheet and refers to TIP_SENSE_INV but unfortunately TS_INV has a different purpose and the net effect of changing it is the reverse of what was intended (this is not clearly described in the datasheet). So the ts-inv settings have always done the exact opposite of what the description said. Given the age of the driver, it's too late now to swap the meanings of the values, so the description is changed to match the behaviour. They have been annotated with the terminology used in the datasheet to avoid the confusion of which one corresponds to what the datasheet calls "inverted tip sense". Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Fixes: da16c5579353 ("ASoC: cs42l42: Add devicetree bindings for CS42L42") --- Documentation/devicetree/bindings/sound/cs42l42.txt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/cs42l42.txt b/Documentation/devicetree/bindings/sound/cs42l42.txt index 5d416fdaf023..3b7705623980 100644 --- a/Documentation/devicetree/bindings/sound/cs42l42.txt +++ b/Documentation/devicetree/bindings/sound/cs42l42.txt @@ -19,13 +19,14 @@ Optional properties: (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for further information relating to interrupt properties) - - cirrus,ts-inv : Boolean property. For jacks that invert the tip sense - polarity. Normal jacks will short tip sense pin to HS1 when headphones are - plugged in and leave tip sense floating when not plugged in. Inverting jacks - short tip sense when unplugged and float when plugged in. + - cirrus,ts-inv : Boolean property. Sets the behaviour of the jack plug + detect switch. - 0 = (Default) Non-inverted - 1 = Inverted + 0 = (Default) Shorted to tip when unplugged, open when plugged. + This is "inverted tip sense (ITS)" in the datasheet. + + 1 = Open when unplugged, shorted to tip when plugged. + This is "normal tip sense (TS)" in the datasheet. - cirrus,ts-dbnc-rise : Debounce the rising edge of TIP_SENSE_PLUG. With no debounce, the tip sense pin might be noisy on a plug event. -- 2.11.0
next prev parent reply other threads:[~2021-11-16 16:27 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-16 16:26 [PATCH 0/4] ASoC: cs42l42: Remove redundant code Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH v2] ASoC: cs42l42: Add control for audio slow-start switch Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 1/4] ASoC: cs42l42: Remove redundant writes to DETECT_MODE Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald [this message] 2021-11-16 16:26 ` [PATCH 1/3] ASoC: dt-bindings: cs42l42: Correct description of ts-inv Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 2/3] ASoC: cs42l42: Correct configuring of switch inversion from ts-inv Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 2/4] ASoC: cs42l42: Remove redundant writes to RS_PLUG/RS_UNPLUG masks Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 3/4] ASoC: cs42l42: Simplify reporting of jack unplug Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 3/3] ASoC: dt-bindings: cs42l42: Convert binding to yaml Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:26 ` [PATCH 4/4] ASoC: cs42l42: Remove redundant pll_divout member Richard Fitzgerald 2021-11-16 16:26 ` Richard Fitzgerald 2021-11-16 16:29 ` [PATCH 0/4] ASoC: cs42l42: Remove redundant code Richard Fitzgerald 2021-11-16 16:29 ` Richard Fitzgerald -- strict thread matches above, loose matches on Subject: below -- 2021-10-28 14:08 [PATCH 0/3] ASoC: cs42l42: Fix definition and handling of jack switch invert Richard Fitzgerald 2021-10-28 14:09 ` [PATCH 1/3] ASoC: dt-bindings: cs42l42: Correct description of ts-inv Richard Fitzgerald 2021-10-28 14:09 ` Richard Fitzgerald
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=20211116162652.45225-4-rf@opensource.cirrus.com \ --to=rf@opensource.cirrus.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=patches@opensource.cirrus.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.