// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung S3C2416 pinctrl settings
 *
 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
 */

#include <dt-bindings/pinctrl/samsung.h>

&pinctrl_0 {
	/*
	 * Pin banks
	 */

	gpa: gpa {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpb: gpb {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpc: gpc {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpd: gpd {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpe: gpe {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpf: gpf {
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gpg: gpg {
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	gph: gph {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpj: gpj {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpk: gpk {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpl: gpl {
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpm: gpm {
		gpio-controller;
		#gpio-cells = <2>;
	};

	/*
	 * Pin groups
	 */

	uart0_data: uart0-data {
		samsung,pins = "gph-0", "gph-1";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart0_fctl: uart0-fctl {
		samsung,pins = "gph-8", "gph-9";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart1_data: uart1-data {
		samsung,pins = "gph-2", "gph-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart1_fctl: uart1-fctl {
		samsung,pins = "gph-10", "gph-11";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart2_data: uart2-data {
		samsung,pins = "gph-4", "gph-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart2_fctl: uart2-fctl {
		samsung,pins = "gph-6", "gph-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	uart3_data: uart3-data {
		samsung,pins = "gph-6", "gph-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	extuart_clk: extuart-clk {
		samsung,pins = "gph-12";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	i2c0_bus: i2c0-bus {
		samsung,pins = "gpe-14", "gpe-15";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	spi0_bus: spi0-bus {
		samsung,pins = "gpe-11", "gpe-12", "gpe-13";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd0_clk: sd0-clk {
		samsung,pins = "gpe-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd0_cmd: sd0-cmd {
		samsung,pins = "gpe-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd0_bus1: sd0-bus1 {
		samsung,pins = "gpe-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd0_bus4: sd0-bus4 {
		samsung,pins = "gpe-8", "gpe-9", "gpe-10";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd1_cmd: sd1-cmd {
		samsung,pins = "gpl-8";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd1_clk: sd1-clk {
		samsung,pins = "gpl-9";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd1_bus1: sd1-bus1 {
		samsung,pins = "gpl-0";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};

	sd1_bus4: sd1-bus4 {
		samsung,pins = "gpl-1", "gpl-2", "gpl-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
	};
};
