Hello Neil,
On Fri, Mar 15, 2024 at 05:53:05PM +0100, Neil Armstrong wrote:
Hi Jan!
On 15/03/2024 00:21, Jan Dakinevich wrote:
This series includes the following:
new audio clock and reset controller data and adaptation for it of existing code (patches 0001..0004);
adaptation of existing audio components for A1 Soc (patches 0005..0021);
handy cosmetics for dai-link naming (patches 0022..0023);
integration of audio devices into common trees (patch 0024);
audio support bring up on Amlogic ad402 reference board (patch 0025). This patch is not actually checked on real hardware (because all ad402 that we had were burned out). This patch is based on ad402's schematics and on experience with our own hardware (which is very close to reference board);
Thanks for your serie, it's nice you're working on upstreaming this feature.
In my opinion it's fine to have a "big" initial serie if you're not sure if your changes are ok, but next time add the RFC tag so we know it's not a final changeset and you seek advices.
Overall the code is clean and your patch order makes sense if they were meant to be applied by a single maintainer, but in this case it will be split into multiple subsystems so it's better to split them as Jerome explained to ease review and the maintainers process.
Don't hesitate discussing with us in the #linux-amlogic IRC channel on Libera.Chat, the goal is to reduce the number of patch version and ease the review and maintainance process.
Concerning the link-name property, I think it should be done afterwards since it's not necessary to support audio on A1, and I think it could be extended to other SoC boards (which would be a great feature).
If you don't mind, I will send this change in a separate patch series. Although I don't have support for all boards in the linux-amlogic, I can test it on some Khadas and Odroid boards on my side. I will prepare link names for them.
Dmitry Rokosov (2): ASoC: dt-bindings: meson: introduce link-name optional property ASoC: meson: implement link-name optional property in meson card utils
Jan Dakinevich (23): clk: meson: a1: restrict an amount of 'hifi_pll' params clk: meson: axg: move reset controller's code to separate module dt-bindings: clock: meson: add A1 audio clock and reset controller bindings clk: meson: a1: add the audio clock controller driver ASoC: meson: codec-glue: add support for capture stream ASoC: meson: g12a-toacodec: fix "Lane Select" width ASoC: meson: g12a-toacodec: rework the definition of bits ASoC: dt-bindings: meson: g12a-toacodec: add support for A1 SoC family ASoC: meson: g12a-toacodec: add support for A1 SoC family ASoC: meson: t9015: prepare to adding new platforms ASoC: dt-bindings: meson: t9015: add support for A1 SoC family ASoC: meson: t9015: add support for A1 SoC family ASoC: dt-bindings: meson: axg-pdm: document 'sysrate' property ASoC: meson: axg-pdm: introduce 'sysrate' property pinctrl/meson: fix typo in PDM's pin name ASoC: dt-bindings: meson: meson-axg-audio-arb: claim support of A1 SoC family ASoC: dt-bindings: meson: axg-fifo: claim support of A1 SoC family ASoC: dt-bindings: meson: axg-pdm: claim support of A1 SoC family ASoC: dt-bindings: meson: axg-sound-card: claim support of A1 SoC family ASoC: dt-bindings: meson: axg-tdm-formatters: claim support of A1 SoC family ASoC: dt-bindings: meson: axg-tdm-iface: claim support of A1 SoC family arm64: dts: meson: a1: add audio devices arm64: dts: ad402: enable audio
.../bindings/clock/amlogic,a1-audio-clkc.yaml | 83 +++ .../reset/amlogic,meson-axg-audio-arb.yaml | 10 +- .../bindings/sound/amlogic,axg-fifo.yaml | 8 + .../bindings/sound/amlogic,axg-pdm.yaml | 5 + .../sound/amlogic,axg-sound-card.yaml | 12 +- .../sound/amlogic,axg-tdm-formatters.yaml | 22 +- .../bindings/sound/amlogic,axg-tdm-iface.yaml | 6 +- .../bindings/sound/amlogic,g12a-toacodec.yaml | 1 + .../bindings/sound/amlogic,gx-sound-card.yaml | 6 + .../bindings/sound/amlogic,t9015.yaml | 4 +- .../arm64/boot/dts/amlogic/meson-a1-ad402.dts | 126 ++++ arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 471 +++++++++++++++ drivers/clk/meson/Kconfig | 18 + drivers/clk/meson/Makefile | 2 + drivers/clk/meson/a1-audio.c | 556 ++++++++++++++++++ drivers/clk/meson/a1-audio.h | 58 ++ drivers/clk/meson/a1-pll.c | 8 +- drivers/clk/meson/axg-audio.c | 95 +-- drivers/clk/meson/meson-audio-rstc.c | 109 ++++ drivers/clk/meson/meson-audio-rstc.h | 12 + drivers/pinctrl/meson/pinctrl-meson-a1.c | 6 +- .../dt-bindings/clock/amlogic,a1-audio-clkc.h | 122 ++++ .../reset/amlogic,meson-a1-audio-reset.h | 29 + .../dt-bindings/sound/meson-g12a-toacodec.h | 5 + sound/soc/meson/axg-pdm.c | 10 +- sound/soc/meson/g12a-toacodec.c | 298 ++++++++-- sound/soc/meson/meson-card-utils.c | 12 +- sound/soc/meson/meson-codec-glue.c | 174 ++++-- sound/soc/meson/meson-codec-glue.h | 23 + sound/soc/meson/t9015.c | 326 +++++++++- 30 files changed, 2394 insertions(+), 223 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-audio-clkc.yaml create mode 100644 drivers/clk/meson/a1-audio.c create mode 100644 drivers/clk/meson/a1-audio.h create mode 100644 drivers/clk/meson/meson-audio-rstc.c create mode 100644 drivers/clk/meson/meson-audio-rstc.h create mode 100644 include/dt-bindings/clock/amlogic,a1-audio-clkc.h create mode 100644 include/dt-bindings/reset/amlogic,meson-a1-audio-reset.h