[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