linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Ratiu <adrian.ratiu@collabora.com>
To: Alex Bee <knaerzche@gmail.com>
Cc: Heiko Stuebner <heiko@sntech.de>,
	jack@radxa.com, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	kernel@collabora.com, Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCH] arm64: dts: rockchip: add rock-pi-4 analog audio
Date: Tue, 29 Jun 2021 18:07:15 +0300	[thread overview]
Message-ID: <87eeck3e1o.fsf@ryzen9.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <7f806d30-594e-2325-615a-8fee875c83a8@gmail.com>

Hi Alex,

On Tue, 29 Jun 2021, Alex Bee <knaerzche@gmail.com> wrote:
> Hi Adrian, 
> 
> I've submitted similar patch already. Its part of [1]

Thank you for pointing out your patch, I was not aware of it as it 
was not merged yet (I tested latest linux-next).

It is a good sign that our code is almost identical except for the 
headphone detect pin which you mention.
 
> 
> There is no headphone detection pin in the schematics, btw. 
>

There are two reasons I added it:

1. The es8316 codec failed to probe() in my testing unless the irq 
was defined. That might have been due to me testing the codec 
directly with the simple card driver instead of the graph driver.

Point 1 doesn't appear to be an issue anymore, the codec + graph 
driver probe correctly and audio supposedly (see below) works even 
without the irq.

2. I got the gpio bank 1 pin 0 location from various headphone 
detection commits in the vendor v4.4 kernel, like for example [1].

Are you 100% sure there is no hp detection pin wired on the 
rock-pi-4? 

Even if it might be missing from the schematics, the vendor driver 
code apparently defines and uses it?

From booting with the irq defined I get the following in 
/proc/interrupts however I'm having an unrelated difficulty 
testing because the audio connector literally broke off the board 
like in [2]. 

90: 1  0  0  0  0  rockchip_gpio_irq   0 Level     es8316

Team Radxa was very nice in offering me a replacement but until 
that arrives I can't test this anymore.

[1] 
https://github.com/radxa/kernel/commit/e945cad5c3ec82d171760465d3c7a84bb10ed1b7

[2] https://forum.radxa.com/t/audio-jack-broke-off/935

> [1] 
> https://patchwork.kernel.org/project/linux-rockchip/cover/20210618181256.27992-1-knaerzche@gmail.com/
>
> Best,
>
> Alex
>
> Am 28.06.21 um 13:30 schrieb Adrian Ratiu:
>> This adds the necessary pinctrl and nodes to enable the
>> analog audio on rk3399 rock-pi-4 SBCs using the es8316
>> codec and the audio-graph-card driver.
>>
>> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
>> ---
>>   .../boot/dts/rockchip/rk3399-rock-pi-4.dtsi   | 38 +++++++++++++++++++
>>   1 file changed, 38 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
>> index b28888ea9262..77781d9150ac 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
>> @@ -128,6 +128,12 @@ vdd_log: vdd-log {
>>   		regulator-max-microvolt = <1400000>;
>>   		vin-supply = <&vcc5v0_sys>;
>>   	};
>> +
>> +	sound {
>> +		compatible = "audio-graph-card";
>> +		label = "rockchip,rk3399";
>> +		dais = <&i2s0_p0>;
>> +	};
>>   };
>>   
>>   &cpu_l0 {
>> @@ -422,6 +428,24 @@ &i2c1 {
>>   	i2c-scl-rising-time-ns = <300>;
>>   	i2c-scl-falling-time-ns = <15>;
>>   	status = "okay";
>> +
>> +	es8316: codec@11 {
>> +		compatible = "everest,es8316";
>> +		reg = <0x11>;
>> +		clocks = <&cru SCLK_I2S_8CH_OUT>;
>> +		clock-names = "mclk";
>> +		pinctrl-names = "default";
>> +		pinctrl-0 = <&hp_det_pin>;
>> +		interrupt-parent = <&gpio1>;
>> +		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
>> +		#sound-dai-cells = <0>;
>> +
>> +		port {
>> +			es8316_p0_0: endpoint {
>> +				remote-endpoint = <&i2s0_p0_0>;
>> +			};
>> +		};
>> +	};
>>   };
>>   
>>   &i2c3 {
>> @@ -441,6 +465,14 @@ &i2s0 {
>>   	rockchip,capture-channels = <2>;
>>   	rockchip,playback-channels = <2>;
>>   	status = "okay";
>> +
>> +	i2s0_p0: port {
>> +		i2s0_p0_0: endpoint {
>> +			dai-format = "i2s";
>> +			mclk-fs = <256>;
>> +			remote-endpoint = <&es8316_p0_0>;
>> +		};
>> +	};
>>   };
>>   
>>   &i2s1 {
>> @@ -556,6 +588,12 @@ wifi_host_wake_l: wifi-host-wake-l {
>>   			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
>>   		};
>>   	};
>> +
>> +	es8316 {
>> +		hp_det_pin: hp-det-pin {
>> +			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
>> +		};
>> +	};
>>   };
>>   
>>   &pwm2 {

  reply	other threads:[~2021-06-29 15:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 11:30 [PATCH] arm64: dts: rockchip: add rock-pi-4 analog audio Adrian Ratiu
2021-06-29  9:06 ` Alex Bee
2021-06-29 15:07   ` Adrian Ratiu [this message]
2021-06-29 15:42     ` Robin Murphy
2021-06-29 17:04       ` Alex Bee
2021-06-29 17:30         ` Adrian Ratiu

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=87eeck3e1o.fsf@ryzen9.i-did-not-set--mail-host-address--so-tickle-me \
    --to=adrian.ratiu@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=jack@radxa.com \
    --cc=kernel@collabora.com \
    --cc=knaerzche@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robh+dt@kernel.org \
    /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).