From patchwork Mon Feb 5 17:01:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Baluta X-Patchwork-Id: 869530 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zZzWs1vprz9sRV for ; Tue, 6 Feb 2018 07:21:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751915AbeBEUVb (ORCPT ); Mon, 5 Feb 2018 15:21:31 -0500 Received: from mail-bl2nam02on0089.outbound.protection.outlook.com ([104.47.38.89]:64640 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751103AbeBEUVA (ORCPT ); Mon, 5 Feb 2018 15:21:00 -0500 Received: from BN3PR03CA0083.namprd03.prod.outlook.com (10.167.1.171) by CY1PR03MB1421.namprd03.prod.outlook.com (10.163.17.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.464.11; Mon, 5 Feb 2018 20:20:58 +0000 Received: from BY2FFO11OLC002.protection.gbl (2a01:111:f400:7c0c::146) by BN3PR03CA0083.outlook.office365.com (2a01:111:e400:7a4d::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.464.11 via Frontend Transport; Mon, 5 Feb 2018 20:20:58 +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 BY2FFO11OLC002.mail.protection.outlook.com (10.1.15.178) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.464.8 via Frontend Transport; Mon, 5 Feb 2018 20:20:55 +0000 Received: from fsr-ub1664-118.ea.freescale.net (fsr-ub1664-118 [134.27.109.72] (may be forged)) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w15H2J5O029411; Mon, 5 Feb 2018 10:02:19 -0700 From: Daniel Baluta To: , , CC: , , , , , , , , , Subject: [PATCH v3 0/2] Add support for AK5558 ADC Date: Mon, 5 Feb 2018 19:01:53 +0200 Message-ID: <1517850115-24340-1-git-send-email-daniel.baluta@nxp.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131623356574651472; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:CAL; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(346002)(396003)(376002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(356003)(107886003)(26826003)(305945005)(81156014)(50226002)(81166006)(8676002)(5660300001)(86362001)(53936002)(8936002)(106466001)(105606002)(104016004)(47776003)(336011)(97736004)(36756003)(956003)(316002)(54906003)(110136005)(4326008)(450100002)(85426001)(23676004)(2906002)(2870700001)(5820100001)(498600001)(2201001)(68736007)(50466002)(6666003)(26005)(42866002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB1421; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC002; 1:7PiSI/2hUVnUhJVNJhkyAfDEG5raNMvy3tJd9imwymUT0uqCIq79Hh88MV5PyXlJVRjPDTeKQBRLc+sTr7HYqEkuSbxQLV9Wqm95Zf4zDoVtog4zHdz2jyXvN9nCSRFd X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d4138267-00ff-45da-c958-08d56cd5f72a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:CY1PR03MB1421; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1421; 3:YxSAz7QZSwAr4YCu5u/9I5KqrHah7oaMhwYz+DnhyGNkleploKBHjxYbHMVZ0nxj2hF+kEuMBuzQKh3y1OX/5z5VoqgY+EFmdaX3AK8gfJe59mDtvcjGn5i6eauGO+JzlHHNBUaWubiioCiPTW1KZA4bjEtXl6960fEaJ8TbaSyGK6q8bZ9O8bI5E6foKhQ+3oa12e6tafbyBLuUUwLJy2Q5Isg2J7KAN7Eh3jHxdAWFNqEMdFKqzRpfGSpASLzKcgASPYjHKfHOSZYKhLfD1rjXdmQdl7xkRB43cWkn80yZa5Ev/ZdnhOIdGFIAU3b0FCZZifzJ72tM1CohxZVOH/aSNaUyGPPDWGPAlD5ATWQ=; 25:xmC8X2d2dsJTmARXsup7l6vkUSlGPezsjETM2V1X3S5V/n0SgLwiT53Q2+MhWzzBR/itpJvHX4XSC3tRSBjZApgF54E73jU6barlGGugrCJnbkN8G+elPg6M17CMuk48BmL267ARN5S0R4ibJFYpdAnDY4hNviDMq58XEJ1ey/l/E5fe4xcTaWDt4XBuzseYf6Q6F4s8cqMS5nL0w2lZxA3Nw0+MGz7qEImwGHh33a/O4haC4YaRhKJvOcdY5GcPHFX6lkMnHxHZBRFB7bO1gFiOXKoJ3G25Xhmtt1oP8XFuZ7L1Ac5aYf23HCwbBo93Fs3+5tFaf/KGOKr48o43CA== X-MS-TrafficTypeDiagnostic: CY1PR03MB1421: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1421; 31:xNRebu0qpIVtJhxfqAHVD8mUPI2Qc/bmREl27YmcCl9EZYEmX0TCTM3uOtltXVTP+5LhBNj/8PWoYlBxkPyPFe7ptmitYuQ9hPkBnaCMlLzpURXeSWRZp6VhXRxi+XRBqyjc76KMs2ByDi/okQ9UgjBQzaPQFxxjw5+ygQIa1S4gz2h1yG+v5lseLLquy5ONPSev6Zo1SStC3jonBYHigTSR8XANWoTd5UkJNYeP50Q=; 4:xrJ6sAaaA/QMFN2YiM4ucGqDuK4gqVCoIm4nwvu/P8OpndZEI+MRrozLJ533Md7QR03g2ZZWWj7HwL4qwymz3m7qulSj2GFGAROq+9Dy1bd2Pb4pwbhxeMPjL3niyM0CDV7zcuA6N0cAUFIgtzCKm6bxR1MH3TbNW5Aij3ru0EnpRrMjyopsEN3CtyFk9Lg7triQ1jjDoUG84kQUGTlb1txm6dFfXx/h21Fcwh4w1qRYQKZPqojKnaSisSfgK1uGOOSbv8IPzVkqm3aIi5D14w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231101)(2400082)(944501161)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123563025)(20161123565025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123556025)(201708071742011); SRVR:CY1PR03MB1421; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB1421; X-Forefront-PRVS: 0574D4712B X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY1PR03MB1421=3B23=3AdalM?= =?utf-8?q?7LQk57C43tHTgs/ff96Zz0kjLeOzwtG/rPI8h4HXkiygmpnDtCUkma2S?= =?utf-8?q?Cu4omxhjtvs8MstzsB3M3r3eM2hbp2sWdgrR9yn7CqK2AuiaHon1lGug?= =?utf-8?q?umtKG5NEV8SmPv+NGJhLU/NxJ23PfAZLOVKsiZeHnFBwjNSqm/jJUKfo?= =?utf-8?q?8V4BFAlghd9QD9+DEvMdQALax54gsFFAxBHapvd2Eb8k0YaFRnW8Sa0J?= =?utf-8?q?WgtIKc+mswJEyv+vk2yT26g/1ot7zQmonzdgOaz8xSpEixwxbuPXUKF1?= =?utf-8?q?xAINg0r/vykkbCo/rRhIFmXnDjVOVMHUJgaBgCarMlKoGfmTeHHWlVYd?= =?utf-8?q?q0swoNQXQZqza46DqxKxqynRAN5AIVyt7ejtJLJgjtS0CNn/TX2hZRtW?= =?utf-8?q?Hy22hy1HjL/CLYqcE1UZ6COUzh5yD4VgzE3gkHQpLMvTTdQjMEV6qMw/?= =?utf-8?q?+9lO2uNlDz4xlGUpzJ1T+VEN7eDmOwaCM4COqCmI1W9xSnHP0Ix7s0ut?= =?utf-8?q?4zgDEMIrKCONZMzlkKfxk/M/ZJtSvlakgz5dgwcL+FHGqD2I/0o3vsY2?= =?utf-8?q?qdBU/bD+4rrLY9ci7XYNQq/PxsRRxmpA7T47CRldnXf7CRFTjbmu3ORZ?= =?utf-8?q?cpew1IgerVDuGXeJEadkO2dPhQYGTlDoMdCn6grU8dQG2z1tLnvAXPHy?= =?utf-8?q?XYbqtW+4zz4nYaawB15jROUC63rvEjWSbqHY5gHVkqRLCF2MqKwUUFM4?= =?utf-8?q?L/8Qo44/7OOvOk/yyTY0bRaNyRL2cQY6UqDz9gGU5/BFNGjbxyZ/DEVp?= =?utf-8?q?jIsLZGNbXqrx2D9SHUrvlOcKlH81ELVc+F+sSR7CKChYjyKhzG+OspyQ?= =?utf-8?q?PBYRaLtaeMs2h2HWhQYLiZxq7tgDr+a+Mwn3hEDYnVgHVmGk2JePlmuU?= =?utf-8?q?cft2iCxxv4F+EuDP4L4k3wpV3E9I5I9waqavXSdv3q/bmziTd33pkK2/?= =?utf-8?q?ldHD7gkAqKLs23i8ajhIEQ0DamSk0SBP4omm3xKu4OZp4W8yi7UzBZy0?= =?utf-8?q?RsOxzr/8f5bR6zzG2xwCbsHSwEJWDu3r01g/RT7Gi6WPo4X8aB1KqzVx?= =?utf-8?q?JQo/hrxzCvcARzcjG3qaSpmvoCQApi1V7VsLXmX0QlM5hFHJZFR6pmXg?= =?utf-8?q?DwhyvNQ=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1421; 6:IKsiEWJ0t7JGvYLtXkqQGT7gaJJQZ1q3AAxuRxHiTfhnAzqvYB7pt5W7Ya8dv9Y3M/O8d9dHzc/Byz0sJVILmnA5eisuH/vw8UmtZHyoc12FVktqHH5DREcKRBtxyFHyDiPjsa4A1qYD7z2sgN/6zqS8OcyKeP/auhqOr7JzugIAivAi/hk6XkfmgmYTEKNaGiBar5wt5Z+jgSK2lXWbOBLEkoz3fLWU/bYrF4o0F3bMovv8noachscluILKCmp6gX3zcclzl/8wUqKwtieEwujZJrhxGCDSm3bEw7iBGa6phR9pnNctpDlaCabPNLhJ+7ZwGR/DurAvhjdFCPx+X7Q/kSKAG0NZSb1kdjYRwsY=; 5:sJsm4e1yBdbLnFzjtYkT7Gp9K2wmzbSVx7Nra58im5O3QvBa8NPFPX9x4vdGsR1auGIXlXR9uLm+50XL8ospbhIiQ/YgINZq20id1SWJ6MgUFFpvxqKSKADx8SB6kINl4EYnDvyY3vNUPzbW0BRIw6mF2q6P57otK/sljm9vbLA=; 24:p/BwdraxrrlASVWpi9er8RblrmfX/hmDVAyA+mEb28YVGV559czB8kiMcv0+P4zdENmnIZzQwg/4DFIhO/TCq9LH/5ZUVnhvPdu26LeboeU=; 7:Ivy66ORf/tBtQfLEKuBRKAYXDqxNxieV7uvXZ7cDFmPadg9S0dowyHt1MRGri60qifCdHvfoDgeDqDqPP71sqY0XQRtn3Kp0x8E5ti5+tTvl97bMozIZenLLj6kKKNlI5bhyBIfglapmWeb1PnTNRkyS2P5IftnzGkuJfWojOOtfdavmxhdMw3b+f6GoMlcwNglyytPZSZKmQSik7rZ+gGmDdix3SzXAwpnuK9TNU0rdlvLigw/FklSIi7+TuthC SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2018 20:20:55.8895 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d4138267-00ff-45da-c958-08d56cd5f72a 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: CY1PR03MB1421 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org We support normal mode, TDM mode and pm. Changes since v2: [addressed comments from Andy, Fabio and Rob] * sort include files * use probe_new * reword the binding document * use adc@10 instead of ak5558@10 * remove file name at the beginning of codec source code. * make i2c_probe and i2c_remove parameters naming consistent. Changes since v1: [addressed comments from Andy and Fabio] * fix GPIO polarity from active high to active low for correct documentation * fix license header by using SPDX identifier * remove debug prints at the beginning of functions. * only support auto clock switching (manual switching was dead code anyway) (in the future we could add a DT property to choose between manual and auto) * Use gpiod API * use GENMASK * introduce power_off/power_on One open question is the resume sequence which appears to need power_off/power_on. Just power_on alone isn't enough. With just power_on after resume aplay plays a song for 1 seconds and then the sound stops. Datasheet says, page 55" (1) The PDN pin should be held to ā€œLā€ for more than 150 ns after AVDD and TVDD are powered up. Daniel Baluta (2): ASoC: codecs: Add support for AK5558 ADC driver ASoC: ak5558: Add bindings for AK5558 ADC Documentation/devicetree/bindings/sound/ak5558.txt | 22 + sound/soc/codecs/Kconfig | 6 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/ak5558.c | 618 +++++++++++++++++++++ sound/soc/codecs/ak5558.h | 52 ++ 5 files changed, 700 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/ak5558.txt create mode 100644 sound/soc/codecs/ak5558.c create mode 100644 sound/soc/codecs/ak5558.h Reviewed-by: Fabio Estevam Reviewed-by: Andy Shevchenko