Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1962427imu; Fri, 23 Nov 2018 02:47:19 -0800 (PST) X-Google-Smtp-Source: AJdET5c9SsGoCDornDxyPGw396VrPnxX3KBxLZ/04bs3u7WrpCrTcLY4JBqmbZrBfSSUVytFYfi2 X-Received: by 2002:a62:1c7:: with SMTP id 190mr15449610pfb.46.1542970038960; Fri, 23 Nov 2018 02:47:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542970038; cv=none; d=google.com; s=arc-20160816; b=RBVHCg5tGS9uDIqRfSkMr4JbcgjzewnI+8tg2eLCKrLJ8AGGVxAFPzh2HwuCclWBqE GefesP8zKzJ6NNiNy1HmiEFtIdxtj6LrqwIccXI7TgOSZ5T0JHvVF7RHs9lfm5g3VI+Y +voMjGoivF/KgFeY3kw2YB5sSoB74QOj5uBcT/RA/7NQBY0JfX7aXhj7gtdUxcjw3tMp FHjKQX/Exwm6kK0OTF97I2cmCLrnRRWusKnrLhYH1JlHAYltQavyn4j5hdSjv52d001W lrAleGBEJZCPBd6QIf9X++L/Puzzcl0eLd3TLsEGYshrYJbBNekFYC80+gln++kupMkm +e7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=OEMtENnPFgfXHyf+F003PItPYgNIiwZnADI+3NGdYmQ=; b=m6EnauhxEviaGTyRJCB4u/o2vNnN2snaipgVDDHQD9ynuUCxLF+mx8sEbiQJV6Jstu FcXJyEd6FyxBl5Vq7DZke+nomhRrjGCW6VO4il5tHiZcq6oEjlnn94+Kj5bpEza1nnO/ 04PCMHAAmAWRN0fyexqTBXmFQWaL6kMxOyhR5IKZtO9K38r9LJaBnnumFNv5FiGQ6o5k ++RRZE83Zc57dQvyFOqXDkuiQDiSV+pnjH3cN9ZBn4s4PDK31yww3gIaGVGE4Vspm1BM DOiprcrnEyrhKhv8tdAOGk/g1KHPmy/T4rE5oleC58GrVlwjgNK9T0ZbrUopCWT0nso8 Qd6w== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n33si50056339pgl.336.2018.11.23.02.47.04; Fri, 23 Nov 2018 02:47:18 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2394247AbeKVVCi (ORCPT + 99 others); Thu, 22 Nov 2018 16:02:38 -0500 Received: from mirror2.csie.ntu.edu.tw ([140.112.30.76]:48268 "EHLO wens.csie.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387625AbeKVVCh (ORCPT ); Thu, 22 Nov 2018 16:02:37 -0500 Received: by wens.csie.org (Postfix, from userid 1000) id 363AE5FB45; Thu, 22 Nov 2018 18:23:46 +0800 (CST) From: Chen-Yu Tsai To: Mark Brown , Liam Girdwood , Rob Herring , Mark Rutland , Maxime Ripard Cc: Chen-Yu Tsai , devicetree@vger.kernel.org, alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Vasily Khoruzhick Subject: [PATCH v9 0/8] Add support for audiocodec in Allwinner A64 Date: Thu, 22 Nov 2018 18:23:17 +0800 Message-Id: <20181122102325.29495-1-wens@csie.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi everyone, This is v9 of the A64 audio codec series, originally started by Vasily. These are the last changes to make the A64 audio codec work correctly, and be accurately represented in the device tree and in software. Notably, the new driver changes cover regulator supplies for the simple audio amplifier, which is used in the Pinebook for the internal speakers, and the audio codec's internal headphone amp. There's also an extra patch that enables SDM fractional clock support for the audio PLL on the A64, which gives us accurate audio playback. Patch 1 & 2 add the cpvdd regulator supply to the sun50i-codec-analog dt bindings & driver. Patch 3 & 4 add a regulator supply to the simple-audio-amplifier dt bindings & driver. Patch 5 adds SDM fractional clock support for the audio PLL on the A64. Patch 6 ~ 8 add the device tree bits and enables audio on several boards. I have one extra patch for the Bananapi M64 that's not included here, as I'm waiting for an accessory to test the microphone bias. I'll send that one out once it's tested. As always, we'll take the clock and dts patches after Mark has merged the ASoC ones. And a big thanks to Vasily for having worked on this for so long. Regards ChenYu v9: - Dropped simple amplifier headphone amp device tree changes - Dropped "make enable-gpio optional for simple amplifier" - Lowered oversampling rate from 512 to 128 - Add regulator supply for audio codec CPVDD (headphone amp charge pump) - Hook up CPVDD regulator in board device trees - Add patch to enable SDM fractional clock support for audio PLL on A64 v8: - drop merged patches - add regulator property for simple amplifier, make enable-gpio optional - add regulator to speaker amp, introduce headphone amp v7: - drop 'Mic' and 'Headset Mic' from dtsi - move AIF1 Slot 0 ADC to ADC route to sun8i-codec - drop BIAS routes for Pine64 and SoPine v6: - driver patches has been merged through ASoC tree - rebase onto 4.20-rc1 - Drop 'Speaker' from routes on sopine and pine64, they don't have speaker. v5: - collect all the tags v4: - dts: don't use 'Mic' and 'Headset Mic' widgets from sun8i-codec, define our board-level widgets instead. v3: - renamed sunxi-adda-pr-regmap to sun8i-adda-pr-regmap - use ilog2() to calculate reg value for LRCK div instead of using a table v2: - Use simple-amplifier for speaker amp on Pinebook - Rename sun50i-a64-i2s to sun50i-a64-codec-i2s to preserve compatible string for other 3 I2S modules in A64 in case if there's any incompatibility with H3 Chen-Yu Tsai (3): ASoC: dt-bindings: sun50i-codec-analog: Add headphone amp regulator supply ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply clk: sunxi-ng: sun50i: a64: Use sigma-delta modulation for audio PLL Vasily Khoruzhick (5): ASoC: dt-bindings: add regulator property to simple amplifier ASoC: simple-amplifier: add VCC regulator widget arm64: dts: allwinner: a64: add nodes necessary for analog sound support arm64: dts: allwinner: a64: enable sound on Pine64 and SoPine arm64: dts: allwinner: a64: enable sound on Pinebook .../bindings/sound/simple-amplifier.txt | 5 ++ .../bindings/sound/sun50i-codec-analog.txt | 2 + .../boot/dts/allwinner/sun50i-a64-pine64.dts | 27 ++++++++++ .../dts/allwinner/sun50i-a64-pinebook.dts | 49 +++++++++++++++++ .../allwinner/sun50i-a64-sopine-baseboard.dts | 26 +++++++++ .../boot/dts/allwinner/sun50i-a64-sopine.dtsi | 4 ++ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 54 +++++++++++++++++++ drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 37 ++++++++----- sound/soc/codecs/simple-amplifier.c | 4 ++ sound/soc/sunxi/sun50i-codec-analog.c | 2 + 10 files changed, 197 insertions(+), 13 deletions(-) -- 2.19.1