Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp773329rwe; Thu, 25 Aug 2022 08:54:00 -0700 (PDT) X-Google-Smtp-Source: AA6agR69qKUWrU/PvrB1P0OKQXGgzLnCsjeW282Euao+jnxFWcFe3h6s1FU5aR7xCA2gkejU3GHf X-Received: by 2002:a05:6402:2499:b0:440:942a:40c2 with SMTP id q25-20020a056402249900b00440942a40c2mr3874621eda.37.1661442840228; Thu, 25 Aug 2022 08:54:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661442840; cv=none; d=google.com; s=arc-20160816; b=rc4rn60dzpmYNDx3lFTaQK75BuxRR06/OxBKISoneNWYUajxcyNHASmWxHnoOMWxVH tudwoh5tmolDrtoPyqSUzkFOqcKV70+EXDEmC/yw/MkSnvt7FkguoQ/W1O1TNnG/AKG0 8KdF70PgSwEYDf48yhdQ0m74NuX+D/glMvWYLRqfQT7TAnuL5NDzJtN5MrgBZ+a+AxNf tEg+Q9ay7uz2Ptvtbqf0M9hLqq85r5VEW1Bv/+t/ADjVWSDUPx1E92Luh8bC5BwPZNA8 cOqGlp0hSegbvkZO7L0F1Tn9nbfrRg6UbodCxE74FOc+pYuiHVYyGGC5CyhajPY18FWt XABQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=sERSCfKpMmgiaBBPRfCq70Yp+FzXmqp9Gg4aLfwlsec=; b=pfRZDQ5hKckuIHj0rMTBHKTkd1+Sz96ZCta5iEb7k4c+6CrYco8mkEbm2ol2KPmI6D NG1U2PpEG5jEW4Kixk1Mezu56UsHBCeA1A2idHzKgo1ytxjDjAhaF6eoroXsx5g3gqp4 RMjMBQKBDi7Ptk82JylmuyrSRZ7s35Hhig5shqsPml3pLppPJlf2J8ZFajukpnVH4mAg wXXIlDxkZSbZ5+0B8d85yDHRv56K2OT4aUhrhk1jPn99Wd0jLiPrJtIjZKYUX2Krq0Wx n7rjoXJWqxBTJpns3mazzQ4vVTHi6WNHkyIT8P6mwdBmqDNMbADW009hxT1BAlugZDPT GcjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=hnBMUgTu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id js20-20020a17090797d400b007313bdfb98bsi4063518ejc.18.2022.08.25.08.53.34; Thu, 25 Aug 2022 08:54:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=hnBMUgTu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237822AbiHYPXK (ORCPT + 99 others); Thu, 25 Aug 2022 11:23:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229454AbiHYPXI (ORCPT ); Thu, 25 Aug 2022 11:23:08 -0400 Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B77FB69E7; Thu, 25 Aug 2022 08:23:07 -0700 (PDT) Received: by mail-pg1-x52f.google.com with SMTP id v4so18161956pgi.10; Thu, 25 Aug 2022 08:23:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=sERSCfKpMmgiaBBPRfCq70Yp+FzXmqp9Gg4aLfwlsec=; b=hnBMUgTu1qgmDE+P4BqRtyUQlZTWTsKiHQYBl5qdKHkmcjvh5s7xse+dXLZXJanm0H 1/1ojUZwYlj8afQjz4dGYIev/ip9MaoFQAK/fOLUVMzLCLqb/8NLmNrigoreFcTIxZwW ChyfGHBfeh9MUIrBaXADmBjOVNhWoSaqZPlaScNQk+T+UKVy78kQKiAEMYcYui/oyfC7 K9sDDpB8AQDlqemEKTmikiWX2icYayhkSQwnT0zDBBKTv9SAfVig/MQIBFNkk44Bqp/4 Kh++PTp2XbVVTvgpYcxgg4NCjwsNvlehEUnC4tUopXwuTy5IwZ4QYDLUcILs35uHaega +tMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=sERSCfKpMmgiaBBPRfCq70Yp+FzXmqp9Gg4aLfwlsec=; b=VihGWCxT0H57xIz9YYiX+a2lchUL1S4prUrNzkXYdDvg4ToUdLOP67uiZ/mkZPZTiy +jb6Sphzh8Rwnfm4E1YlOFfSAH5pym9qW3wL3Pnwl5XeUk2G9P/Nlp19n6RJthkoqDsv ifkBRVPd5afCvOFmY/J5qSWpniCfwELa8s5XzGcxA00Ya8/0h2cCSAoZabm0MYuP6BXs tGTJyKq+M+Y+/oiGsHMFvfdwQBoQ9u4qJQETbJukMUIV1gROySvHfWJ4UF3Yd19L8Qng ioTMpNBMstQUTVYn9m3OYzUX8qODoQ7AqjB0FfmAjxglxluRPPaOekhdLm9BxD8IKGPg Ntdg== X-Gm-Message-State: ACgBeo3s5MOr2FhqNaDhSBQSy5sq439/hmOwKqSIhInEpCsv+hT9tDcO Q8mSTw4WXBzPoBZ4DlyuFW50/WVtuBuezL1dO6ethE+w X-Received: by 2002:a63:d84e:0:b0:42b:5834:fd73 with SMTP id k14-20020a63d84e000000b0042b5834fd73mr2170721pgj.506.1661440987087; Thu, 25 Aug 2022 08:23:07 -0700 (PDT) MIME-Version: 1.0 References: <20220816183911.2517173-1-robh@kernel.org> In-Reply-To: <20220816183911.2517173-1-robh@kernel.org> From: Jonas Gorski Date: Thu, 25 Aug 2022 17:22:55 +0200 Message-ID: Subject: Re: [RFC] dt-bindings: pinctrl: brcm: Ensure all child node properties are documented To: Rob Herring Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Linus Walleij , Krzysztof Kozlowski , =?UTF-8?Q?Fern=C3=A1ndez_Rojas?= , linux-gpio@vger.kernel.org, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 16 Aug 2022 at 20:39, Rob Herring wrote: > > The Broadcom pinctrl bindings are incomplete for child nodes as they are > missing 'unevaluatedProperties: false' to prevent unknown properties. > Fixing this reveals many warnings including having grandchild nodes in some > cases. > > Signed-off-by: Rob Herring > --- > This recursive schema requires a fix not yet committed in dtschema. > > I'm looking for feedback on whether group->pins or group->groups is the > right fix here. There's more warnings with this change in the gpio-sysctl > bindings. The answer is "yes", though pins is probably the closest for most. bcm6318 has multiple field-per-pin registers, where each pin is controlled separately, with more fields than available GPIOs, and the pins outside the GPIO range controlling other functions, like switching the second USB port between host and client mode. bcm6328/6362/6368/63268 have two registers. The first one enables an alternative function for the first 32 GPIOs, with a 1:1 mapping of bits to GPIO. The second one enables a function for whole, arbitrary groups. These groups can overlap, and may also target pins outside the first 32 GPIOs. The actual pins in use are not documented, and can sometimes be guessed/inferred by the function names (e.g. "GPIO35"), sometimes not ("NAND", "UTOPIA"). bcm6358 has only the groups register, which also includes non GPIO related functions, like inversing the MII clocks for the integrated macs. Not supported is bcm6348, which would be the only one where groups would definitely make more sense: there are 5 groups of 8 GPIOs, where each group can be set to a certain function (but not all functions are valid for all groups). E.g. for PCI support, you would need to set the fields to PCI for groups 0, 1 and 3 (and 2 and 5 could be set to a different function). You can ignore this though, as bcm6348 is ancient (doesn't even support ADSL2+). Hope that helps a bit. Best regards, Jonas