From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.0 required=3.0 tests=BAYES_00,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ABF4DC433ED for ; Fri, 23 Apr 2021 17:38:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 66E7F60232 for ; Fri, 23 Apr 2021 17:38:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229549AbhDWRj3 (ORCPT ); Fri, 23 Apr 2021 13:39:29 -0400 Received: from mail-oo1-f41.google.com ([209.85.161.41]:36449 "EHLO mail-oo1-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231760AbhDWRj3 (ORCPT ); Fri, 23 Apr 2021 13:39:29 -0400 Received: by mail-oo1-f41.google.com with SMTP id c6-20020a4aacc60000b02901e6260b12e2so8333042oon.3 for ; Fri, 23 Apr 2021 10:38:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=A0MHQhU0eBU2kkHw8aXCklvLDh3uIKAnsJkWYtRfwVM=; b=G/d9ozddKDzNCf0DGBOYAnK3BsroIJxEeYQ3VNzr/H31A0HGlKVZB8LnG0s95ozydp BIM3u50J8Uf9i7XbpoQ8/xVWs1uve0UL16DQUEQUXvkkrsQqXdMySdfkwfR9yqMizIH8 ANm4p4MLkIrxZI60n/69AQts2d2ts8COsdxogCXgYDlV1Q8zOV2PH5Q4N1v2euakf1OQ fg3m7TojDGybwET2H/ru99iMS5IgBQZhjUCSuEf+EjfKzDWwApL8Ks4XrmTXRBqv89Ez sHTNyMXGwoTaeAfRXoR9m3+vj9Pf2NfbF2nejm8N5BXoRoSs3wk/u3DRTsll9Q7kmEGi dX0g== X-Gm-Message-State: AOAM530ID6qRehyJyISA/F2CoM4almnHpucCMvxWVG9GhEbbdMETNGEs pjzmzdW8Ox+dTThEHFkLQA== X-Google-Smtp-Source: ABdhPJybWIzwfgeSqCSv8HrgGH2LKZdKV4Yw1ikoy/j7G8srfuFi/gbh4lepwOmZIy1Aiy4Nj8yHSQ== X-Received: by 2002:a4a:e153:: with SMTP id p19mr3872886oot.52.1619199532595; Fri, 23 Apr 2021 10:38:52 -0700 (PDT) Received: from robh.at.kernel.org (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.gmail.com with ESMTPSA id g5sm1401495oiy.24.2021.04.23.10.38.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Apr 2021 10:38:51 -0700 (PDT) Received: (nullmailer pid 1307573 invoked by uid 1000); Fri, 23 Apr 2021 17:38:50 -0000 Date: Fri, 23 Apr 2021 12:38:50 -0500 From: Rob Herring To: Chris Morgan Cc: alsa-devel@alsa-project.org, broonie@kernel.org, lgirdwood@gmail.com, pierre-louis.bossart@linux.intel.com, tiwai@suse.com, heiko@sntech.de, lee.jones@linaro.org, perex@perex.cz, jbx6244@gmail.com, devicetree@vger.kernel.org, linux-rockchip@lists.infradead.org, maccraft123mc@gmail.com, Chris Morgan Subject: Re: [v8 3/4] dt-bindings: Add Rockchip rk817 audio CODEC support Message-ID: <20210423173850.GA1300233@robh.at.kernel.org> References: <20210421175906.31977-1-macroalpha82@gmail.com> <20210421175906.31977-3-macroalpha82@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210421175906.31977-3-macroalpha82@gmail.com> Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Wed, Apr 21, 2021 at 12:59:05PM -0500, Chris Morgan wrote: > From: Chris Morgan > > Create dt-binding documentation to document rk817 codec. > New property name of rockchip,mic-in-differential added to control if > the microphone is in differential mode or not. > > Signed-off-by: Chris Morgan > --- > Changes in v8: > - Added additional documentation for missing properties of #sound-dai-cells, > interrupt-parent, and wakeup-source for mfd documentation. > - Corrected order of elements descriptions in device tree documentation. > - Changed name of "mic-in-differential" to "rockchip,mic-in-differential". > - Changed name of sound card from "rockchip,rk817-codec" to "Analog". > - Removed unused resets and reset-names from the i2s1_2ch node. > Changes in v7: > - Removed ifdef around register definitions for MFD. > - Replaced codec documentation with updates to MFD documentation. > - Reordered elements in example to comply with upstream rules. > - Added binding update back for Odroid Go Advance as requested. > - Submitting patches from gmail now. > Changes in v6: > - Included additional project maintainers for correct subsystems. > - Removed unneeded compatible from DT documentation. > - Removed binding update for Odroid Go Advance (will do in seperate series). > Changes in v5: > - Move register definitions from rk817_codec.h to main rk808.h register > definitions. > - Add volatile register for codec bits. > - Add default values for codec bits. > - Removed of_compatible from mtd driver (not necessary). > - Switched to using parent regmap instead of private regmap for codec. > Changes in v4: > - Created set_pll() call. > - Created user visible gain control in mic. > - Check for return value of clk_prepare_enable(). > - Removed duplicate clk_prepare_enable(). > - Split DT documentation to separate commit. > Changes in v3: > - Use DAPM macros to set audio path. > - Updated devicetree binding (as every rk817 has this codec chip). > - Changed documentation to yaml format. > - Split MFD changes to separate commit. > Changes in v2: > - Fixed audio path registers to solve some bugs. > > .../devicetree/bindings/mfd/rk808.txt | 188 ++++++++++++++++++ > 1 file changed, 188 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mfd/rk808.txt b/Documentation/devicetree/bindings/mfd/rk808.txt > index 04df07f6f793..e27fb2c1ebe0 100644 > --- a/Documentation/devicetree/bindings/mfd/rk808.txt > +++ b/Documentation/devicetree/bindings/mfd/rk808.txt > @@ -14,6 +14,8 @@ Required properties: > - compatible: "rockchip,rk817" > - compatible: "rockchip,rk818" > - reg: I2C slave address > +- interrupt-parent: Should contain a phandle to the correct interrupt > + controller node. This can be in any parent node, so generally not required. IOW, you don't need to document it. Otherwise, Acked-by: Rob Herring (Really, this should be converted to schema, but given it's on v8 already that can come later.) > - interrupts: the interrupt outputs of the controller. > - #clock-cells: from common clock binding; shall be set to 1 (multiple clock > outputs). See for clock IDs. > @@ -23,6 +25,7 @@ Optional properties: > default output clock name > - rockchip,system-power-controller: Telling whether or not this pmic is controlling > the system power. > +- wakeup-source: Device can be used as a wakeup source. > > Optional RK805 properties: > - vcc1-supply: The input supply for DCDC_REG1 > @@ -63,8 +66,16 @@ Optional RK809 properties: > - vcc9-supply: The input supply for DCDC_REG5, SWITCH_REG2 > > Optional RK817 properties: > +- clocks: The input clock for the audio codec > +- clock-names: The clock name for the codec clock. Should be "mclk". > +- #sound-dai-cells: Needed for the interpretation of sound dais. Should be 0. > + > - vcc8-supply: The input supply for BOOST > - vcc9-supply: The input supply for OTG_SWITCH > +- codec: The child node for the codec to hold additional properties. > + > +- rockchip,mic-in-differential: Telling if the microphone uses differential > + mode. Should be under the codec child node. > > Optional RK818 properties: > - vcc1-supply: The input supply for DCDC_REG1 > @@ -275,3 +286,180 @@ Example: > }; > }; > }; > + > + rk817: pmic@20 { > + compatible = "rockchip,rk817"; > + reg = <0x20>; > + interrupt-parent = <&gpio0>; > + interrupts = ; > + clock-output-names = "rk808-clkout1", "xin32k"; > + clock-names = "mclk"; > + clocks = <&cru SCLK_I2S1_OUT>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>; > + wakeup-source; > + #clock-cells = <1>; > + #sound-dai-cells = <0>; > + > + vcc1-supply = <&vccsys>; > + vcc2-supply = <&vccsys>; > + vcc3-supply = <&vccsys>; > + vcc4-supply = <&vccsys>; > + vcc5-supply = <&vccsys>; > + vcc6-supply = <&vccsys>; > + vcc7-supply = <&vccsys>; > + > + regulators { > + vdd_logic: DCDC_REG1 { > + regulator-name = "vdd_logic"; > + regulator-min-microvolt = <950000>; > + regulator-max-microvolt = <1150000>; > + regulator-ramp-delay = <6001>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <950000>; > + }; > + }; > + > + vdd_arm: DCDC_REG2 { > + regulator-name = "vdd_arm"; > + regulator-min-microvolt = <950000>; > + regulator-max-microvolt = <1350000>; > + regulator-ramp-delay = <6001>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + regulator-suspend-microvolt = <950000>; > + }; > + }; > + > + vcc_ddr: DCDC_REG3 { > + regulator-name = "vcc_ddr"; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > + }; > + > + vcc_3v3: DCDC_REG4 { > + regulator-name = "vcc_3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_1v8: LDO_REG2 { > + regulator-name = "vcc_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1800000>; > + }; > + }; > + > + vdd_1v0: LDO_REG3 { > + regulator-name = "vdd_1v0"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <1000000>; > + }; > + }; > + > + vcc3v3_pmu: LDO_REG4 { > + regulator-name = "vcc3v3_pmu"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vccio_sd: LDO_REG5 { > + regulator-name = "vccio_sd"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_sd: LDO_REG6 { > + regulator-name = "vcc_sd"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + > + regulator-state-mem { > + regulator-on-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_bl: LDO_REG7 { > + regulator-name = "vcc_bl"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + regulator-suspend-microvolt = <3300000>; > + }; > + }; > + > + vcc_lcd: LDO_REG8 { > + regulator-name = "vcc_lcd"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + regulator-suspend-microvolt = <2800000>; > + }; > + }; > + > + vcc_cam: LDO_REG9 { > + regulator-name = "vcc_cam"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + > + regulator-state-mem { > + regulator-off-in-suspend; > + regulator-suspend-microvolt = <3000000>; > + }; > + }; > + }; > + > + rk817_codec: codec { > + rockchip,mic-in-differential; > + }; > + }; > -- > 2.25.1 >