/*
 * Device Tree Source for UniPhier SoCs default pinctrl settings
 *
 * Copyright (C) 2015-2017 Socionext Inc.
 *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

&pinctrl {
	pinctrl_aout: aout {
		groups = "aout";
		function = "aout";
	};

	pinctrl_emmc: emmc {
		groups = "emmc", "emmc_dat8";
		function = "emmc";
	};

	pinctrl_emmc_1v8: emmc-1v8 {
		groups = "emmc", "emmc_dat8";
		function = "emmc";
	};

	pinctrl_ether_mii: ether-mii {
		groups = "ether_mii";
		function = "ether_mii";
	};

	pinctrl_ether_rgmii: ether-rgmii {
		groups = "ether_rgmii";
		function = "ether_rgmii";
	};

	pinctrl_ether_rmii: ether-rmii {
		groups = "ether_rmii";
		function = "ether_rmii";
	};

	pinctrl_i2c0: i2c0 {
		groups = "i2c0";
		function = "i2c0";
	};

	pinctrl_i2c1: i2c1 {
		groups = "i2c1";
		function = "i2c1";
	};

	pinctrl_i2c2: i2c2 {
		groups = "i2c2";
		function = "i2c2";
	};

	pinctrl_i2c3: i2c3 {
		groups = "i2c3";
		function = "i2c3";
	};

	pinctrl_i2c4: i2c4 {
		groups = "i2c4";
		function = "i2c4";
	};

	pinctrl_nand: nand {
		groups = "nand";
		function = "nand";
	};

	pinctrl_nand2cs: nand2cs {
		groups = "nand", "nand_cs1";
		function = "nand";
	};

	pinctrl_sd: sd {
		groups = "sd";
		function = "sd";
	};

	pinctrl_sd_1v8: sd-1v8 {
		groups = "sd";
		function = "sd";
	};

	pinctrl_sd1: sd1 {
		groups = "sd1";
		function = "sd1";
	};

	pinctrl_sd1_1v8: sd1-1v8 {
		groups = "sd1";
		function = "sd1";
	};

	pinctrl_system_bus: system-bus {
		groups = "system_bus", "system_bus_cs1";
		function = "system_bus";
	};

	pinctrl_uart0: uart0 {
		groups = "uart0";
		function = "uart0";
	};

	pinctrl_uart1: uart1 {
		groups = "uart1";
		function = "uart1";
	};

	pinctrl_uart2: uart2 {
		groups = "uart2";
		function = "uart2";
	};

	pinctrl_uart3: uart3 {
		groups = "uart3";
		function = "uart3";
	};

	pinctrl_usb0: usb0 {
		groups = "usb0";
		function = "usb0";
	};

	pinctrl_usb1: usb1 {
		groups = "usb1";
		function = "usb1";
	};

	pinctrl_usb2: usb2 {
		groups = "usb2";
		function = "usb2";
	};

	pinctrl_usb3: usb3 {
		groups = "usb3";
		function = "usb3";
	};
};
