From: Rob Herring <robh@kernel.org>
To: Xianwei Zhao <xianwei.zhao@amlogic.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Bartosz Golaszewski <brgl@bgdev.pl>,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org
Subject: Re: [PATCH v4 1/5] dt-bindings: pinctrl: Add support for Amlogic SoCs
Date: Mon, 27 Jan 2025 12:59:39 -0600 [thread overview]
Message-ID: <20250127185939.GA612868-robh@kernel.org> (raw)
In-Reply-To: <20250122-amlogic-pinctrl-v4-1-4677b2e18ff1@amlogic.com>
On Wed, Jan 22, 2025 at 11:25:59AM +0800, Xianwei Zhao wrote:
> Add the dt-bindings for Amlogic pin controller, and add a new
> dt-binding header file which document the GPIO bank names of
> all Amlogic subsequent SoCs.
Did you mean 'all subsequent Amlogic SoCs'? How can you know that?
Future SoCs may be different.
Update the subject to say this is for A4 SoC.
>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
> ---
> .../bindings/pinctrl/amlogic,pinctrl-a4.yaml | 127 +++++++++++++++++++++
> include/dt-bindings/pinctrl/amlogic,pinctrl.h | 46 ++++++++
> 2 files changed, 173 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml b/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
> new file mode 100644
> index 000000000000..c4fdcd69bbf5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/amlogic,pinctrl-a4.yaml
> @@ -0,0 +1,127 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/amlogic,pinctrl-a4.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic pinmux controller
> +
> +maintainers:
> + - Xianwei Zhao <xianwei.zhao@amlogic.com>
> +
> +allOf:
> + - $ref: pinctrl.yaml#
> +
> +properties:
> + compatible:
> + const: amlogic,pinctrl-a4
> +
> + "#address-cells":
> + const: 2
> +
> + "#size-cells":
> + const: 2
Do you really need 2^64 address space to define the GPIO nodes?
> +
> + ranges: true
> +
> +patternProperties:
> + "^gpio@[0-9a-f]+$":
> + type: object
> +
> + properties:
> + reg:
> + minItems: 1
> + items:
> + - description: pin config register
> + - description: pin mux setting register (some special pin fixed function)
> + - description: pin drive strength register (optional)
> +
> + reg-names:
> + minItems: 1
> + items:
> + - const: gpio
> + - const: mux
> + - const: ds
> +
> + gpio-controller: true
> +
> + "#gpio-cells":
> + const: 2
> +
> + gpio-ranges:
> + maxItems: 1
> +
> + required:
> + - reg
> + - reg-names
> + - gpio-controller
> + - "#gpio-cells"
> + - gpio-ranges
> +
> + additionalProperties: false
Move this above 'properties'
> +
> + "^func-[0-9a-z-]+$":
> + type: object
> + patternProperties:
> + "^group-[0-9a-z-]+$":
> + type: object
> + allOf:
> + - $ref: /schemas/pinctrl/pincfg-node.yaml
> + - $ref: /schemas/pinctrl/pinmux-node.yaml
> +
> + required:
> + - pinmux
> + additionalProperties: false
Move this above 'patternProperties'
> +
> +required:
> + - compatible
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/pinctrl/amlogic,pinctrl.h>
> + apb {
> + #address-cells = <2>;
> + #size-cells = <2>;
> + periphs_pinctrl: pinctrl {
> + compatible = "amlogic,pinctrl-a4";
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + gpio@14 {
> + reg = <0 0x14 0 0x10>, <0 0x14 0 0x10>;
Both registers at the same address? I hope that's a typo.
> + reg-names = "gpio", "mux";
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&periphs_pinctrl 0 8 10>;
> + };
> +
> + func-uart-b {
> + group-default {
> + pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 1, 4)>;
> + bias-pull-up;
> + drive-strength-microamp = <4000>;
> + };
> +
> + group-pins1 {
> + pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 5, 2)>;
> + bias-pull-up;
> + drive-strength-microamp = <4000>;
> + };
> + };
> +
> + func-uart-c {
> + group-default {
> + pinmux = <AML_PINMUX(AMLOGIC_GPIO_B, 3, 1)>,
> + <AML_PINMUX(AMLOGIC_GPIO_B, 2, 1)>;
> + bias-pull-up;
> + drive-strength-microamp = <4000>;
> + };
> + };
> + };
> + };
> diff --git a/include/dt-bindings/pinctrl/amlogic,pinctrl.h b/include/dt-bindings/pinctrl/amlogic,pinctrl.h
> new file mode 100644
> index 000000000000..7d40aecc7147
> --- /dev/null
> +++ b/include/dt-bindings/pinctrl/amlogic,pinctrl.h
> @@ -0,0 +1,46 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
> +/*
> + * Copyright (c) 2024 Amlogic, Inc. All rights reserved.
> + * Author: Xianwei Zhao <xianwei.zhao@amlogic.com>
> + */
> +
> +#ifndef _DT_BINDINGS_AMLOGIC_PINCTRL_H
> +#define _DT_BINDINGS_AMLOGIC_PINCTRL_H
> +/* Normal PIN bank */
> +#define AMLOGIC_GPIO_A 0
> +#define AMLOGIC_GPIO_B 1
> +#define AMLOGIC_GPIO_C 2
> +#define AMLOGIC_GPIO_D 3
> +#define AMLOGIC_GPIO_E 4
> +#define AMLOGIC_GPIO_F 5
> +#define AMLOGIC_GPIO_G 6
> +#define AMLOGIC_GPIO_H 7
> +#define AMLOGIC_GPIO_I 8
> +#define AMLOGIC_GPIO_J 9
> +#define AMLOGIC_GPIO_K 10
> +#define AMLOGIC_GPIO_L 11
> +#define AMLOGIC_GPIO_M 12
> +#define AMLOGIC_GPIO_N 13
> +#define AMLOGIC_GPIO_O 14
> +#define AMLOGIC_GPIO_P 15
> +#define AMLOGIC_GPIO_Q 16
> +#define AMLOGIC_GPIO_R 17
> +#define AMLOGIC_GPIO_S 18
> +#define AMLOGIC_GPIO_T 19
> +#define AMLOGIC_GPIO_U 20
> +#define AMLOGIC_GPIO_V 21
> +#define AMLOGIC_GPIO_W 22
> +#define AMLOGIC_GPIO_X 23
> +#define AMLOGIC_GPIO_Y 24
> +#define AMLOGIC_GPIO_Z 25
> +
> +/* Special PIN bank */
> +#define AMLOGIC_GPIO_DV 26
> +#define AMLOGIC_GPIO_AO 27
> +#define AMLOGIC_GPIO_CC 28
> +#define AMLOGIC_GPIO_TEST_N 29
> +#define AMLOGIC_GPIO_ANALOG 30
> +
> +#define AML_PINMUX(bank, offset, mode) (((((bank) << 8) + (offset)) << 8) | (mode))
> +
> +#endif /* _DT_BINDINGS_AMLOGIC_PINCTRL_H */
>
> --
> 2.37.1
>
next prev parent reply other threads:[~2025-01-27 18:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-22 3:25 [PATCH v4 0/5] Pinctrl: Add Amlogic pinctrl driver Xianwei Zhao via B4 Relay
2025-01-22 3:25 ` [PATCH v4 1/5] dt-bindings: pinctrl: Add support for Amlogic SoCs Xianwei Zhao via B4 Relay
2025-01-27 18:59 ` Rob Herring [this message]
2025-02-07 6:59 ` Xianwei Zhao
2025-01-22 3:26 ` [PATCH v4 2/5] pinctrl: pinconf-generic: Add API for pinmux propertity in DTS file Xianwei Zhao via B4 Relay
2025-01-22 3:26 ` [PATCH v4 3/5] pinctrl: Add driver support for Amlogic SoCs Xianwei Zhao via B4 Relay
2025-01-27 9:59 ` Linus Walleij
2025-02-07 7:07 ` Xianwei Zhao
2025-01-22 3:26 ` [PATCH v4 4/5] arm64: dts: amlogic: a4: add pinctrl node Xianwei Zhao via B4 Relay
2025-01-22 3:26 ` [PATCH v4 5/5] MAINTAINERS: Add an entry for Amlogic pinctrl driver Xianwei Zhao via B4 Relay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250127185939.GA612868-robh@kernel.org \
--to=robh@kernel.org \
--cc=brgl@bgdev.pl \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=neil.armstrong@linaro.org \
--cc=xianwei.zhao@amlogic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).