From patchwork Tue Aug 23 01:34:43 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9294869 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4DE60607F0 for ; Tue, 23 Aug 2016 01:37:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3CFA728ACF for ; Tue, 23 Aug 2016 01:37:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2FDEB28B32; Tue, 23 Aug 2016 01:37:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE60528ACF for ; Tue, 23 Aug 2016 01:36:58 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 9B7C4266B04; Tue, 23 Aug 2016 03:36:57 +0200 (CEST) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id C2F4C266D32; Tue, 23 Aug 2016 03:35:50 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id EF0F9266D2F; Tue, 23 Aug 2016 03:35:49 +0200 (CEST) Received: from relmlie4.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa0.perex.cz (Postfix) with ESMTP id 9CB47266A59 for ; Tue, 23 Aug 2016 03:34:51 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie4.idc.renesas.com with ESMTP; 23 Aug 2016 10:34:47 +0900 Received: from relmlac4.idc.renesas.com (relmlac4.idc.renesas.com [10.200.69.24]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id EFFD745BC5; Tue, 23 Aug 2016 10:34:47 +0900 (JST) Received: by relmlac4.idc.renesas.com (Postfix, from userid 0) id DCEDC480A3; Tue, 23 Aug 2016 10:34:47 +0900 (JST) Received: from relmlac4.idc.renesas.com (localhost [127.0.0.1]) by relmlac4.idc.renesas.com (Postfix) with ESMTP id D0186480A4; Tue, 23 Aug 2016 10:34:47 +0900 (JST) Received: from relmlii1.idc.renesas.com [10.200.68.65] by relmlac4.idc.renesas.com with ESMTP id LAN21222; Tue, 23 Aug 2016 10:34:47 +0900 X-IronPort-AV: E=Sophos;i="5.22,559,1449500400"; d="scan'208";a="217870947" Received: from mail-hk2apc01lp0212.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.212]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA; 23 Aug 2016 10:34:47 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=t63kG9DN0jchNbtuEe+qY27bpXb9c1DK6vXb/RBnVIo=; b=erMkwDx+iAJ5O8PBgAch82umIXWqWkh8zC4B9+6aFKEATfxKjT5Aw2vjKBT5UASCmjl0kXxj/zdGPqxLQqFZj9iAXXM+BWJsqRrt0100qKAkilEoJVuTh8fh/HbSLLPLpepl0G2P96ZZYK/lABUf1yToZ4O5EFZhSsUQWCz0o1Y= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by PS1PR0601MB1452.apcprd06.prod.outlook.com (10.165.210.156) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.557.21; Tue, 23 Aug 2016 01:34:43 +0000 Message-ID: <87a8g4i8cc.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") To: Mark Brown In-Reply-To: <87eg5gi8f4.wl%kuninori.morimoto.gx@renesas.com> References: <87eg5gi8f4.wl%kuninori.morimoto.gx@renesas.com> Date: Tue, 23 Aug 2016 01:34:43 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OSXPR01CA0075.jpnprd01.prod.outlook.com (10.167.144.26) To PS1PR0601MB1452.apcprd06.prod.outlook.com (10.165.210.156) X-MS-Office365-Filtering-Correlation-Id: a1b7059a-2507-46c9-99ba-08d3caf5a92e X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 2:8ynEIQqCIllziZKQ9d+ojIG5VNmtEKQf7T3PlJK2NaGfWwu/e/GqCooWFekSc4mmkZQHV4OBoU3wKcOAQuWB5La9Uja0FxZU+or2tKweg0FXa18yGXcnmKOpbofv0TZPeJzvR4cYzTr5pSu640C7whN3GE6WLOGmxQJrQuFzl3+XadsXlXeMu1fRR22dfqSH; 3:l2W4wyy7lbg7qu4tj2sqIkxLOZPhQg9nYQ6ITceZJyRj8JzmDvt9kAoNE18c0eOGQYmo026IYjAp5yy1iZwXw+RYHzSRRJ1MET75HUcOqZ6Ngnuuz7OYxl0kn0vZOWjm X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:PS1PR0601MB1452; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 25:oyVnN/muCWtg2POGsDbtG0ZMbUItd0ygS6jWlN5W23pMUX0ddc7RTEmHCW6J0dln7Ki4lG/dDX+T6DVzlWSeMytYL0sJlV42jt0HRPHYQvKrwF3PaKAG0rsggiH0u3U/0v9WlZ4i8Ub+m6pXk7U4jcsmcIe3CbbD8v43qD7GgSItBY+v9yEKDX9fpV0gs1cMtLuR3Xkfx29H6FUNsceys0P6BE6HIS+eK1w6rD/5cMwD4VNJ9WlY6z5FhR81FaHbNI9LSqhrMvx9Afub3DbhgjHcw3rXemm3FWP7icPowJd50JFz71owCL25s8LhsJELP49OdYQRYdeJJ+BB1tfmKEciK0x7QZoZv/rVEOgw3cAyj9EsKWh2eoYc5R3KhOJW8RaHhLHgUB7zRhF15y13kAOpoFVmonq+PGRXhuEElFY7rV4yqk2tDKbU93iD6OlMFBGzg6Io0Gx3Gjqk45xlSabqp84N5ryvkFMUu3zl7u/KBml7BJa2ucdz6katVs41hrZg62ysHDHawi5oXTBOkyMG8FtqM3ZqJH63ETj4mDUxOYH3FyYd43geCPanNFXdP9EwUhHvhrhTowlyXtIos/1kru6fx6onoq4x3GvtfdtBDIh2+NCnGjleP03Fus8nk1HNopJhvuCEG+XsRK1p5HvHPdLBY9EO/2ond3dgDhhyozD7a6+PY8j0XLm27QsMPPhUojHaAZrmQ+6PUcsxzm0PO2KdUpoCn4xQDntah9t8I/x1GWMcTl0vzhs/KNJQ X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 31:X9F3BLmEkwA/l4UVFGYo4ojzdeFD746/R4CWl2s9NtqRscnJOkjM+2jO8HFMai+8Di6gty1jNXHjjIcHMaP6BmFq7t0g5qx+7tt/q1LEhHxhFXRIGBwS2ZUDi5tdwZB/lE2/aZOXEZw+f0UGu6ZtMdQO+5pVo6O7CJc3YlyHTRpX0IH+/qTNd+MwwgQDDVO3dcT0RBb4OfwW0dn+D6v8LrQP9XtXaFILy58cfESyTRQ=; 20:fRUdDK7MHjqnqkj7nirDJDtAWSKmhOah+W4Ga4SfNgf9L618xjvLpXJzYuFOQLtXz9+pl6cBKThpzeK50YlpLsqym9R9+/3bxU1uO2Mforj+/3SLt2sXMs2U7bfl1yqAOMgVAHeTA6M5sJo3y8QQQlJg9vNjKjBCiGdgjZvPgSzuXnuqD6ho5tVzhyFAJ0B4KNGoR4UDYDrkca/Km8X/SQ6iGLHFjVFeD636BQzJ2QIEJnrRi7HDRnR1B+QVGw6RJxV38k//KeTR0EewvHYg8wzmoBD6UTbER1cbtdfiy+MtANuUEBuzJbYDl3Tco4yZuLnCPTwWIr14NW9UGCsg3zHB69UTiA0Z73voGWm2s8eRN4xtj9U5XjAtC1fQj7SFOtiql7h81+gdSCc0brI7OBiJ7MD8EX0Y5bIdUaOI/O1vKhmTbDi2AMgJchalqQPaf4hIq6cL0BatH/AAYHbvwzRO/QQhusGrbZE1F1huX4RCQDhDkFyp4Jjq1vEFVu35 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:PS1PR0601MB1452; BCL:0; PCL:0; RULEID:; SRVR:PS1PR0601MB1452; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 4:7ZPRo3qy+x4Fr3VTO4Dm9bRbA72AcZ4uyMpz4qseS1/UomHeL2sgxo0pO+acAS22cowA+nuCztsvhvEKQOVeHuGS2zaKvbVbIkMpeVSa/42bfpMZgIX0mdl/Adlz6tr9qSEcUMpVg3gLZI2m9HlZKf3FS2/vC9rzw+v3rYk7scfQvbTv163Pdbv4snox0PrbXp5b1dY0LpUW45LhY6idxsk56ANw7eb8M9IwHlLzI4XdyIwvoEVL+f01v9S6CRku3+gtuxo72G99dLYVcu9E8tbS2AGXQccoKTZanzNfwVOnFWoe1AIxlP7aaCa2dC7lCZW+aMeIpN/s+OwpOZV6fvTscQ4IdcjRFbGPFvSj92gbWmduwOFtvLqs+Ps7n2PeEC16AlzmuXxqu/vIM+BhNrUCh/C5IyYO4DDiz4VXjFk= X-Forefront-PRVS: 004395A01C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(33646002)(6116002)(83506001)(7846002)(50986999)(81156014)(81166006)(8676002)(110136002)(42186005)(76176999)(4001350100001)(4326007)(50466002)(53416004)(46406003)(575784001)(101416001)(97736004)(105586002)(69596002)(229853001)(230783001)(106356001)(23726003)(189998001)(54356999)(3846002)(19580395003)(586003)(2906002)(77096005)(2950100001)(19580405001)(66066001)(68736007)(31430400001)(86362001)(47776003)(92566002)(7736002)(5660300001)(305945005)(36756003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1452; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; PS1PR0601MB1452; 23:71+tU7B6Lvk8WTygSMDXLq30ygOIDWtEHJsjw3z?= =?us-ascii?Q?9pPAJ2wyDbHDPfVbLikQnVr4RBI5WsmbX2eoHPNU3AJWZjXAWOxT+vAKA4bA?= =?us-ascii?Q?PRu9Qhs1HXaorCtcup+KeX5WXTNvmOwvM1XAAIVPP2oMQGfj/+7zfHhHoqBZ?= =?us-ascii?Q?qUNc7kseZvHxSkLIBbxHwfOFDxMETo9Vbm9s/icf+CE5JrmPHhGSx9xVLZIA?= =?us-ascii?Q?JB9YyvXdqDKRoPxl7OLLXSqhj6Wwo13ZhepfP2vIcUf4qSE7xw+jALZ5W4Yd?= =?us-ascii?Q?2sORp5QzGVcuK52gAypHNm2MtYgyq9upGQx2aXYwBzqkfMxFHISjQTOmPr3/?= =?us-ascii?Q?AOKQdFB7gX7FjhpPGpcwdu/n0z98Ptjg9mZWclyLbtSH9jlAwaPE1OJ9565f?= =?us-ascii?Q?zVY1lX0wfZWd2K/hfxF3oyRMw1IhwsutT3CV/xw3Awd4ERnYmRRBTXXg/WkW?= =?us-ascii?Q?+/oDXNnODmp9RVPmJdY1n4QP6YOFC/q6pRBVRHtu+KW6cpIC2hHpTwhjUw7m?= =?us-ascii?Q?08OfUbLO+52GU45Ce7xSwdDtR1cVzk2k11Ka34/OT7h/siI0yaYwxgw/sm4t?= =?us-ascii?Q?cWFCzCLaSSpom58xZczioOqGGN3YNQD9/BfzebcFNE1Uq+AzUIqiQhJn9ZRx?= =?us-ascii?Q?KcJk9iMorN31CXgoGFP0s/5U2WPuYiiYhOY6Slu7F1LGjbYtpQzEcJ2dRC+t?= =?us-ascii?Q?UY+ESC88mcSD591uB70KRVM0PNNO+R9dWd2wMpvrLoSC12wgiWLDGYsuZEFf?= =?us-ascii?Q?b/wKEun6Yl9XfiQ6kKhs6ysDlFLxf7AleO1n/uqzI2TOB7FzLQmyhe5DrLIQ?= =?us-ascii?Q?aYJfOjTGKfZfZb6RyXoPubYWfY/wb+FxEZCHCVBFr+VGwHUTBUamyeWBU+Rw?= =?us-ascii?Q?x+BNV8SB/W3Pj3w9kGUJGYR7J6XYaINq4xhChYDr3AJ3mPJQDkfQe7/UbG/+?= =?us-ascii?Q?bT1sTEmie6FdPAWZOWWpcBwnN8n5Epypq002F/rSC04eQo/l06LjPJ8rbmZi?= =?us-ascii?Q?Ge5gNo++KKrs9axTyhDga1SFRJXxL+M7S28lud73ZWpwI4Q8gd7cRbSlBWPu?= =?us-ascii?Q?OCESfpoGXydFl9ZKh2eHV9Qo2Sl6rpb0l33bONJpU1X8VFKm9qAHPfiVuOeT?= =?us-ascii?Q?dhUvdVJ+NLUw/p7iJrq43VfU8wMYGOq62nut31eL/lvSRlfZLQZETWzRZogp?= =?us-ascii?Q?dl5M3DBtgjOQPP4XFMbR9TlGS5NrOZW29Q+fvmQduULKd42tt4LTS7FH/uNl?= =?us-ascii?Q?AzlKp3iIMmXYR2NjbO+l+/ru3Sspa4rjIYNV0KZLs?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 6:PZNK2cL3FDCPBa7T+J7o5AbzuOAwOF2vBeH0BwBKZOsAjMymhbf0G4idt9I3UrUHzWCPtf+Fg0OVBWrfokFV0FqRy466mE8WVCeGZDEAhecx79Rq6WySR0zj2mog4j/7B/cIkYov+UsazdxXPQ+6SbxzIaE5lQ099funQ1x8XliNw8bbxffmS61y4Zds8jz39kL1N1S4vDz+TAzOMjSawEbpQR1CtueCO63lDAlSr8VKZlYIULFUbBHOIQwFzg1nezPyZdiUL67o81WlvV56uIHvBXT/vW57YOcgY7srXtRBa+4b/Q65G8C5ie+W9qBnUeccs8Zc6Z5q4FbPeaQLlA==; 5:CaFrH/Sq2b7ROHu5K3iIBEPbqIk4PzknkqpAGGEJe0UipmzpeChXMfsklBa7tyQvDE3P4C+PObkZIEEVscL+vBPafv5z8x/svxO1JP1ckcdn1rKm89iVp5GI7aXdp/7bYiamaY312s7tCgYttH+zhw==; 24:1O1J8Gz8MJctk0Vu62wiyl74sSc1rwY2PYYuwaGKor2jxDeL+IlwMtXpOB5BEFZMDsFYKR7FijWcc24bXOnl2fg/kI+nG1ZY+Ut7rMJb9Ms=; 7:2n+EIhrgkCQhCVGjelwHuyCFwZPSVib0XIA4o1UH5ZAk3iFCzSgwdR2C6lYlDHwiGH2v0Ko9SK43/R3+8+bHXUs4jJwF/jIdZo+4ym1BZI/VoX5mavmgTQHzI2fpjj1vM/YB+wCqMb/IhJvUJTfA9QrOprzILmrdGf2W6f/RNXrGTUfdM5I4ZMW79bmvDrNLf7Eh/3/ABXRBJIN6KG6I7Qpw7ZgfjnTlKYqqk8dNzhbyF+fTDLN69Wg0V33jMRD8 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1452; 20:OyyaTgtIRbkZ2uzniRXawXWMkoafdMuyyOQZ5PNc7RkeZKaltSFWyxtmoAAxPO9IWIIdv2fQWr0+WL7EIQnkIJgHsVax1tXCLZiqLJxTLNYikPXH/eUKhJ8cvBz4kxLI/DZFYv+hZhQADUkvc6c8P3sZ/gsOwvbJqHUHMSw/5Xw= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2016 01:34:43.9590 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1452 Cc: Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH v2 3/4] ASoC: rsrc-card: rename rsrc-card to simple-scu-card phase2 X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto rsrc-card which is using DPCM feature was created for Renesas sound. But not only Renesas, but many SoC can use this driver, because it is based on simple-card driver. To use it as more open driver, rsrc-card will be renamed to simple-scu-card. In order to easy patch review, as 2nd step, this patch adds new compatible "simple-scu-audio-card"; rcar-card used specific property, not "simple-audio-card", but it should be now. Actually, rsrc-card is upstreamed driver, but noone is using it on upstream. The user is only local, and it is only me. Thus, there is no compatible break by this patch. This patch uses "simple-audio-card" prefix. And it removes rcar-card specifix compatible too. Signed-off-by: Kuninori Morimoto --- v1 -> v2 - dpcm-card -> scu-card - board specific compatibility part was separated .../bindings/sound/renesas,rsrc-card.txt | 52 +++++++++++--------- sound/soc/sh/rcar/rsrc-card.c | 55 +++++++++------------- 2 files changed, 51 insertions(+), 56 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsrc-card.txt b/Documentation/devicetree/bindings/sound/renesas,rsrc-card.txt index f148bf2..ecb4a24 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsrc-card.txt +++ b/Documentation/devicetree/bindings/sound/renesas,rsrc-card.txt @@ -1,35 +1,36 @@ -Renesas Sampling Rate Convert Sound Card: +ASoC simple SCU Sound Card -Renesas Sampling Rate Convert Sound Card specifies audio DAI connections of SoC <-> codec. +Simple-Card specifies audio DAI connections of SoC <-> codec. Required properties: -- compatible : "renesas,rsrc-card" +- compatible : "simple-scu-audio-card" + "renesas,rsrc-card" Optional properties: -- card_name : User specified audio sound card name, one string +- simple-audio-card,name : User specified audio sound card name, one string property. -- cpu : CPU sub-node -- codec : CODEC sub-node +- simple-audio-card,cpu : CPU sub-node +- simple-audio-card,codec : CODEC sub-node Optional subnode properties: -- format : CPU/CODEC common audio format. +- simple-audio-card,format : CPU/CODEC common audio format. "i2s", "right_j", "left_j" , "dsp_a" "dsp_b", "ac97", "pdm", "msb", "lsb" -- frame-master : Indicates dai-link frame master. +- simple-audio-card,frame-master : Indicates dai-link frame master. phandle to a cpu or codec subnode. -- bitclock-master : Indicates dai-link bit clock master. +- simple-audio-card,bitclock-master : Indicates dai-link bit clock master. phandle to a cpu or codec subnode. -- bitclock-inversion : bool property. Add this if the +- simple-audio-card,bitclock-inversion : bool property. Add this if the dai-link uses bit clock inversion. -- frame-inversion : bool property. Add this if the +- simple-audio-card,frame-inversion : bool property. Add this if the dai-link uses frame clock inversion. -- convert-rate : platform specified sampling rate convert -- convert-channels : platform specified converted channel size (2 - 8 ch) -- audio-prefix : see audio-routing -- audio-routing : A list of the connections between audio components. +- simple-audio-card,convert-rate : platform specified sampling rate convert +- simple-audio-card,convert-channels : platform specified converted channel size (2 - 8 ch) +- simple-audio-card,prefix : see audio-routing +- simple-audio-card,routing : A list of the connections between audio components. Each entry is a pair of strings, the first being the connection's sink, the second being the connection's source. Valid names for sources. use audio-prefix if some components is using same sink/sources naming. @@ -54,18 +55,25 @@ Optional CPU/CODEC subnodes properties: Example sound { - compatible = "renesas,rsrc-card,lager"; + compatible = "simple-scu-audio-card"; - card-name = "rsnd-ak4643"; - format = "left_j"; - bitclock-master = <&sndcodec>; - frame-master = <&sndcodec>; + simple-audio-card,name = "rsnd-ak4643"; + simple-audio-card,format = "left_j"; + simple-audio-card,format = "left_j"; + simple-audio-card,bitclock-master = <&sndcodec>; + simple-audio-card,frame-master = <&sndcodec>; - sndcpu: cpu { + simple-audio-card,convert-rate = <48000>; /* see audio_clk_a */ + + simple-audio-card,prefix = "ak4642"; + simple-audio-card,routing = "ak4642 Playback", "DAI0 Playback", + "DAI0 Capture", "ak4642 Capture"; + + sndcpu: simple-audio-card,cpu { sound-dai = <&rcar_sound>; }; - sndcodec: codec { + sndcodec: simple-audio-card,codec { sound-dai = <&ak4643>; system-clock-frequency = <11289600>; }; diff --git a/sound/soc/sh/rcar/rsrc-card.c b/sound/soc/sh/rcar/rsrc-card.c index a0d0f36..3fa1908 100644 --- a/sound/soc/sh/rcar/rsrc-card.c +++ b/sound/soc/sh/rcar/rsrc-card.c @@ -30,6 +30,7 @@ struct asoc_simple_card_of_data { static const struct of_device_id asoc_simple_card_of_match[] = { { .compatible = "renesas,rsrc-card", }, + { .compatible = "simple-scu-audio-card", }, {}, }; MODULE_DEVICE_TABLE(of, asoc_simple_card_of_match); @@ -51,6 +52,7 @@ struct asoc_simple_card_priv { #define DAI "sound-dai" #define CELL "#sound-dai-cells" +#define PREFIX "simple-audio-card," static int asoc_simple_card_startup(struct snd_pcm_substream *substream) { @@ -161,10 +163,6 @@ static int asoc_simple_card_parse_links(struct device_node *np, asoc_simple_card_canonicalize_cpu(dai_link, is_single_links); } else { - const struct asoc_simple_card_of_data *of_data; - - of_data = of_device_get_match_data(dev); - /* FE is dummy */ dai_link->cpu_of_node = NULL; dai_link->cpu_dai_name = "snd-soc-dummy-dai"; @@ -188,16 +186,10 @@ static int asoc_simple_card_parse_links(struct device_node *np, if (ret < 0) return ret; - /* additional name prefix */ - if (of_data) { - priv->codec_conf.of_node = dai_link->codec_of_node; - priv->codec_conf.name_prefix = of_data->prefix; - } else { - snd_soc_of_parse_audio_prefix(&priv->snd_card, - &priv->codec_conf, - dai_link->codec_of_node, - "audio-prefix"); - } + snd_soc_of_parse_audio_prefix(&priv->snd_card, + &priv->codec_conf, + dai_link->codec_of_node, + PREFIX "prefix"); } ret = asoc_simple_card_canonicalize_dailink(dai_link); @@ -232,9 +224,9 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, for_each_child_of_node(node, np) { dai_link = simple_priv_to_link(priv, i); - if (strcmp(np->name, "codec") == 0) { + if (strcmp(np->name, PREFIX "codec") == 0) { ret = asoc_simple_card_parse_daifmt(dev, node, np, - NULL, &daifmt); + PREFIX, &daifmt); if (ret < 0) return ret; break; @@ -248,7 +240,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, dai_link->dai_fmt = daifmt; is_fe = false; - if (strcmp(np->name, "cpu") == 0) + if (strcmp(np->name, PREFIX "cpu") == 0) is_fe = true; ret = asoc_simple_card_parse_links(np, priv, i, is_fe); @@ -264,7 +256,6 @@ static int asoc_simple_card_parse_of(struct device_node *node, struct asoc_simple_card_priv *priv, struct device *dev) { - const struct asoc_simple_card_of_data *of_data = of_device_get_match_data(dev); struct asoc_simple_dai *props; struct snd_soc_dai_link *links; int ret; @@ -290,33 +281,29 @@ static int asoc_simple_card_parse_of(struct device_node *node, priv->snd_card.codec_conf = &priv->codec_conf; priv->snd_card.num_configs = 1; - if (of_data) { - priv->snd_card.of_dapm_routes = of_data->routes; - priv->snd_card.num_of_dapm_routes = of_data->num_routes; - } else { - snd_soc_of_parse_audio_routing(&priv->snd_card, - "audio-routing"); - } + ret = snd_soc_of_parse_audio_routing(&priv->snd_card, PREFIX "routing"); + if (ret < 0) + return ret; /* sampling rate convert */ - of_property_read_u32(node, "convert-rate", &priv->convert_rate); + of_property_read_u32(node, PREFIX "convert-rate", &priv->convert_rate); /* channels transfer */ - of_property_read_u32(node, "convert-channels", &priv->convert_channels); - - dev_dbg(dev, "New rsrc-audio-card: %s\n", - priv->snd_card.name ? priv->snd_card.name : ""); - dev_dbg(dev, "SRC : convert_rate %d\n", priv->convert_rate); - dev_dbg(dev, "CTU : convert_channels %d\n", priv->convert_channels); + of_property_read_u32(node, PREFIX "convert-channels", &priv->convert_channels); ret = asoc_simple_card_dai_link_of(node, priv); if (ret < 0) return ret; - ret = asoc_simple_card_parse_card_name(&priv->snd_card, "card-"); + ret = asoc_simple_card_parse_card_name(&priv->snd_card, PREFIX); if (ret < 0) return ret; + dev_dbg(dev, "New card: %s\n", + priv->snd_card.name ? priv->snd_card.name : ""); + dev_dbg(dev, "convert_rate %d\n", priv->convert_rate); + dev_dbg(dev, "convert_channels %d\n", priv->convert_channels); + return 0; } @@ -359,7 +346,7 @@ static int asoc_simple_card_remove(struct platform_device *pdev) static struct platform_driver asoc_simple_card = { .driver = { - .name = "renesas-src-audio-card", + .name = "simple-scu-audio-card", .of_match_table = asoc_simple_card_of_match, }, .probe = asoc_simple_card_probe,