From: Jack Yu <jack.yu@realtek.com>
To: Mark Brown <broonie@kernel.org>
Cc: "lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"lars@metafoo.de" <lars@metafoo.de>,
"Flove(HsinFu)" <flove@realtek.com>,
"Oder Chiou" <oder_chiou@realtek.com>,
"Shuming [范書銘]" <shumingf@realtek.com>,
"Derek [方德義]" <derek.fang@realtek.com>
Subject: RE: [PATCH] ASoC: rt1320-sdw: Update the driver to support rt1321_va2
Date: Thu, 5 Nov 2026 07:10:57 +0000 [thread overview]
Message-ID: <51400a0b6bf64c28b233de539a0e2849@realtek.com> (raw)
In-Reply-To: <179379483277.2456854.13813848595708930532.b4-review@b4>
> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: Wednesday, November 4, 2026 8:21 PM
> To: Jack Yu <jack.yu@realtek.com>
> Cc: broonie@kernel.org; lgirdwood@gmail.com; alsa-devel@alsa-project.org;
> lars@metafoo.de; Flove(HsinFu) <flove@realtek.com>; Oder Chiou
> <oder_chiou@realtek.com>; Shuming [范書銘] <shumingf@realtek.com>;
> Derek [方德義] <derek.fang@realtek.com>
> Subject: Re: [PATCH] ASoC: rt1320-sdw: Update the driver to support
> rt1321_va2
>
>
> External mail : This email originated from outside the organization. Do not
> reply, click links, or open attachments unless you recognize the sender and
> know the content is safe.
>
>
>
> > RT1321 VA2 needs a different flow from VA0/VA1:
> >
> > - Load the VA2 MCU patch code.
> > - Update the VA2 init settings and add the companion mode settings.
> > - Before R0 calibration and R0 load, switch to TV mode and disable
> > phase sync/silence detection so the DSP FW serves GET/SET_PARAM.
> > - Take the VA2 advance gain from the AFX1 header of the DSP FW.
> > - Extend the readable/volatile range of the DSP status registers.
> > - Increase the BRA sections to 16 for the 14-section DSP FW package.
> > - Hold a runtime PM reference in the kcontrol put handlers to avoid
> > runtime suspend in the middle of a long DSP access.
> >
> > The VA2 MCU patch code is submitted to linux-firmware separately.
>
> > @@ -1291,6 +1305,12 @@ static int rt1320_check_fw_ready(struct
> rt1320_sdw_priv *rt1320)
> > regmap_read(rt1320->regmap, cmd_addr, &tmp);
> > if (tmp == 0)
> > break;
> > + else if (tmp != 0x1 && tmp != 0x2 && tmp != 0x3) {
> > + dev_warn(dev, "%s abnormal val, tmp:%x",
> __func__, tmp);
> > + for (i = 0; i < 8; i++)
> > + regmap_write(rt1320->regmap,
> RT1321_FW_PARAM_ADDR + i, 0x00);
>
> This affects all the parts, are you sure it's right for RT1320?
I'll add a flag to differentiate it and make it va2 only.
>
> > + if (is_va2) {
> > + regmap_read(rt1320->regmap, 0xc5fb, ®_c5fb);
> > + regmap_write(rt1320->regmap, 0xc5fb, 0x00);
> > + regmap_update_bits(rt1320->regmap, 0xc047, 0x80, 0x00);
> > + regmap_update_bits(rt1320->regmap, 0xc044, 0xe0, 0x00);
> > + for (i = 0; i < 200; i++) {
> > + regmap_read(rt1320->regmap,
> RT1320_POWER_STATE, ®_c560);
> > + if (reg_c560 == RT1320_K_R0_STATE)
> > + break;
> > + usleep_range(10000, 15000);
> > + }
> > + dev_dbg(dev, "%s, RT1320_POWER_STATE=0x%x, i=%d\n",
> __func__,
>
> Perhaps rt1320_check_power_state_ready() could take some parameters?
I'll fix it in v2 patch.
>
> > @@ -1660,6 +1709,30 @@ static void rt1320_calibrate(struct
> rt1320_sdw_priv *rt1320)
> > goto _finish_;
> > }
> >
> > + if (is_va2) {
> > + /* Switch to TV mode */
> > + regmap_write(rt1320->regmap, 0xc5fb, 0x00);
> > + regmap_write(rt1320->regmap, 0xcd00, 0xc5);
> > + /* disable phase sync */
> > + regmap_update_bits(rt1320->regmap, 0xc047, 0x80, 0x00);
> > + /* through SRC */
> > + regmap_write(rt1320->regmap, 0xc5c4, 0x12);
> > + regmap_write(rt1320->regmap, 0xc570, 0x0b);
>
> Do we need to clean up in the error handling path here?
I'll fix it in v2 patch.
>
> --
> Mark Brown <broonie@kernel.org>
prev parent reply other threads:[~2026-11-05 7:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 2:53 [PATCH] ASoC: rt1320-sdw: Update the driver to support rt1321_va2 jack.yu
2026-11-04 12:20 ` Mark Brown
2026-11-05 7:10 ` Jack Yu [this message]
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=51400a0b6bf64c28b233de539a0e2849@realtek.com \
--to=jack.yu@realtek.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=derek.fang@realtek.com \
--cc=flove@realtek.com \
--cc=lars@metafoo.de \
--cc=lgirdwood@gmail.com \
--cc=oder_chiou@realtek.com \
--cc=shumingf@realtek.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 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.