Re: [PATCH 1/3] dt-bindings: pinctrl: Add support for Amlogic A4 SoCs

From: Rob Herring
Date: Thu Jun 13 2024 - 13:08:27 EST


On Tue, Jun 11, 2024 at 01:10:57PM +0800, Xianwei Zhao wrote:
> Add the new compatible name for Amlogic A4 pin controller, and add
> a new dt-binding header file which document the detail pin names.
>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@xxxxxxxxxxx>
> ---
> .../bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml | 2 +
> .../dt-bindings/gpio/amlogic,a4-aobus-pinctrl.h | 21 +++++
> .../dt-bindings/gpio/amlogic,a4-periphs-pinctrl.h | 93 ++++++++++++++++++++++
> 3 files changed, 116 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml b/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml
> index d9e0b2c48e84..f5eefa0fab5b 100644
> --- a/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml
> @@ -15,6 +15,8 @@ allOf:
> properties:
> compatible:
> enum:
> + - amlogic,a4-aobus-pinctrl
> + - amlogic,a4-periphs-pinctrl
> - amlogic,c3-periphs-pinctrl
> - amlogic,t7-periphs-pinctrl
> - amlogic,meson-a1-periphs-pinctrl
> diff --git a/include/dt-bindings/gpio/amlogic,a4-aobus-pinctrl.h b/include/dt-bindings/gpio/amlogic,a4-aobus-pinctrl.h
> new file mode 100644
> index 000000000000..7c7e746baed5
> --- /dev/null
> +++ b/include/dt-bindings/gpio/amlogic,a4-aobus-pinctrl.h
> @@ -0,0 +1,21 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
> +/*
> + * Copyright (c) 2024 Amlogic, Inc. All rights reserved.
> + * Author: Xianwei Zhao <xianwei.zhao@xxxxxxxxxxx>
> + */
> +
> +#ifndef _DT_BINDINGS_AMLOGIC_A4_AOBUS_PINCTRL_H
> +#define _DT_BINDINGS_AMLOGIC_A4_AOBUS_PINCTRL_H
> +
> +/* GPIOAO */
> +#define GPIOAO_0 0
> +#define GPIOAO_1 1
> +#define GPIOAO_2 2
> +#define GPIOAO_3 3
> +#define GPIOAO_4 4
> +#define GPIOAO_5 5
> +#define GPIOAO_6 6

I find defines with the value of the define in the name pretty
pointless.

> +
> +#define GPIO_TEST_N 7
> +
> +#endif
> diff --git a/include/dt-bindings/gpio/amlogic,a4-periphs-pinctrl.h b/include/dt-bindings/gpio/amlogic,a4-periphs-pinctrl.h
> new file mode 100644
> index 000000000000..dfabca4b4790
> --- /dev/null
> +++ b/include/dt-bindings/gpio/amlogic,a4-periphs-pinctrl.h
> @@ -0,0 +1,93 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
> +/*
> + * Copyright (c) 2024 Amlogic, Inc. All rights reserved.
> + * Author: Xianwei Zhao <xianwei.zhao@xxxxxxxxxxx>
> + */
> +
> +#ifndef _DT_BINDINGS_AMLOGIC_A4_PERIPHS_PINCTRL_H
> +#define _DT_BINDINGS_AMLOGIC_A4_PERIPHS_PINCTRL_H
> +
> +/* GPIOE */
> +#define GPIOE_0 0
> +#define GPIOE_1 1
> +
> +/* GPIOD */
> +#define GPIOD_0 2
> +#define GPIOD_1 3
> +#define GPIOD_2 4
> +#define GPIOD_3 5
> +#define GPIOD_4 6
> +#define GPIOD_5 7
> +#define GPIOD_6 8
> +#define GPIOD_7 9
> +#define GPIOD_8 10
> +#define GPIOD_9 11
> +#define GPIOD_10 12
> +#define GPIOD_11 13
> +#define GPIOD_12 14
> +#define GPIOD_13 15
> +#define GPIOD_14 16
> +#define GPIOD_15 17

I'm not really much of a fan of using defines for GPIOs, but if you do,
wouldn't be better to split banks and lines up rather than a global
number space. See ASPEED_GPIO() or tegra header.

Rob