[PATCH 1/7] ARM: dts: s3c2410: use local header for pinctrl register values
Chanho Park
chanho61.park at samsung.com
Thu May 26 21:22:20 PDT 2022
> Subject: [PATCH 1/7] ARM: dts: s3c2410: use local header for pinctrl
> register values
>
> The DTS uses hardware register values directly in pin controller pin
> configuration. These are not some IDs or other abstraction layer but raw
> numbers used in the registers.
>
> These numbers were previously put in the bindings header to avoid code
> duplication and to provide some context meaning (name), but they do not
> fit the purpose of bindings. It is also quite confusing to use constants
> prefixed with Exynos for other SoC, because there is actually nothing here
> in common, except the actual value.
>
> Store the constants in a header next to DTS and use them instead of
> bindings.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> ---
> arch/arm/boot/dts/s3c2410-pinctrl.h | 19 +++++++++++++
> arch/arm/boot/dts/s3c2416-pinctrl.dtsi | 38 +++++++++++++-------------
> 2 files changed, 38 insertions(+), 19 deletions(-) create mode 100644
> arch/arm/boot/dts/s3c2410-pinctrl.h
>
> diff --git a/arch/arm/boot/dts/s3c2410-pinctrl.h
> b/arch/arm/boot/dts/s3c2410-pinctrl.h
> new file mode 100644
> index 000000000000..71cb0ac815b3
> --- /dev/null
> +++ b/arch/arm/boot/dts/s3c2410-pinctrl.h
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Samsung's Exynos pinctrl bindings
"Exynos" -> "s3c2410"
Best Regards,
Chanho Park
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + * Copyright (c) 2022 Linaro Ltd
> + * Author: Krzysztof Kozlowski <krzk at kernel.org> */
> +
> +#ifndef __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__
> +#define __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__
> +
> +#define S3C2410_PIN_FUNC_INPUT 0
> +#define S3C2410_PIN_FUNC_OUTPUT 1
> +#define S3C2410_PIN_FUNC_2 2
> +#define S3C2410_PIN_FUNC_3 3
> +
> +#endif /* __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__ */
> diff --git a/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
> b/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
> index 20a7d72827c2..3268366bd8bc 100644
> --- a/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
> +++ b/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
> @@ -5,7 +5,7 @@
> * Copyright (c) 2013 Heiko Stuebner <heiko at sntech.de>
> */
>
> -#include <dt-bindings/pinctrl/samsung.h>
> +#include "s3c2410-pinctrl.h"
>
> &pinctrl_0 {
> /*
> @@ -82,91 +82,91 @@ gpm: gpm-gpio-bank {
>
> uart0_data: uart0-data-pins {
> samsung,pins = "gph-0", "gph-1";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart0_fctl: uart0-fctl-pins {
> samsung,pins = "gph-8", "gph-9";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart1_data: uart1-data-pins {
> samsung,pins = "gph-2", "gph-3";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart1_fctl: uart1-fctl-pins {
> samsung,pins = "gph-10", "gph-11";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart2_data: uart2-data-pins {
> samsung,pins = "gph-4", "gph-5";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart2_fctl: uart2-fctl-pins {
> samsung,pins = "gph-6", "gph-7";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> uart3_data: uart3-data-pins {
> samsung,pins = "gph-6", "gph-7";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> extuart_clk: extuart-clk-pins {
> samsung,pins = "gph-12";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> i2c0_bus: i2c0-bus-pins {
> samsung,pins = "gpe-14", "gpe-15";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> spi0_bus: spi0-bus-pins {
> samsung,pins = "gpe-11", "gpe-12", "gpe-13";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd0_clk: sd0-clk-pins {
> samsung,pins = "gpe-5";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd0_cmd: sd0-cmd-pins {
> samsung,pins = "gpe-6";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd0_bus1: sd0-bus1-pins {
> samsung,pins = "gpe-7";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd0_bus4: sd0-bus4-pins {
> samsung,pins = "gpe-8", "gpe-9", "gpe-10";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd1_cmd: sd1-cmd-pins {
> samsung,pins = "gpl-8";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd1_clk: sd1-clk-pins {
> samsung,pins = "gpl-9";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd1_bus1: sd1-bus1-pins {
> samsung,pins = "gpl-0";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
>
> sd1_bus4: sd1-bus4-pins {
> samsung,pins = "gpl-1", "gpl-2", "gpl-3";
> - samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> + samsung,pin-function = <S3C2410_PIN_FUNC_2>;
> };
> };
> --
> 2.34.1
More information about the linux-arm-kernel
mailing list