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=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 17EB5C43381 for ; Thu, 7 Jan 2021 17:18:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C30172311E for ; Thu, 7 Jan 2021 17:18:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728753AbhAGRSH (ORCPT ); Thu, 7 Jan 2021 12:18:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726436AbhAGRSF (ORCPT ); Thu, 7 Jan 2021 12:18:05 -0500 Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45FAFC0612F6 for ; Thu, 7 Jan 2021 09:17:25 -0800 (PST) Received: by mail-oi1-x229.google.com with SMTP id s2so8168919oij.2 for ; Thu, 07 Jan 2021 09:17:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=y0b32X4SCSQW4ZyWSqBJZ7gE3D/FLBK0/PnLsSA/kDo=; b=iFZBxcINm4NcJ4GzA0htrQ1YNQO9+Xa8zaWCTXqusc3yELttivb/svo9bOBQv5wCwU Twrmlc7cAbS+irWpBW5j976lssLbI+/dKST1tZx/DS5RHnWrzpkQmSS6kFWmD3rKSkHH rHrLUaCW92FgBRZUM47aXZe1ymhd19CHHKALMJoSR2DAYJt6Is16xa9LhVlOOht51vID zgbIrWzpPYqmyMyJh9uQ1aWyPdZCZaD6jqSTbVInDZOfDpXBtCsgpCO3zVZugwxten0M /qmL/TslKIVLI6yqRhsKaof+atdMdGyVjjnZ6ADlb1+5uLGsn74k984zij7/JKk/hhdK 31xQ== 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=y0b32X4SCSQW4ZyWSqBJZ7gE3D/FLBK0/PnLsSA/kDo=; b=H92Prj2WGpXYZqEYL75bhZK9/emYIe+R6RcHSu/sFUOWlVz5Sbg43biVZh0O9Yro7T Ciwl+g8R8Nyx7o8RqkM1Ym8h7dgpiJMFG7IrwoXpC6Bx+szcO2h24w0vDPrH38SwX68T BlG7dmNUpzbhVA3+qQ43Ches2yLnVDi/aqDDTZtacVcIh8FvEkhFT07bPgytWZW1Lc6D OxxNu2yKpX3QfQCqwsFmX2YhAY1xvejHpiZI6BwCRRLzGl1hHh5q76Mr5GcDUeMAoDKN vkZ0XGpjFO2F97CbSsGH3r+ncl4J6SD12m5PUvV4GYp9WgEwVwUqDjepqLq3N2JMwidA wDgg== X-Gm-Message-State: AOAM5324FEJsHbd/ciwfGRQGA6nSiFSDpLJgmHuu53YEdnDUl80MhYk8 WkY7vi3hMC5o706qB74O9/kRNw== X-Google-Smtp-Source: ABdhPJzRRmW36uQ+skMh0nkic0qhC58gTdp5qyWT1IhJrztmvIepafMnqRRJtZ2hZyzfiMrDmy6EYA== X-Received: by 2002:aca:3192:: with SMTP id x140mr2010483oix.172.1610039844452; Thu, 07 Jan 2021 09:17:24 -0800 (PST) Received: from builder.lan (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id u141sm1382809oie.46.2021.01.07.09.17.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jan 2021 09:17:23 -0800 (PST) Date: Thu, 7 Jan 2021 11:17:22 -0600 From: Bjorn Andersson To: Vinod Koul Cc: Linus Walleij , linux-arm-msm@vger.kernel.org, Andy Gross , Rob Herring , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 1/2] dt-bindings: pinctrl: qcom: Add SM8350 pinctrl bindings Message-ID: References: <20210106054950.303244-1-vkoul@kernel.org> <20210106054950.303244-2-vkoul@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210106054950.303244-2-vkoul@kernel.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 05 Jan 23:49 CST 2021, Vinod Koul wrote: > Add device tree binding Documentation details for Qualcomm SM8350 > pinctrl driver. > > Signed-off-by: Vinod Koul > --- > .../bindings/pinctrl/qcom,sm8350-tlmm.yaml | 149 ++++++++++++++++++ > 1 file changed, 149 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,sm8350-tlmm.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-tlmm.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-tlmm.yaml > new file mode 100644 > index 000000000000..abdafd25bfc2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-tlmm.yaml > @@ -0,0 +1,149 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/qcom,sm8350-tlmm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies, Inc. SM8350 TLMM block > + > +maintainers: > + - Vinod Koul > + > +description: | > + This binding describes the Top Level Mode Multiplexer block found in the > + SM8350 platform. > + > +properties: > + compatible: > + const: qcom,sm8350-tlmm > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + interrupt-controller: true > + > + '#interrupt-cells': > + description: Specifies the PIN numbers and Flags, as defined in > + include/dt-bindings/interrupt-controller/irq.h > + const: 2 > + > + gpio-controller: true > + > + '#gpio-cells': > + description: Specifying the pin number and flags, as defined in > + include/dt-bindings/gpio/gpio.h > + const: 2 > + > + gpio-ranges: > + maxItems: 1 > + > + gpio-reserved-ranges: > + maxItems: 1 > + > +#PIN CONFIGURATION NODES > +patternProperties: > + '-pinmux$': I believe that what Rob was asking for was the matter of describing the mux and config subnodes under this one. But I don't know really how to express this, because the following are all valid: default_state: default-state { pins = "gpio1"; bias-disable; }; default_state: default-state { rx { pins = "gpio1"; function = "gpio"; bias-disable; }; }; default_state: default-state { pinmux { pins = "gpio1"; function = "gpio"; }; pinconf { pins = "gpio1"; bias-disable; }; }; I.e. the properties described here applies either to this node directly, or any subnodes (1 level) down. Also we've been using different "patternProperties" for this node since the introduction of the binding 7 years ago. But to be "-state$" seems to best represent what the node actually describes. Regards, Bjorn > + type: object > + description: > + Pinctrl node's client devices use subnodes for desired pin configuration. > + Client device subnodes use below standard properties. > + $ref: "/schemas/pinctrl/pincfg-node.yaml" > + > + properties: > + pins: > + description: > + List of gpio pins affected by the properties specified in this subnode. > + items: > + oneOf: > + - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-3])$" > + - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data ] > + minItems: 1 > + maxItems: 36 > + > + function: > + description: > + Specify the alternative function to be configured for the specified > + pins. Functions are only valid for gpio pins. > + enum: [ atest_char, atest_usb, audio_ref, cam_mclk, cci_async, > + cci_i2c, cci_timer, cmu_rng, coex_uart1, coex_uart2, cri_trng, > + cri_trng0, cri_trng1, dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, > + ddr_pxi2, ddr_pxi3, dp_hot, dp_lcd, gcc_gp1, gcc_gp2, gcc_gp3, > + gpio, ibi_i3c, jitter_bist, lpass_slimbus, mdp_vsync, mdp_vsync0, > + mdp_vsync1, mdp_vsync2, mdp_vsync3, mi2s0_data0, mi2s0_data1, > + mi2s0_sck, mi2s0_ws, mi2s1_data0, mi2s1_data1, mi2s1_sck, > + mi2s1_ws, mi2s2_data0, mi2s2_data1, mi2s2_sck, mi2s2_ws, > + mss_grfc0, mss_grfc1, mss_grfc10, mss_grfc11, mss_grfc12, > + mss_grfc2, mss_grfc3, mss_grfc4, mss_grfc5, mss_grfc6, > + mss_grfc7, mss_grfc8, mss_grfc9, nav_gpio, pa_indicator, > + pcie0_clkreqn, pcie1_clkreqn, phase_flag, pll_bist, pll_clk, > + pri_mi2s, prng_rosc, qdss_cti, qdss_gpio, qlink0_enable, > + qlink0_request, qlink0_wmss, qlink1_enable, qlink1_request, > + qlink1_wmss, qlink2_enable, qlink2_request, qlink2_wmss, qspi0, > + qspi1, qspi2, qspi3, qspi_clk, qspi_cs, qup0, qup1, qup10, > + qup11, qup12, qup13, qup14, qup15, qup16, qup17, qup18, qup19, > + qup2, qup3, qup4, qup5, qup6, qup7, qup8, qup9, qup_l4, qup_l5, > + qup_l6, sd_write, sdc40, sdc41, sdc42, sdc43, sdc4_clk, > + sdc4_cmd, sec_mi2s, tb_trig, tgu_ch0, tgu_ch1, tgu_ch2, > + tgu_ch3, tsense_pwm1, tsense_pwm2, uim0_clk, uim0_data, > + uim0_present, uim0_reset, uim1_clk, uim1_data, uim1_present, > + uim1_reset, usb2phy_ac, usb_phy, vfr_0, vfr_1, vsense_trigger ] > + > + > + drive-strength: > + enum: [2, 4, 6, 8, 10, 12, 14, 16] > + default: 2 > + description: > + Selects the drive strength for the specified pins, in mA. > + > + bias-pull-down: true > + > + bias-pull-up: true > + > + bias-disable: true > + > + output-high: true > + > + output-low: true > + > + required: > + - pins > + - function > + > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - '#interrupt-cells' > + - gpio-controller > + - '#gpio-cells' > + - gpio-ranges > + > +additionalProperties: false > + > +examples: > + - | > + #include > + tlmm: pinctrl@f000000 { > + compatible = "qcom,sm8350-tlmm"; > + reg = <0x0f100000 0x300000>; > + interrupts = ; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + gpio-ranges = <&tlmm 0 0 203>; > + serial-pinmux { > + pins = "gpio18", "gpio19"; > + function = "qup3"; > + drive-strength = <8>; > + bias-disable; > + }; > + }; > + > +... > -- > 2.26.2 >