From: Katsuhiro Suzuki <katsuhiro@katsuster.net>
To: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm64: dts: rockchip: add HDMI sound node for rk3328-rock64
Date: Mon, 4 Feb 2019 21:59:37 +0900 [thread overview]
Message-ID: <c4ce7f7a-c791-ae0a-ad3d-02b2efa41709@katsuster.net> (raw)
In-Reply-To: <1970132.3b67tCGWFf@phil>
Hello Heiko,
On 2019/02/03 18:06, Heiko Stuebner wrote:
> Am Samstag, 2. Februar 2019, 05:34:44 CET schrieb Katsuhiro Suzuki:
>> This patch adds HDMI sound (I2S0) node and remove dma properties
>> from UART2 node for rock64.
>>
>> The DMAC of rk3328 can use 8 channels at same time. Currently, total
>> 7 channels are used as follows:
>> - I2S1 2ch
>> - UART2 2ch
>> - SPDIF 1ch
>> - SPI0 2ch
>>
>> HDMI audio using I2S0 that requires 2ch but DMAC has only 1 channel.
>>
>> UART2 can work without DMA resources, so this patch removes dma
>> allocation for UART2 and reuses it to I2S0.
>
> I don't follow that description. How can i2s0 re-use the uart2 dma channels?
> Looking at the dma table in the TRM, uart2 has channels 6+7 while i2s0
> uses channels 11+12. They should just run concurrently?
>
Sorry for confusing... 6 or 7 is as ID number of slave DMA channel.
TRM calls it 'Req number'. Req number 6+7 and 11+12 can work
concurrently but TRM says DMAC can transfer 8 DMA channels at same
time. So all 16 Req numbers cannot activate at same time. It should
be keep less or equal than 8 numbers.
For details, DMAC of RK3328 is ARM PL330 (or compatible IP).
- Local variable 'chan_id' of of_dma_pl330_xlate() is Req number.
This is from Device-Tree info.
- Array 'channels' of struct pl330_dmac is DMA channels of DMAC.
pl330_request_channel() allocate DMA channel that is requested from
other drivers. Local variable 'chans' has max channels can run
concurrently.
Current setting:
channels chan_id
0 8
1 9
2 14
3 15
4 10
5 6
6 7
7 (not used)
Best Regards,
Katsuhiro Suzuki
>>
>> Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
>> ---
>> .../arm64/boot/dts/rockchip/rk3328-rock64.dts | 24 ++++++++++++++++++-
>> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 1 +
>> 2 files changed, 24 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
>> index 2157a528276b..e21645aa3fa5 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
>> @@ -68,7 +68,8 @@
>> sound {
>> compatible = "audio-graph-card";
>> label = "rockchip,rk3328";
>> - dais = <&i2s1_p0
>> + dais = <&i2s0_p0
>> + &i2s1_p0
>> &spdif_p0>;
>> };
>>
>> @@ -141,6 +142,12 @@
>>
>> &hdmi {
>> status = "okay";
>> +
>> + port@0 {
>> + hdmi_p0_0: endpoint {
>> + remote-endpoint = <&i2s0_p0_0>;
>> + };
>> + };
>> };
>>
>> &hdmiphy {
>> @@ -256,6 +263,18 @@
>> };
>> };
>>
>> +&i2s0 {
>> + status = "okay";
>> +
>> + i2s0_p0: port {
>> + i2s0_p0_0: endpoint {
>> + dai-format = "i2s";
>> + mclk-fs = <256>;
>> + remote-endpoint = <&hdmi_p0_0>;
>> + };
>> + };
>> +};
>> +
>> &i2s1 {
>> status = "okay";
>>
>> @@ -343,6 +362,9 @@
>>
>> &uart2 {
>> status = "okay";
>> +
>> + /delete-property/ dmas;
>> + /delete-property/ dma-names;
>> };
>>
>> &u2phy {
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
>> index 84f14b132e8f..374b5da93a35 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
>> @@ -665,6 +665,7 @@
>> pinctrl-names = "default";
>> pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
>> rockchip,grf = <&grf>;
>> + #sound-dai-cells = <0>;
>
> please make that a separate patch
>
>
> Heiko
>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-02-04 12:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-02 4:34 [PATCH] arm64: dts: rockchip: add HDMI sound node for rk3328-rock64 Katsuhiro Suzuki
2019-02-03 9:06 ` Heiko Stuebner
2019-02-04 12:59 ` Katsuhiro Suzuki [this message]
2019-02-12 11:12 ` Heiko Stübner
2019-02-17 10:58 ` Katsuhiro Suzuki
2019-02-17 13:17 ` Heiko Stuebner
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=c4ce7f7a-c791-ae0a-ad3d-02b2efa41709@katsuster.net \
--to=katsuhiro@katsuster.net \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.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).