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

#include "s3c2410-pinctrl.h"

&pinctrl_0 {
	/*
	 * Pin banks
	 */

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

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

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

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

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

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

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

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

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

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

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

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

	/*
	 * Pin groups
	 */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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