From: Valerio Setti <vsetti@baylibre.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Jerome Brunet <jbrunet@baylibre.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Kevin Hilman <khilman@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/6] ASoC: meson: add audin main module and I2S formatter
Date: Mon, 14 Sep 2026 15:14:46 +0200 [thread overview]
Message-ID: <964d6626-202c-4d0a-aef2-86a383f405ab@baylibre.com> (raw)
In-Reply-To: <20260913-inventive-millipede-of-certainty-dd58ce@quoll>
Thanks for your review and feedbacks.
On 9/13/26 11:41 AM, Krzysztof Kozlowski wrote:
> On Sat, Sep 12, 2026 at 12:14:32AM +0200, Valerio Setti wrote:
>> +static int meson_gx_audin_probe(struct platform_device *pdev)
>> +{
>> + struct device *dev = &pdev->dev;
>> + struct resource *res;
>> + void __iomem *mmio;
>> + struct regmap *regmap;
>> + struct clk *clk;
>> + int ret;
>> +
>> + ret = device_reset(dev);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed to reset device\n");
>> +
>> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> + if (!res)
>> + return dev_err_probe(dev, -EINVAL, "Failed to get memory resource\n");
>> +
>> + /*
>> + * Do not use devm_platform_ioremap_resource() here: it would claim the
>> + * whole AUDIN window exclusively and the FIFO children would then fail
>> + * to request their own sub-ranges.
>> + */
>
> And this should point you that child is not a separate device.
>
> Please open your datasheet and read what is the address space of this
> device. You claim here ENTIRE address space. If you insist that entire
> address space is not owned by this device, then you misrepresented
> hardware in the DT anyway.
As I mentioned in the cover letter I designed it this way so that I
could easily re-use the same driver code for all 3 FIFOs just offsetting
the base address. I knew it was a bit hackish a solution, but IMO that
was worth it since it was simplifying a bit driver's code. Perhaps it
was more software-oriented rather than hardware related.
The other possible approach is to fully copy what AIU is doing and
allocate each FIFO as a DAI. I'll follow that design then, but if you
have any better idea please let me know.
>> + mmio = devm_ioremap(dev, res->start, resource_size(res));
>> + if (!mmio)
>> + return dev_err_probe(dev, -ENOMEM, "Failed to remap memory\n");
>> +
>> + regmap = devm_regmap_init_mmio(dev, mmio, &audin_regmap_cfg);
>> + if (IS_ERR(regmap))
>> + return dev_err_probe(dev, PTR_ERR(regmap), "Failed to init regmap\n");
>> +
>> + clk = devm_clk_get_enabled(dev, NULL);
>> + if (IS_ERR(clk))
>> + return dev_err_probe(dev, PTR_ERR(clk), "Failed to get clock\n");
>> +
>> + ret = gx_formatter_create(dev, &audin_dapm_widgets[0], &audin_formatter_i2s_drv, regmap);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed to allocate formatter\n");
>> +
>> + ret = devm_snd_soc_register_component(dev, &audin_component, NULL, 0);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed to register component\n");
>> +
>> + ret = devm_of_platform_populate(dev);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "Failed to probe child nodes\n");
>> +
>> + return 0;
>> +}
>> +
>> +static void meson_gx_audin_remove(struct platform_device *pdev)
>> +{
>> + gx_formatter_free(&audin_dapm_widgets[0]);
>> +}
>> +
>> +static const struct of_device_id meson_gx_audin_of_match[] = {
>> + { .compatible = "amlogic,meson-gxbb-audin" },
>> + { .compatible = "amlogic,meson-gxl-audin" },
>
> Why do you have two entries here and no fallbacks? This makes no sense,
> really. I have no more doubts that your "gx" is a real SoC/
OK. Genuine question about naming here: would "amlogic,gx-audin" be
fine? Because in "meson-gx.dtsi" I see many surrounding nodes have
"amlogic,meson-gx-" prefix, but that doesn't seem to follow design rules
from "writing-bindings.rst".
--
Valerio
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2026-09-14 13:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-11 22:14 [PATCH 0/6] ASoC: meson: gx: add base support for I2S audio input Valerio Setti
2026-09-11 22:14 ` [PATCH 1/6] dt-bindings: sound: amlogic: add schemas for audin components Valerio Setti
2026-09-13 9:38 ` Krzysztof Kozlowski
2026-09-11 22:14 ` [PATCH 2/6] ASoC: meson: add audin main module and I2S formatter Valerio Setti
2026-09-13 9:41 ` Krzysztof Kozlowski
2026-09-14 13:14 ` Valerio Setti [this message]
2026-09-14 7:33 ` Uwe Kleine-König
2026-09-11 22:14 ` [PATCH 3/6] ASoC: meson: add audin FIFO driver Valerio Setti
2026-09-11 22:30 ` sashiko-bot
2026-09-11 22:14 ` [PATCH 4/6] ASoC: meson: aiu: add I2S Capture DAI Valerio Setti
2026-09-11 22:14 ` [PATCH 5/6] ASoC: meson: gx-card: add support for audin FIFO Valerio Setti
2026-09-11 22:14 ` [PATCH 6/6] arm64: dts: amlogic: gx: add nodes for audin and its FIFOs Valerio Setti
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=964d6626-202c-4d0a-aef2-86a383f405ab@baylibre.com \
--to=vsetti@baylibre.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=neil.armstrong@linaro.org \
--cc=perex@perex.cz \
--cc=robh@kernel.org \
--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
all inboxes | Powered by JetHome®