Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2729190ybk; Tue, 12 May 2020 06:48:44 -0700 (PDT) X-Google-Smtp-Source: APiQypI76ZONKnKlkcACQAV7K9eIWK7jN1JukLQa9VSEiOqAAgxfQ3sSTy3pcZB/CL8gNFLmmLr8 X-Received: by 2002:a17:906:c7cc:: with SMTP id dc12mr11996640ejb.263.1589291324102; Tue, 12 May 2020 06:48:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589291324; cv=none; d=google.com; s=arc-20160816; b=KybDcJ3whSGfCj/m6wpkG1MbYgzD7oSwRaVydF7dA4GIjtTL+ArdVsk7uj4JSy/gWp NZZaSJV0L7MLqDNB6dY47A/qnOugbwo1J8Od5wpJjV6rlQpwZcfmss48S4nnLBzuaGJ5 xBiL39l7CPPIytMVSv3s6uOOOwdJXEloQT7QNGaXJQjghN/eBbhE+Tb7iRn5OJ4Kdt5O DJdgLM0iAYnA7yMA6mxI3NK1honIjyw+dG9Zpqf5WhRW9cKm1e4sl1WyvBjj8GtHPhrl WG1pJFTkpvX9wBTQdAcw5dqwZwZVxRspbRJszBQY7pCMTuwQw5XrRCBmGZYKpdJg105x 2Arw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=BMsyl4qJDPD11e6fr9/kLy2vOSTB2tI8cXSfJC9spT8=; b=PBN/4aXdahAiKZf4YX/ul94SewRT22hy5OWbczY7imDNmANxOQG0yLuUUvw71S6NLl jmfcm+hg5vEKqrCEtuCpKjtOGiS9Af+3kbLO8kH/if3ELssnjmAzCmcx0YTaLpworZFa v0hdK8GxD3hN7qO9rmdf6jbZ+D44GkGYSsiNUppSKlVZl/QDuJjRd9N6hKqdwHLVH/v2 ONxbHcxfMve0xGLs43insmnrpij5uhhjQysnwbqtrcwG6Ep+JyOdJ82tCQzLEKTsdFP+ dbU02LaumGW0mIPOWbSVJlbM/1XFrjMdi2Y72+NYChAJdL7/vcMKQrtWtwDa1ZpeOa4h zQYw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x23si188063edq.363.2020.05.12.06.48.20; Tue, 12 May 2020 06:48:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730120AbgELNo3 (ORCPT + 99 others); Tue, 12 May 2020 09:44:29 -0400 Received: from mail-oi1-f194.google.com ([209.85.167.194]:44724 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726891AbgELNo2 (ORCPT ); Tue, 12 May 2020 09:44:28 -0400 Received: by mail-oi1-f194.google.com with SMTP id a2so18034211oia.11; Tue, 12 May 2020 06:44:25 -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:user-agent; bh=BMsyl4qJDPD11e6fr9/kLy2vOSTB2tI8cXSfJC9spT8=; b=oSHNwrXZa2n/j7DPPBfsRCPIg8N1jhBlJxiFzMKZHw+N6+aUaWyPDkguTYMw7eS7B3 isGUcZ1o6qXcnzX++yZ1hEmQSIJOJy+YkkUD1kyEa91ov3kBG10cmNtgUHoHG32+I1zd ndS+E1Jf/B27wHGo6/fLRnA1ET9vg1E7sMEUBD+I2kvW3p+tsdLMDofywK9sR8GZzoU/ LYog9vLprir9WB2nbHJewJO2c0BPe1inShZvGkb+ZYIj3rSMYuRImzQvNj2LOoD8wxwk EIrKEKITRYVu2kHnIx0KCcDodjAsKl5YelaNCEqBFNZ66JwdDiaFKcild/95mDyKOoty d7sg== X-Gm-Message-State: AGi0PuYMLxYCJfmlxbj3d2u+Qxa7QQSG3oynPzqis21FCwSrz8lEqCkk xNLc/6gtp8Q47hYTjI/SBg== X-Received: by 2002:aca:1313:: with SMTP id e19mr19882652oii.74.1589291065126; Tue, 12 May 2020 06:44:25 -0700 (PDT) Received: from rob-hp-laptop (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.gmail.com with ESMTPSA id d64sm262826oig.53.2020.05.12.06.44.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2020 06:44:24 -0700 (PDT) Received: (nullmailer pid 10673 invoked by uid 1000); Tue, 12 May 2020 13:44:23 -0000 Date: Tue, 12 May 2020 08:44:23 -0500 From: Rob Herring To: Charles Keepax Cc: lee.jones@linaro.org, broonie@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, jdelvare@suse.com, linux@roeck-us.net, linus.walleij@linaro.org, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, patches@opensource.cirrus.com Subject: Re: [PATCH v2 3/5] pinctrl: lochnagar: Move binding over to dtschema Message-ID: <20200512134423.GB23637@bogus> References: <20200504154757.17519-1-ckeepax@opensource.cirrus.com> <20200504154757.17519-3-ckeepax@opensource.cirrus.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200504154757.17519-3-ckeepax@opensource.cirrus.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 04, 2020 at 04:47:55PM +0100, Charles Keepax wrote: > Signed-off-by: Charles Keepax > --- > > Changes since v1: > - Moved sub-node into MFD file leaving just the properties in here > - Removed contains on the compatible > - Added a required -pins suffix for pinmux/ctrl nodes > - Added some extra blank lines for readability > > Thanks, > Charles > > .../bindings/pinctrl/cirrus,lochnagar.txt | 141 --------------- > .../bindings/pinctrl/cirrus,lochnagar.yaml | 191 +++++++++++++++++++++ > 2 files changed, 191 insertions(+), 141 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt > create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml > diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml > new file mode 100644 > index 0000000000000..2d6f832f1e4c5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml > @@ -0,0 +1,191 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/cirrus,lochnagar.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cirrus Logic Lochnagar Audio Development Board > + > +maintainers: > + - patches@opensource.cirrus.com > + > +description: | > + Lochnagar is an evaluation and development board for Cirrus Logic > + Smart CODEC and Amp devices. It allows the connection of most Cirrus > + Logic devices on mini-cards, as well as allowing connection of various > + application processor systems to provide a full evaluation platform. > + Audio system topology, clocking and power can all be controlled through > + the Lochnagar, allowing the device under test to be used in a variety of > + possible use cases. > + > + This binding document describes the binding for the pinctrl portion of > + the driver. > + > + Also see these documents for generic binding information: > + [1] GPIO : ../gpio/gpio.txt > + [2] Pinctrl: ../pinctrl/pinctrl-bindings.txt > + > + And these for relevant defines: > + [3] include/dt-bindings/pinctrl/lochnagar.h > + > + This binding must be part of the Lochnagar MFD binding: > + [4] ../mfd/cirrus,lochnagar.yaml > + > +properties: > + compatible: > + enum: > + - cirrus,lochnagar-pinctrl > + > + gpio-controller: > + description: > + Indicates this device is a GPIO controller. No need to re-describe common properties unless you have something specific about this device to say. Just: gpio-controller: true > + > + '#gpio-cells': > + description: > + The first cell is the pin number and the second cell is used > + to specify optional parameters. > + const: 2 > + > + gpio-ranges: > + description: > + Range of pins managed by the GPIO controller, see [1]. Both the > + GPIO and Pinctrl base should be set to zero and the count to the > + appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3]. > + maxItems: 1 > + > + pinctrl-0: > + description: > + A phandle to the default pinctrl state. > + > + pinctrl-names: > + description: > + A pinctrl state named "default" must be defined. > + const: default > + > +patternProperties: > + '^.*$': No need to allow anything here. Use 'pin-settings' instead. Needs 'type: object' too. > + patternProperties: > + '^.*-pins$': Just '-pins$' is equivalent. > + description: > + The pin configurations are defined as a child of the pinctrl > + states node, see [2]. Each sub-node can have the following > + properties. > + type: object > + allOf: > + - $ref: pincfg-node.yaml# > + - $ref: pinmux-node.yaml# > + > + properties: > + groups: > + description: > + A list of groups to select (either this or "pins" must be > + specified), available groups. > + enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, > + dsp-aif2, psia1, psia2, gf-aif1, gf-aif2, gf-aif3, > + gf-aif4, spdif-aif, usb-aif1, usb-aif2, adat-aif, > + soundcard-aif ] > + > + pins: > + description: > + A list of pin names to select (either this or "groups" must > + be specified), available pins. > + enum: [ fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, > + fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, > + codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, > + codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, > + dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, > + gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, > + codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, > + codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, > + codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, > + codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, > + dsp-aif1-rxdat, dsp-aif1-lrclk, dsp-aif1-txdat, > + dsp-aif2-bclk, dsp-aif2-rxdat, dsp-aif2-lrclk, > + dsp-aif2-txdat, psia1-bclk, psia1-rxdat, psia1-lrclk, > + psia1-txdat, psia2-bclk, psia2-rxdat, psia2-lrclk, > + psia2-txdat, gf-aif3-bclk, gf-aif3-rxdat, > + gf-aif3-lrclk, gf-aif3-txdat, gf-aif4-bclk, > + gf-aif4-rxdat, gf-aif4-lrclk, gf-aif4-txdat, > + gf-aif1-bclk, gf-aif1-rxdat, gf-aif1-lrclk, > + gf-aif1-txdat, gf-aif2-bclk, gf-aif2-rxdat, > + gf-aif2-lrclk, gf-aif2-txdat, dsp-uart1-rx, > + dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, > + gf-uart2-rx, gf-uart2-tx, usb-uart-rx, codec-pdmclk1, > + codec-pdmdat1, codec-pdmclk2, codec-pdmdat2, > + codec-dmicclk1, codec-dmicdat1, codec-dmicclk2, > + codec-dmicdat2, codec-dmicclk3, codec-dmicdat3, > + codec-dmicclk4, codec-dmicdat4, dsp-dmicclk1, > + dsp-dmicdat1, dsp-dmicclk2, dsp-dmicdat2, i2c2-scl, > + i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, i2c4-sda, > + dsp-standby, codec-mclk1, codec-mclk2, dsp-clkin, > + psia1-mclk, psia2-mclk, gf-gpio1, gf-gpio5, > + dsp-gpio20, led1, led2 ] > + > + function: > + description: > + The mux function to select, available functions. > + enum: [ aif, fpga-gpio1, fpga-gpio2, fpga-gpio3, fpga-gpio4, > + fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, > + codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, > + codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, > + dsp-gpio3, dsp-gpio4, dsp-gpio5, dsp-gpio6, > + gf-gpio2, gf-gpio3, gf-gpio7, gf-gpio1, gf-gpio5, > + dsp-gpio20, codec-clkout, dsp-clkout, pmic-32k, > + spdif-clkout, clk-12m288, clk-11m2986, clk-24m576, > + clk-22m5792, xmos-mclk, gf-clkout1, gf-mclk1, > + gf-mclk3, gf-mclk2, gf-clkout2, codec-mclk1, > + codec-mclk2, dsp-clkin, psia1-mclk, psia2-mclk, > + spdif-mclk, codec-irq, codec-reset, dsp-reset, > + dsp-irq, dsp-standby, codec-pdmclk1, codec-pdmdat1, > + codec-pdmclk2, codec-pdmdat2, codec-dmicclk1, > + codec-dmicdat1, codec-dmicclk2, codec-dmicdat2, > + codec-dmicclk3, codec-dmicdat3, codec-dmicclk4, > + codec-dmicdat4, dsp-dmicclk1, dsp-dmicdat1, > + dsp-dmicclk2, dsp-dmicdat2, dsp-uart1-rx, > + dsp-uart1-tx, dsp-uart2-rx, dsp-uart2-tx, > + gf-uart2-rx, gf-uart2-tx, usb-uart-rx, usb-uart-tx, > + i2c2-scl, i2c2-sda, i2c3-scl, i2c3-sda, i2c4-scl, > + i2c4-sda, spdif-aif, psia1, psia1-bclk, psia1-lrclk, > + psia1-rxdat, psia1-txdat, psia2, psia2-bclk, > + psia2-lrclk, psia2-rxdat, psia2-txdat, codec-aif1, > + codec-aif1-bclk, codec-aif1-lrclk, codec-aif1-rxdat, > + codec-aif1-txdat, codec-aif2, codec-aif2-bclk, > + codec-aif2-lrclk, codec-aif2-rxdat, codec-aif2-txdat, > + codec-aif3, codec-aif3-bclk, codec-aif3-lrclk, > + codec-aif3-rxdat, codec-aif3-txdat, dsp-aif1, > + dsp-aif1-bclk, dsp-aif1-lrclk, dsp-aif1-rxdat, > + dsp-aif1-txdat, dsp-aif2, dsp-aif2-bclk, > + dsp-aif2-lrclk, dsp-aif2-rxdat, dsp-aif2-txdat, > + gf-aif3, gf-aif3-bclk, gf-aif3-lrclk, gf-aif3-rxdat, > + gf-aif3-txdat, gf-aif4, gf-aif4-bclk, gf-aif4-lrclk, > + gf-aif4-rxdat, gf-aif4-txdat, gf-aif1, gf-aif1-bclk, > + gf-aif1-lrclk, gf-aif1-rxdat, gf-aif1-txdat, gf-aif2, > + gf-aif2-bclk, gf-aif2-lrclk, gf-aif2-rxdat, > + gf-aif2-txdat, usb-aif1, usb-aif2, adat-aif, > + soundcard-aif ] > + > + output-enable: > + description: > + Specifies that an AIF group will be used as a master > + interface (either this or input-enable is required if a > + group is being muxed to an AIF) > + > + input-enable: > + description: > + Specifies that an AIF group will be used as a slave > + interface (either this or output-enable is required if a > + group is being muxed to an AIF) > + > + additionalProperties: false Blank line. > + required: > + - function > + > + additionalProperties: false > + > +required: > + - compatible > + - gpio-controller > + - '#gpio-cells' > + - gpio-ranges > + - pinctrl-0 > + - pinctrl-names > -- > 2.11.0 >