
/*
 * Copyright (C) 2013 STMicroelectronics Limited.
 * Author: Srinivas Kandagatla <srinivas.kandagatla@st.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * publishhed by the Free Software Foundation.
 */
#include "st-pincfg.h"
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {

	aliases {
		gpio0	= &pio0;
		gpio1	= &pio1;
		gpio2	= &pio2;
		gpio3	= &pio3;
		gpio4	= &pio4;
		gpio5	= &pio40;
		gpio6	= &pio5;
		gpio7	= &pio6;
		gpio8	= &pio7;
		gpio9	= &pio8;
		gpio10	= &pio9;
		gpio11	= &pio10;
		gpio12	= &pio11;
		gpio13	= &pio12;
		gpio14	= &pio30;
		gpio15	= &pio31;
		gpio16	= &pio13;
		gpio17	= &pio14;
		gpio18	= &pio15;
		gpio19	= &pio16;
		gpio20	= &pio17;
		gpio21	= &pio18;
		gpio22	= &pio100;
		gpio23	= &pio101;
		gpio24	= &pio102;
		gpio25	= &pio103;
		gpio26	= &pio104;
		gpio27	= &pio105;
		gpio28	= &pio106;
		gpio29	= &pio107;
	};

	soc {
		pin-controller-sbc {
			#address-cells	= <1>;
			#size-cells	= <1>;
			compatible	= "st,stih416-sbc-pinctrl";
			st,syscfg	= <&syscfg_sbc>;
			reg 		= <0xfe61f080 0x4>;
			reg-names	= "irqmux";
			interrupts 	= <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names	= "irqmux";
			ranges		= <0 0xfe610000 0x6000>;

			pio0: gpio@fe610000 {
				gpio-controller;
				#gpio-cells = <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
				st,bank-name	= "PIO0";
			};
			pio1: gpio@fe611000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
				st,bank-name	= "PIO1";
			};
			pio2: gpio@fe612000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
				st,bank-name	= "PIO2";
			};
			pio3: gpio@fe613000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
				st,bank-name	= "PIO3";
			};
			pio4: gpio@fe614000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
				st,bank-name	= "PIO4";
			};
			pio40: gpio@fe615000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x5000 0x100>;
				st,bank-name	= "PIO40";
				st,retime-pin-mask = <0x7f>;
			};

			rc{
				pinctrl_ir: ir0 {
					st,pins {
						ir = <&pio4 0 ALT2 IN>;
					};
				};
			};
			sbc_serial1 {
				pinctrl_sbc_serial1: sbc_serial1 {
					st,pins {
						tx	= <&pio2 6 ALT3 OUT>;
						rx	= <&pio2 7 ALT3 IN>;
					};
				};
			};

			keyscan {
				pinctrl_keyscan: keyscan {
					st,pins {
						keyin0 = <&pio0 2 ALT2 IN>;
						keyin1 = <&pio0 3 ALT2 IN>;
						keyin2 = <&pio0 4 ALT2 IN>;
						keyin3 = <&pio2 6 ALT2 IN>;

						keyout0 = <&pio1 6 ALT2 OUT>;
						keyout1 = <&pio1 7 ALT2 OUT>;
						keyout2 = <&pio0 6 ALT2 OUT>;
						keyout3 = <&pio2 7 ALT2 OUT>;
					};
				};
			};

			sbc_i2c0 {
				pinctrl_sbc_i2c0_default: sbc_i2c0-default {
					st,pins {
						sda = <&pio4 6 ALT1 BIDIR>;
						scl = <&pio4 5 ALT1 BIDIR>;
					};
				};
			};

			usb {
				pinctrl_usb3: usb3 {
					st,pins {
						oc-detect = <&pio40 0 ALT1 IN>;
						pwr-enable = <&pio40 1 ALT1 OUT>;
					};
				};
			};

			sbc_i2c1 {
				pinctrl_sbc_i2c1_default: sbc_i2c1-default {
					st,pins {
						sda = <&pio3 2 ALT2 BIDIR>;
						scl = <&pio3 1 ALT2 BIDIR>;
					};
				};
			};

			gmac1 {
				pinctrl_mii1: mii1 {
					st,pins {
						txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
						txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>;
						col =   <&pio0 7 ALT1 IN BYPASS 1000>;

						mdio =  <&pio1 0 ALT1 OUT BYPASS 1500>;
						mdc =   <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
						crs =   <&pio1 2 ALT1 IN BYPASS 1000>;
						mdint = <&pio1 3 ALT1 IN BYPASS 0>;
						rxd0 =  <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
						rxd1 =  <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
						rxd2 =  <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
						rxd3 =  <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;

						rxdv =  <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
						rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
						rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>;
						phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>;
					};
				};
				pinctrl_rgmii1: rgmii1-0 {
					st,pins {
						txd0 =  <&pio0 0 ALT1 OUT DE_IO 500 CLK_A>;
						txd1 =  <&pio0 1 ALT1 OUT DE_IO 500 CLK_A>;
						txd2 =  <&pio0 2 ALT1 OUT DE_IO 500 CLK_A>;
						txd3 =  <&pio0 3 ALT1 OUT DE_IO 500 CLK_A>;
						txen =  <&pio0 5 ALT1 OUT DE_IO 0   CLK_A>;
						txclk = <&pio0 6 ALT1 IN  NICLK 0   CLK_A>;

						mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
						mdc  = <&pio1 1 ALT1 OUT NICLK  0 CLK_A>;
						rxd0 = <&pio1 4 ALT1 IN DE_IO 500 CLK_A>;
						rxd1 = <&pio1 5 ALT1 IN DE_IO 500 CLK_A>;
						rxd2 = <&pio1 6 ALT1 IN DE_IO 500 CLK_A>;
						rxd3 = <&pio1 7 ALT1 IN DE_IO 500 CLK_A>;

						rxdv   = <&pio2 0 ALT1 IN  DE_IO 500 CLK_A>;
						rxclk  = <&pio2 2 ALT1 IN  NICLK 0   CLK_A>;
						phyclk = <&pio2 3 ALT4 OUT NICLK 0   CLK_B>;

						clk125= <&pio3 7 ALT4 IN NICLK 0 CLK_A>;
					};
				};
			};
		};

		pin-controller-front {
			#address-cells	= <1>;
			#size-cells	= <1>;
			compatible	= "st,stih416-front-pinctrl";
			st,syscfg	= <&syscfg_front>;
			reg 		= <0xfee0f080 0x4>;
			reg-names	= "irqmux";
			interrupts 	= <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names	= "irqmux";
			ranges		= <0 0xfee00000 0x10000>;

			pio5: gpio@fee00000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
				st,bank-name	= "PIO5";
			};
			pio6: gpio@fee01000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
				st,bank-name	= "PIO6";
			};
			pio7: gpio@fee02000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
				st,bank-name	= "PIO7";
			};
			pio8: gpio@fee03000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
				st,bank-name	= "PIO8";
			};
			pio9: gpio@fee04000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
				st,bank-name	= "PIO9";
			};
			pio10: gpio@fee05000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x5000 0x100>;
				st,bank-name	= "PIO10";
			};
			pio11: gpio@fee06000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x6000 0x100>;
				st,bank-name	= "PIO11";
			};
			pio12: gpio@fee07000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x7000 0x100>;
				st,bank-name	= "PIO12";
			};
			pio30: gpio@fee08000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x8000 0x100>;
				st,bank-name	= "PIO30";
			};
			pio31: gpio@fee09000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x9000 0x100>;
				st,bank-name	= "PIO31";
			};

			serial2-oe {
				pinctrl_serial2_oe: serial2-1 {
					st,pins {
						output-enable	= <&pio11 3 ALT2 OUT>;
					};
				};
			};

			i2c0 {
				pinctrl_i2c0_default: i2c0-default {
					st,pins {
						sda = <&pio9 3 ALT1 BIDIR>;
						scl = <&pio9 2 ALT1 BIDIR>;
					};
				};
			};

			usb {
				pinctrl_usb0: usb0 {
					st,pins {
						oc-detect = <&pio9 4 ALT1 IN>;
						pwr-enable = <&pio9 5 ALT1 OUT>;
					};
				};
			};


			i2c1 {
				pinctrl_i2c1_default: i2c1-default {
					st,pins {
						sda = <&pio12 1 ALT1 BIDIR>;
						scl = <&pio12 0 ALT1 BIDIR>;
					};
				};
			};

			fsm {
				pinctrl_fsm: fsm {
					st,pins {
						spi-fsm-clk  = <&pio12 2 ALT1 OUT>;
						spi-fsm-cs   = <&pio12 3 ALT1 OUT>;
						spi-fsm-mosi = <&pio12 4 ALT1 OUT>;
						spi-fsm-miso = <&pio12 5 ALT1 IN>;
						spi-fsm-hol  = <&pio12 6 ALT1 OUT>;
						spi-fsm-wp   = <&pio12 7 ALT1 OUT>;
					};
				};
			};
		};

		pin-controller-rear {
			#address-cells	= <1>;
			#size-cells	= <1>;
			compatible	= "st,stih416-rear-pinctrl";
			st,syscfg	= <&syscfg_rear>;
			reg 		= <0xfe82f080 0x4>;
			reg-names	= "irqmux";
			interrupts 	= <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names	= "irqmux";
			ranges 		= <0 0xfe820000 0x6000>;

			pio13: gpio@fe820000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
				st,bank-name	= "PIO13";
			};
			pio14: gpio@fe821000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
				st,bank-name	= "PIO14";
			};
			pio15: gpio@fe822000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
				st,bank-name	= "PIO15";
			};
			pio16: gpio@fe823000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
				st,bank-name	= "PIO16";
			};
			pio17: gpio@fe824000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
				st,bank-name	= "PIO17";
			};
			pio18: gpio@fe825000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x5000 0x100>;
				st,bank-name	= "PIO18";
				st,retime-pin-mask = <0xf>;
			};

			serial2 {
				pinctrl_serial2: serial2-0 {
					st,pins {
						tx	= <&pio17 4 ALT2 OUT>;
						rx	= <&pio17 5 ALT2 IN>;
					};
				};
			};

			gmac0 {
				pinctrl_mii0: mii0 {
					st,pins {
						mdint = <&pio13 6 ALT2 IN  BYPASS      0>;
						txen =  <&pio13 7 ALT2 OUT SE_NICLK_IO 0 CLK_A>;
						txd0 =  <&pio14 0 ALT2 OUT SE_NICLK_IO 0 CLK_A>;
						txd1 =  <&pio14 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>;
						txd2 =  <&pio14 2 ALT2 OUT SE_NICLK_IO 0 CLK_B>;
						txd3 =  <&pio14 3 ALT2 OUT SE_NICLK_IO 0 CLK_B>;

						txclk = <&pio15 0 ALT2 IN  NICLK       0 CLK_A>;
						txer =  <&pio15 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>;
						crs = <&pio15 2 ALT2 IN  BYPASS 1000>;
						col = <&pio15 3 ALT2 IN  BYPASS 1000>;
						mdio= <&pio15 4 ALT2 OUT BYPASS 1500>;
						mdc = <&pio15 5 ALT2 OUT NICLK  0    CLK_B>;

						rxd0 =  <&pio16 0 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rxd1 =  <&pio16 1 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rxd2 =  <&pio16 2 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rxd3 =  <&pio16 3 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rxdv =  <&pio15 6 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rx_er = <&pio15 7 ALT2 IN SE_NICLK_IO 0 CLK_A>;
						rxclk = <&pio17 0 ALT2 IN NICLK 0 CLK_A>;
						phyclk = <&pio13 5 ALT2 OUT NICLK 0 CLK_B>;
					};
				};

				pinctrl_gmii0: gmii0 {
					st,pins {
						};
				};
				pinctrl_rgmii0: rgmii0 {
					st,pins {
						 phyclk = <&pio13  5 ALT4 OUT NICLK 0 CLK_B>;
						 txen = <&pio13 7 ALT2 OUT DE_IO 0 CLK_A>;
						 txd0  = <&pio14 0 ALT2 OUT DE_IO 500 CLK_A>;
						 txd1  = <&pio14 1 ALT2 OUT DE_IO 500 CLK_A>;
						 txd2  = <&pio14 2 ALT2 OUT DE_IO 500 CLK_B>;
						 txd3  = <&pio14 3 ALT2 OUT DE_IO 500 CLK_B>;
						 txclk = <&pio15 0 ALT2 IN NICLK 0 CLK_A>;

						 mdio = <&pio15 4 ALT2 OUT BYPASS 0>;
						 mdc = <&pio15 5 ALT2 OUT NICLK 0 CLK_B>;

						 rxdv = <&pio15 6 ALT2 IN DE_IO 500 CLK_A>;
						 rxd0 =<&pio16 0 ALT2 IN DE_IO	500 CLK_A>;
						 rxd1 =<&pio16 1 ALT2 IN DE_IO	500 CLK_A>;
						 rxd2 =<&pio16 2 ALT2 IN DE_IO	500 CLK_A>;
						 rxd3  =<&pio16 3 ALT2 IN DE_IO 500 CLK_A>;
						 rxclk =<&pio17 0 ALT2 IN NICLK 0 CLK_A>;

						 clk125=<&pio17 6 ALT1 IN NICLK 0 CLK_A>;
					};
				};
			};

			mmc0 {
				pinctrl_mmc0: mmc0 {
					st,pins {
						mmcclk  = <&pio13 4 ALT4 BIDIR_PU NICLK 0 CLK_B>;
						data0   = <&pio14 4 ALT4 BIDIR_PU BYPASS 0>;
						data1   = <&pio14 5 ALT4 BIDIR_PU BYPASS 0>;
						data2   = <&pio14 6 ALT4 BIDIR_PU BYPASS 0>;
						data3   = <&pio14 7 ALT4 BIDIR_PU BYPASS 0>;
						cmd     = <&pio15 1 ALT4 BIDIR_PU BYPASS 0>;
						wp      = <&pio15 3 ALT4 IN>;
						data4   = <&pio16 4 ALT4 BIDIR_PU BYPASS 0>;
						data5   = <&pio16 5 ALT4 BIDIR_PU BYPASS 0>;
						data6   = <&pio16 6 ALT4 BIDIR_PU BYPASS 0>;
						data7   = <&pio16 7 ALT4 BIDIR_PU BYPASS 0>;
						pwr     = <&pio17 1 ALT4 OUT>;
						cd      = <&pio17 2 ALT4 IN>;
						led     = <&pio17 3 ALT4 OUT>;
					};
				};
			};
			mmc1 {
				pinctrl_mmc1: mmc1 {
					st,pins {
						mmcclk  = <&pio15 0 ALT3 BIDIR_PU NICLK 0 CLK_B>;
						data0   = <&pio13 7 ALT3 BIDIR_PU BYPASS 0>;
						data1   = <&pio14 1 ALT3 BIDIR_PU BYPASS 0>;
						data2   = <&pio14 2 ALT3 BIDIR_PU BYPASS 0>;
						data3   = <&pio14 3 ALT3 BIDIR_PU BYPASS 0>;
						cmd     = <&pio15 4 ALT3 BIDIR_PU BYPASS 0>;
						data4   = <&pio15 6 ALT3 BIDIR_PU BYPASS 0>;
						data5   = <&pio15 7 ALT3 BIDIR_PU BYPASS 0>;
						data6   = <&pio16 0 ALT3 BIDIR_PU BYPASS 0>;
						data7   = <&pio16 1 ALT3 BIDIR_PU BYPASS 0>;
						pwr     = <&pio16 2 ALT3 OUT>;
						nreset  = <&pio13 6 ALT3 OUT>;
					};
				};
			};

			usb {
				pinctrl_usb1: usb1 {
					st,pins {
						oc-detect = <&pio18 0 ALT1 IN>;
						pwr-enable = <&pio18 1 ALT1 OUT>;
					};
				};
				pinctrl_usb2: usb2 {
					st,pins {
						oc-detect = <&pio18 2 ALT1 IN>;
						pwr-enable = <&pio18 3 ALT1 OUT>;
					};
				};
			};
		};

		pin-controller-fvdp-fe {
			#address-cells	= <1>;
			#size-cells	= <1>;
			compatible	= "st,stih416-fvdp-fe-pinctrl";
			st,syscfg	= <&syscfg_fvdp_fe>;
			reg 		= <0xfd6bf080 0x4>;
			reg-names	= "irqmux";
			interrupts 	= <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names	= "irqmux";
			ranges		= <0 0xfd6b0000 0x3000>;

			pio100: gpio@fd6b0000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
				st,bank-name	= "PIO100";
			};
			pio101: gpio@fd6b1000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
				st,bank-name	= "PIO101";
			};
			pio102: gpio@fd6b2000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
				st,bank-name	= "PIO102";
			};
		};

		pin-controller-fvdp-lite {
			#address-cells	= <1>;
			#size-cells	= <1>;
			compatible	= "st,stih416-fvdp-lite-pinctrl";
			st,syscfg		= <&syscfg_fvdp_lite>;
			reg 		= <0xfd33f080 0x4>;
			reg-names	= "irqmux";
			interrupts 	= <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names	= "irqmux";
			ranges			= <0 0xfd330000 0x5000>;

			pio103: gpio@fd330000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
				st,bank-name	= "PIO103";
			};
			pio104: gpio@fd331000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
				st,bank-name	= "PIO104";
			};
			pio105: gpio@fd332000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
				st,bank-name	= "PIO105";
			};
			pio106: gpio@fd333000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
				st,bank-name	= "PIO106";
			};

			pio107: gpio@fd334000 {
				gpio-controller;
				#gpio-cells	= <1>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
				st,bank-name	= "PIO107";
				st,retime-pin-mask = <0xf>;
			};
		};
	};
};
