Received: by 10.223.185.116 with SMTP id b49csp852484wrg; Wed, 14 Feb 2018 07:58:25 -0800 (PST) X-Google-Smtp-Source: AH8x225mAb54b/U5sxqAMpUTH/ylRvuCp2+EjZi2Iy8Tg2aXmKnfuf6Q1pWvJVVgHeJDU5zLgdf4 X-Received: by 2002:a17:902:8e8a:: with SMTP id bg10-v6mr4944223plb.162.1518623905422; Wed, 14 Feb 2018 07:58:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518623905; cv=none; d=google.com; s=arc-20160816; b=JTwgxgj9cLGxgFd75bplpN2MgpBFqtPHTtYdkFqsZlyZNjVMsVWhx1oXIgCLRMCzRP j2sLi5UfZsaurk024FGpe6osyXDyU36AIjYdTDpBHhPkie8d7bVsEoy98xYppMyOhN+/ LTj4EFimQzi+by+i2zXkb6ZhiYtxw41KX5IfMa/ngc9iYnc4ogb9rBCj2XHcas/ZKimF wltnHAG1Zu4RhJSD0/PetNxQwoEeT7MxEblCDRHjsjuuTotCrG4ejCZcs5dGqJo8Ge79 66XiB9BMUV4zaSKQu485KJYv+AlzprNbjhavt4LhvuC9tmElbcb6evEW2/e3TxyDuH5+ R1ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:message-id:date:subject:cc:to :from:arc-authentication-results; bh=KOyXt5FKMh7L2SVKV242kwtvWSvQn8OHlzx8l6fesO0=; b=PginnfWqJuuFUqD02kW51RDUwFUIpkEc08bXvqkV4L6R6HwUvTFSkJzYdtLp7iHNn2 OSn0mhNnw/FxWd1PODYLYWsPQHFYc9koDYITRgEharX9A8/PmlSQOL5pKY0M53WjHBlv O1U9dlMshF0zS9qeFGOntgAMQDOlqbuhjVeJCrx3z5nGZhfkQL+EuPxjhgyxWsDE7k5I 4y+JVMeXzYiE/fqmiMt+db8Cp1IHZ31ACD8O1EXpceqhzKR/e3AlFs/sxa0a5Slfqmhw p7HCgOF8y0/Z19u6ILsZd+rk9/mBcinmZnQAUQNj4F8DgV6Lv66hWHomrm6mpyvO76ud HTlA== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u3-v6si3450165plz.494.2018.02.14.07.58.10; Wed, 14 Feb 2018 07:58:25 -0800 (PST) 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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031923AbeBNPz4 (ORCPT + 99 others); Wed, 14 Feb 2018 10:55:56 -0500 Received: from mail-dm3nam03on0088.outbound.protection.outlook.com ([104.47.41.88]:16901 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1031649AbeBNPzx (ORCPT ); Wed, 14 Feb 2018 10:55:53 -0500 Received: from BN3PR03CA0107.namprd03.prod.outlook.com (2603:10b6:400:4::25) by BLUPR03MB1412.namprd03.prod.outlook.com (2a01:111:e400:58c1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.485.10; Wed, 14 Feb 2018 15:55:51 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:168) by BN3PR03CA0107.outlook.office365.com (2603:10b6:400:4::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.485.10 via Frontend Transport; Wed, 14 Feb 2018 15:55:51 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.485.12 via Frontend Transport; Wed, 14 Feb 2018 15:55:50 +0000 Received: from fsr-ub1664-124.ea.freescale.net (fsr-ub1664-124 [134.27.109.63] (may be forged)) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w1EDLRVO011233; Wed, 14 Feb 2018 06:21:28 -0700 From: Cosmin-Gabriel Samoila To: , , , CC: , , , , , Cosmin-Gabriel Samoila Subject: [PATCH v3 0/2] Add support for AK4458 DAC Date: Wed, 14 Feb 2018 15:21:05 +0200 Message-ID: <1518614467-20613-1-git-send-email-cosmin.samoila@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131630973516273932;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(376002)(39380400002)(396003)(346002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(85426001)(106466001)(47776003)(5660300001)(53936002)(68736007)(6666003)(2201001)(86362001)(8676002)(81166006)(498600001)(81156014)(50226002)(26826003)(356003)(2906002)(8936002)(59450400001)(48376002)(104016004)(105606002)(51416003)(50466002)(97736004)(36756003)(956003)(450100002)(336011)(305945005)(110136005)(54906003)(16586007)(26005)(4326008)(316002)(42866002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1412;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD037;1:bZbmlt0C55iBGL4GzUWNdJNsGAbZHEQgNhOhCWIee10/EiwJ7lw+Ipxe0sF86Xu3GyGRXP50Z0+IaqTVS0RTqvHTqxHrnDIygE2sxg2iDPzQEKxNgix/Fut+WOsaOEFd MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5be0dfa1-9a9c-444a-f7ac-08d573c36c54 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(5600026)(4604075)(2017052603307);SRVR:BLUPR03MB1412; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1412;3:zp2/9yhyV8vicB8Or1NL7xjgVMf5ir/LeZVFvdm2ey3ZtIzXZMpvshhzxd3bSsyA9JfD9AU+oEsnIXsdwWKBomOMjcUgLAj9e5f+BjciENCEP2SNIZJwPWcnKgM/rqR2JxFyfFGVUzLErk7cDt5eBl0brTQqCmdFbGim85XXS+Xl8yvLW1RW+YD+8T9XjDjBkxtEXp4OP2Qc1W7WnrWkuQf34Xaon2y/H3JDX4nPbvA7e4UYHjAbaAgZb+CwDl/rpDvzSoaqdaj9unX2skWCpwmBZE10NPENWyR29WI3yLtnZyDgWRJgNKMmdrIr4cQ/rBafLxB7+nkZ95PKorQrOD1fvuxEnZsHu+GfNq1iOt0=;25:gTfRHVSlRyGKWVit/c8xydixXKRrzELhFjuSXJT/C3QiSaHFtqpzCqoLNhSoN52jIgCknsSawiyvBfTTyJtiw9Z4iaoLCqKGc/kCHLfEsFYUFpO778Wm+kskC/HMtrx2GoIvB3wtKVbA4oGYpAaFBJjIcrP9okfEF8O5uhTb/H38XfAsnXmpIg8TJ32cfrZXpjFiUjChs4cGPtrHwCZZfFcbqemwjotU0exPVWwylOT1+7xj3Hjv5Mh5NzewNhxNAnE9gQ/lzgo4nUSV67QyJiSTBD23l39D4UHg7qrGeXRFC3UjtiNiAqX2NbSJf3DNJIvqarj9W+/Wjjw5nYL3aA== X-MS-TrafficTypeDiagnostic: BLUPR03MB1412: X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1412;31:4uG4/UBRjBYhYjM4Mh/L7nxx1qBL+sXc69ygluXtwc7Dr7kI5GZsPFsxghf4uMghtoMcVm4wt2MHq7M9lX2ZxDmJN7/1vXa3wNhRH8rNoekd/Y/cjRn68ieyddzSfvFhGzkhMP30NloB4fKBw8OMMWTg8CVn71NzzGOoDY5hOQU9I0pi3OceoQoVt9aG8YGKulEP+HxpezyLkSIBqg2CKoWFVgcg4pwLg/Q6ocmU2lE=;4:hGFtkpWmPGJgP4Kvoi0ez6n5zyKkqbID6AxKMT9lNQ67pdFh8+MDidkwWo8goF/YTyPBvyWcrHzI8vXMGRzVIK2da0H/zcQ/ASaa6/1c9ibf6yQA/DIIJv7AkT5PFC88LIlFUeJepfMGDSURzmRa6vt/s/nLlI1FlTZa5BF0Q71SMPjQurNz+LO0h/2yII5l3Q87x2zxezMYHDah0UN5gfAwAqATk3J5qoGkLeC8nkKlGVV31rzUVqX/V4aW6EWaxRaewFsgsZ8TDZE2ZMVgGA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(5005006)(8121501046)(3231101)(944501161)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123563025)(20161123556025)(20161123561025)(20161123559100)(20161123565025)(201708071742011);SRVR:BLUPR03MB1412;BCL:0;PCL:0;RULEID:(400006);SRVR:BLUPR03MB1412; X-Forefront-PRVS: 0583A86C08 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB1412;23:SuvnC7viht2qNchPptFH0mq/e2Tf56sk/hT924TDn?= =?us-ascii?Q?Rw+M9Bw9O4lwh1GYH+8esmEM8/yHIdllWXuTJEuxpH7jd1537XAcgMof7SYO?= =?us-ascii?Q?0yaw81WH1LH4/1cM9wjRZq3eZ3dc93/OY0IAKG9g3mfTtz0ZHMvsOf0SIGlN?= =?us-ascii?Q?qgUwfhjL4uOM2S++dw9CTvmeDRsO43K207Z+fXNlIRz0GXoG1acuXVsZaB65?= =?us-ascii?Q?RlXwE6Jg0+K74D61M839W2lf2HGB7sH9kVT6QDU9SiuvgEIeR/MV9ZXO6Bl8?= =?us-ascii?Q?/OFXlhLiRW5IdTBmSsfCDb0jwsM70zPyLKMnj1Q70G8jm29HUOs/pVlKJgaj?= =?us-ascii?Q?67V5JwTvbWohMEEIjzgtmugHXk+XeejFQA/LsPpyQpbqPGA1vNBKYFiEARLH?= =?us-ascii?Q?0D7DJwsao8woJe1Zx2L8pR66rfRQbXklfBn/hdq/dijXvEr9xPDTIMpbVupN?= =?us-ascii?Q?PMfdtx9wGb3RQ71Q7uoF8BKBpP3BWhNc80Ga+4yqX0x17BBZcnIjW0daZy5m?= =?us-ascii?Q?4ic7qBgHWYrX+xcdZy/NVNNur86noujIbhv0rU3xsXTJe85h7SxTY/GmjZ/p?= =?us-ascii?Q?Ynfp3LFBE8XpS57Y4GzYms6Xmdsb9y3+Q8fDLGTP1fMjrnKatkQ83Y5F2sUt?= =?us-ascii?Q?VL7lhh0UXIboA3oXuOU+EjZmZ6PZtLUgSjskuwjwCVDoACj2Au00QV3uKYBc?= =?us-ascii?Q?6LlmNQWUVorLMpRj6sLbNo1dkTaIRnEJKMum4RJu3DyWAAfdIoxBv6McCjXk?= =?us-ascii?Q?Ar0UaJLCVYOjgHCSmOkyBhakCiFaH2AzksUjDJjlwlnjfuUcxXKUqoomm9n+?= =?us-ascii?Q?MSDlQcPNsJG2syFlMQkX3nh5hHXV7zcnFAUMiRcjheeTLq8bvX/K4s2gvzf2?= =?us-ascii?Q?QhccX+ynltpVzGno8FVR/lawKogIm4bteARBS+HSQVWF0R6RIUjJZ3Xh37qV?= =?us-ascii?Q?HjGYOYtyZn8t+80EYIrIaM7adxWJjLDApMfeOVMckBEjuXIOQiZQYdB2FglN?= =?us-ascii?Q?wVlkaMavOQaZWbhVsKUXwDZpuZc4wFJHLG7e4+itRzWRLV+7zLM7i1WYzpRr?= =?us-ascii?Q?gRzSOcxq6TxQJXnczmoSBRq6FZohHZTvnemEACbpoy/vXZLdgDEK96Je7D/K?= =?us-ascii?Q?nfqyS/tVKU=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1412;6:OEARNBWol3KCB7n0FU1bxalG2DFLRalHhxTE5hEKJ+0J4rlnEuiXF8AGbzIcfzBqEt77g82QK2ZnoDJNC+BpUkzIJViQN2bzrpXfpirhtlETLaWU0/qZZ8Pfjk65Fi2wvzk/0ZsjFb3L9rTQJcRbKWnTC0+Mw5BHP1s842RlGLFZLBINtHKaKrPngKmhzfFJTrw0EmP/xhLheYSAv3bfxTxaQinE1+z70kjtb23oOMdgNYMUuhM2pj85x3iYSH182dLhm0FwIVxspm5GkOP2sVF+MVr9u7edYs2YUy1fa3UWBOajOM+/gSAnGxaaouQQ2COkxQ6DN6juSHajKjUBJ4p6VfQjVRunPfKLdojhp1E=;5:0JkZWnhmdQUbfrCH+jYoIB3YyZ4v2p6+7DUgA6GpWCa8OjMDDDcWQyKJzn0yAbDAM3gkbf/ngDEr/KbWObO3lEP+C3Wz8qDvsVKdFoLa5QeM3i/66pXVjwHnWYuDIosHxS0jFUX4MAcH2W0ECkZF375g+SGe4mNIQqM8/G/pk+U=;24:eJImLjq6NJTEmA5xZvrh3jwSfgfB+ASdf3J/EC/JF1JXiAqvegmR42fjv4+0Zh2cigb3n8uJDG8ccXx0o29ia2nfOFINRHH6znsHgks7k40=;7:qwW7cS+Ncnr9GS7jZujleU1zFXsLXl70+u8iNnnTD45xr31aOpj/sBtzQskAZwSiGy+o0qYF0Fz8BP4owCWl5+NA6t7HeH9RMEfNAqD8Pd3ThUOANUlLXAcyc80fAJsD9GpNdLNJixBCSqYRG4RAalSiIXnddzTT82bRMoRJPXL635g0KXI67c/T3SR8sWkfLd4uTgzn5OZ9AGPEvp/F81gQ+7wyP3X5z/TEP6XuZC88QaWUVdW2r0JD9AUUcl50 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2018 15:55:50.7069 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5be0dfa1-9a9c-444a-f7ac-08d573c36c54 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1412 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We support Normal Mode, TDM Mode and PM. Changes since V2: - remove unused code left from V1 - rewrite set_dai_fmt to only remember the format since - the format is rewritten in hw_params - use defined constants for mode in set_tdm_slot function - use GENMASK - add commit message for bindings patch - modify bindings description text since we only support I2C for now - rename ak4458_codec_probe to ak4458_probe - write whole implementation of regmap init and gpiod get in i2c_probe - added ak4458_remove where we power_off the chip Changes since V1: - support only i2c - i2c probe / remove/suspend/ resume moved into shared code - change enum array to separate variables - aggregate Volume control for Left and Right Channel - remove mux from DAPM - remove unused functions - remove unused controls - remove unused macros - use snd_soc_update_bits instead of soc_read + soc_write - use GPIOD - use SPDX identifier - use dac@10 instgitead of ak4458@10 - use explicit power_on/off functions - add __maybe_unused attribute - use probe_new for i2c_probe Cosmin-Gabriel Samoila (2): ASoC: codecs: Add support for AK4458 DAC driver ASoC: ak4458: Add bindings for AK4458 DAC Documentation/devicetree/bindings/sound/ak4458.txt | 23 + sound/soc/codecs/Kconfig | 6 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/ak4458.c | 659 +++++++++++++++++++++ sound/soc/codecs/ak4458.h | 86 +++ 5 files changed, 776 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/ak4458.txt create mode 100644 sound/soc/codecs/ak4458.c create mode 100644 sound/soc/codecs/ak4458.h -- 2.7.4