From patchwork Tue Jul 17 15:36:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 142150 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp3813126ljj; Tue, 17 Jul 2018 08:36:53 -0700 (PDT) X-Google-Smtp-Source: AAOMgpf1sVOj8YUIvXt8bBR04xnygc7vSzF6ka+buR9CSZA/dwh0mj9jg24NlRXQaCOUbabcfh9m X-Received: by 2002:a62:c288:: with SMTP id w8-v6mr1198445pfk.92.1531841812965; Tue, 17 Jul 2018 08:36:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531841812; cv=none; d=google.com; s=arc-20160816; b=iAP6jPWUONfe1MmiCrTazFkiSO2lydxOHTBzdGlNkuPxjb/73vz0LJ+d2iee2y/K1g pjojorS+6qt/W+JVo+/JLEi3XXgOGpad7rgHK25LQbP4DQWxARebgYIT2IiEqH/wNRgl qLk7HzaS7KKSy+1a5xb8CZKmiqNZkgSzjJE3iMAeuEy5m5tx0KSnib6RCQpDQUwo7zwA nYokqMUc7PXsYTqFp81T/TrEr/cOuOQGgjxgFDmZFeYbzmnRDsQSxE2IgnhwnMnI1pou uZ7lHKUuggKX0ArX2LO/9Hcz60GMXGnBqG245G4vYL7bjVgAAf+Gil8LppfHNZdUF1AW dNfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=iovYSCzRi0xRYQ6uF5MbKxolaTioFjQxXQAfu2kGBJQ=; b=QKPYJ6nVdfO0MacYo9KVICKoMvH9Q4hMr3uICv804cBCvAG/UdeJBykLn8VsDBAC/7 W8Fh0hlpkglIb5AatyPGI4bF83ygcVP4zfmSLTNgHTcJDcGxZZesVjC8Ox6aog3i1/xe JNz7l/IMa2mvAQ+vh2hRb1r9nM+Mv6KAGwa0Az8DWq+lCLT31rcXfzrLPcnEZab+dN1F SBDU4Cx0eQGm5srd+Gu7yz4LB8hto1pJ6QCbrE8zybhLmQBSvuKuuG3Hc4bIra7YEPbg +E3JB4HOBP4OA8KbzVee6CcMDcXigaIk8snFoyGwwgmDTHaMnkukisvVkni9CffC5To8 GMuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ndwn0CpP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f12-v6si1166777pgm.601.2018.07.17.08.36.52; Tue, 17 Jul 2018 08:36:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ndwn0CpP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729838AbeGQQKB (ORCPT + 31 others); Tue, 17 Jul 2018 12:10:01 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:52787 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729659AbeGQQKB (ORCPT ); Tue, 17 Jul 2018 12:10:01 -0400 Received: by mail-wm0-f66.google.com with SMTP id o11-v6so1959844wmh.2 for ; Tue, 17 Jul 2018 08:36:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=iovYSCzRi0xRYQ6uF5MbKxolaTioFjQxXQAfu2kGBJQ=; b=ndwn0CpPdNsM/o4bo2+tmUK0QtJ7ZIxmsRivpZOxFSPQRPuKyjd+0LBgz7SzG5iYj5 WAQe4d41tECIetuFq6ZJB3U1imiD8hr92UTPBMxMC5l4DLeDljyaOSIu9w8ukKqUIHqM yC7Q6Payk1zIiAovqhbxW7UnlJ9XU4GuBBMDtpNxC5xK5Vsr2q/7U9Lfe2j10QFeerf+ o9WvLRpqsX8NSaQILjl2cOhdLzmkgx5XFXF+/h/0vv79RSetoOIdeYEcbSSt7N1hFd9g G5Y0LeOb5nNLEjdt/nTvSxNc60rhNgWtsqU5YjvJ8hmybxQQ0M7jxnvmJkRf3FvDuzqi KgtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=iovYSCzRi0xRYQ6uF5MbKxolaTioFjQxXQAfu2kGBJQ=; b=j9h7dcz1E2OuhGAokTzoLoWedhooeoPUATHSXfy/lyoMlepApYK6MrmWZ/zOWsSBwz ZQSFtvYChrGnAYXmIhaJAv65UebvtWM9UuBDPOJ1XQ15rR4/qiAvhkt6XVaXxj/dZhZj wwaIv1G232axqEYaf6abxO6v0wL9UZl41rA00rNeyLby/ohTcXKFhNUh3mMsVb5aBP5K 0knSJ0LyGR2STXN6oUXeawUPlcmUYJ0gbbmVks1seYdAcKc0HnuAaz/ahVHa3ks80HKN cBcIBoTR6m4wVhkbUrtVZaXT0MpvXolSA1+2YjyFE+58afVU2SCFaz/fujKwYbahPT6p Ikxw== X-Gm-Message-State: AOUpUlGP2RAtEHExmBAaVukENiM42OMpi0zuYo6OMflobADI0CL3xpY3 e6bASdss6vRMTK+QIrk4GdJ6CGDj X-Received: by 2002:a1c:f216:: with SMTP id s22-v6mr1809033wmc.50.1531841807232; Tue, 17 Jul 2018 08:36:47 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id h12-v6sm16971464wmb.3.2018.07.17.08.36.46 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 17 Jul 2018 08:36:46 -0700 (PDT) From: Jerome Brunet To: Mark Brown , Liam Girdwood , Kevin Hilman , Carlo Caione Cc: Jerome Brunet , alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org Subject: [PATCH 00/15] ASoC: meson: add axg audio subsystem support Date: Tue, 17 Jul 2018 17:36:24 +0200 Message-Id: <20180717153643.8806-1-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds support for the audio subsystem found on Amlogic's axg SoC family. The first SoC of this family is the A113D/X targeted at smart speaker application. The G12a SoC family, Amlogic next-gen STB chipset, will reuse this audio subsystem with a few changes. This patchset implements the DPCM machine driver and the different components it made of. Several components are still missing, such spdif input and pdm, and will submitted later on. The fancier part of this patchset is probably around the TDM. Properly modeling the SoC architecture and its capatilities made things a little more complex than usual (details in the related commit descriptions) If necessary, this patchset could broken into smaller series. For the intial submission, I wanted to give a global view of the subsystem. Hopefully, it will make it a bit easier to understand. Jerome Brunet (15): ASoC: meson: add axg fifos DT binding documentation ASoC: meson: add axg fifo base driver ASoC: meson: add axg frddr driver ASoC: meson: add axg toddr driver ASoC: meson: add axg spdif output DT bindings documentation ASoC: meson: add axg spdif output ASoC: meson: add axg tdm formatters DT bindings documentation ASoC: meson: add axg tdm interface DT bindings documentation ASoC: meson: add tdm formatter base driver ASoC: meson: add tdm interface driver ASoC: meson: add tdm output driver ASoC: meson: add tdm input driver ASoC: export snd_soc_of_get_slot_mask ASoC: meson: add axg sound card DT bindings documentation ASoC: meson: add axg sound card support .../devicetree/bindings/sound/amlogic,axg-fifo.txt | 23 + .../bindings/sound/amlogic,axg-sound-card.txt | 124 ++++ .../bindings/sound/amlogic,axg-spdifout.txt | 20 + .../bindings/sound/amlogic,axg-tdm-formatters.txt | 28 + .../bindings/sound/amlogic,axg-tdm-iface.txt | 22 + include/sound/soc.h | 3 + sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/meson/Kconfig | 64 ++ sound/soc/meson/Makefile | 21 + sound/soc/meson/axg-card.c | 671 +++++++++++++++++++++ sound/soc/meson/axg-fifo.c | 341 +++++++++++ sound/soc/meson/axg-fifo.h | 80 +++ sound/soc/meson/axg-frddr.c | 141 +++++ sound/soc/meson/axg-spdifout.c | 456 ++++++++++++++ sound/soc/meson/axg-tdm-formatter.c | 381 ++++++++++++ sound/soc/meson/axg-tdm-formatter.h | 39 ++ sound/soc/meson/axg-tdm-interface.c | 542 +++++++++++++++++ sound/soc/meson/axg-tdm.h | 78 +++ sound/soc/meson/axg-tdmin.c | 229 +++++++ sound/soc/meson/axg-tdmout.c | 259 ++++++++ sound/soc/meson/axg-toddr.c | 199 ++++++ sound/soc/soc-core.c | 7 +- 23 files changed, 3727 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.txt create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt create mode 100644 sound/soc/meson/Kconfig create mode 100644 sound/soc/meson/Makefile create mode 100644 sound/soc/meson/axg-card.c create mode 100644 sound/soc/meson/axg-fifo.c create mode 100644 sound/soc/meson/axg-fifo.h create mode 100644 sound/soc/meson/axg-frddr.c create mode 100644 sound/soc/meson/axg-spdifout.c create mode 100644 sound/soc/meson/axg-tdm-formatter.c create mode 100644 sound/soc/meson/axg-tdm-formatter.h create mode 100644 sound/soc/meson/axg-tdm-interface.c create mode 100644 sound/soc/meson/axg-tdm.h create mode 100644 sound/soc/meson/axg-tdmin.c create mode 100644 sound/soc/meson/axg-tdmout.c create mode 100644 sound/soc/meson/axg-toddr.c -- 2.14.4