| /* | 
 |  * Copyright (C) 2014 STMicroelectronics Limited. | 
 |  * Author: Giuseppe Cavallaro <peppe.cavallaro@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 { | 
 | 		/* 0-5: PIO_SBC */ | 
 | 		gpio0 = &pio0; | 
 | 		gpio1 = &pio1; | 
 | 		gpio2 = &pio2; | 
 | 		gpio3 = &pio3; | 
 | 		gpio4 = &pio4; | 
 | 		gpio5 = &pio5; | 
 | 		/* 10-19: PIO_FRONT0 */ | 
 | 		gpio6 = &pio10; | 
 | 		gpio7 = &pio11; | 
 | 		gpio8 = &pio12; | 
 | 		gpio9 = &pio13; | 
 | 		gpio10 = &pio14; | 
 | 		gpio11 = &pio15; | 
 | 		gpio12 = &pio16; | 
 | 		gpio13 = &pio17; | 
 | 		gpio14 = &pio18; | 
 | 		gpio15 = &pio19; | 
 | 		/* 20: PIO_FRONT1 */ | 
 | 		gpio16 = &pio20; | 
 | 		/* 30-35: PIO_REAR */ | 
 | 		gpio17 = &pio30; | 
 | 		gpio18 = &pio31; | 
 | 		gpio19 = &pio32; | 
 | 		gpio20 = &pio33; | 
 | 		gpio21 = &pio34; | 
 | 		gpio22 = &pio35; | 
 | 		/* 40-42: PIO_FLASH */ | 
 | 		gpio23 = &pio40; | 
 | 		gpio24 = &pio41; | 
 | 		gpio25 = &pio42; | 
 | 	}; | 
 |  | 
 | 	soc { | 
 | 		pin-controller-sbc { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 | 			compatible = "st,stih407-sbc-pinctrl"; | 
 | 			st,syscfg = <&syscfg_sbc>; | 
 | 			reg = <0x0961f080 0x4>; | 
 | 			reg-names = "irqmux"; | 
 | 			interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>; | 
 | 			interrupt-names = "irqmux"; | 
 | 			ranges = <0 0x09610000 0x6000>; | 
 |  | 
 | 			pio0: gpio@09610000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x0 0x100>; | 
 | 				st,bank-name = "PIO0"; | 
 | 			}; | 
 | 			pio1: gpio@09611000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x1000 0x100>; | 
 | 				st,bank-name = "PIO1"; | 
 | 			}; | 
 | 			pio2: gpio@09612000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x2000 0x100>; | 
 | 				st,bank-name = "PIO2"; | 
 | 			}; | 
 | 			pio3: gpio@09613000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x3000 0x100>; | 
 | 				st,bank-name = "PIO3"; | 
 | 			}; | 
 | 			pio4: gpio@09614000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x4000 0x100>; | 
 | 				st,bank-name = "PIO4"; | 
 | 			}; | 
 |  | 
 | 			pio5: gpio@09615000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x5000 0x100>; | 
 | 				st,bank-name = "PIO5"; | 
 | 				st,retime-pin-mask = <0x3f>; | 
 | 			}; | 
 |  | 
 | 			cec0 { | 
 | 				pinctrl_cec0_default: cec0-default { | 
 | 					st,pins { | 
 | 						hdmi_cec = <&pio2 4 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			rc { | 
 | 				pinctrl_ir: ir0 { | 
 | 					st,pins { | 
 | 						ir = <&pio4 0 ALT2 IN>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_uhf: uhf0 { | 
 | 					st,pins { | 
 | 						ir = <&pio4 1 ALT2 IN>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_tx: tx0 { | 
 | 					st,pins { | 
 | 						tx = <&pio4 2 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_tx_od: tx_od0 { | 
 | 					st,pins { | 
 | 						tx_od = <&pio4 3 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			/* SBC_ASC0 - UART10 */ | 
 | 			sbc_serial0 { | 
 | 				pinctrl_sbc_serial0: sbc_serial0-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio3 4 ALT1 OUT>; | 
 | 						rx = <&pio3 5 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 			/* SBC_ASC1 - UART11 */ | 
 | 			sbc_serial1 { | 
 | 				pinctrl_sbc_serial1: sbc_serial1-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio2 6 ALT3 OUT>; | 
 | 						rx = <&pio2 7 ALT3 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c10 { | 
 | 				pinctrl_i2c10_default: i2c10-default { | 
 | 					st,pins { | 
 | 						sda = <&pio4 6 ALT1 BIDIR>; | 
 | 						scl = <&pio4 5 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c11 { | 
 | 				pinctrl_i2c11_default: i2c11-default { | 
 | 					st,pins { | 
 | 						sda = <&pio5 1 ALT1 BIDIR>; | 
 | 						scl = <&pio5 0 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			keyscan { | 
 | 				pinctrl_keyscan: keyscan { | 
 | 					st,pins { | 
 | 						keyin0 = <&pio4 0 ALT6 IN>; | 
 | 						keyin1 = <&pio4 5 ALT4 IN>; | 
 | 						keyin2 = <&pio0 4 ALT2 IN>; | 
 | 						keyin3 = <&pio2 6 ALT2 IN>; | 
 |  | 
 | 						keyout0 = <&pio4 6 ALT4 OUT>; | 
 | 						keyout1 = <&pio1 7 ALT2 OUT>; | 
 | 						keyout2 = <&pio0 6 ALT2 OUT>; | 
 | 						keyout3 = <&pio2 7 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			gmac1 { | 
 | 				/* | 
 | 				 * Almost all the boards based on STiH407 SoC have an embedded | 
 | 				 * switch where the mdio/mdc have been used for managing the SMI | 
 | 				 * iface via I2C. For this reason these lines can be allocated | 
 | 				 * by using dedicated configuration (in case of there will be a | 
 | 				 * standard PHY transceiver on-board). | 
 | 				 */ | 
 | 				pinctrl_rgmii1: rgmii1-0 { | 
 | 					st,pins { | 
 |  | 
 | 						txd0 = <&pio0 0 ALT1 OUT DE_IO 0 CLK_A>; | 
 | 						txd1 = <&pio0 1 ALT1 OUT DE_IO 0 CLK_A>; | 
 | 						txd2 = <&pio0 2 ALT1 OUT DE_IO 0 CLK_A>; | 
 | 						txd3 = <&pio0 3 ALT1 OUT DE_IO 0 CLK_A>; | 
 | 						txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>; | 
 | 						txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; | 
 | 						rxd0 = <&pio1 4 ALT1 IN DE_IO 0 CLK_A>; | 
 | 						rxd1 = <&pio1 5 ALT1 IN DE_IO 0 CLK_A>; | 
 | 						rxd2 = <&pio1 6 ALT1 IN DE_IO 0 CLK_A>; | 
 | 						rxd3 = <&pio1 7 ALT1 IN DE_IO 0 CLK_A>; | 
 | 						rxdv = <&pio2 0 ALT1 IN DE_IO 0 CLK_A>; | 
 | 						rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; | 
 | 						clk125 = <&pio3 7 ALT4 IN NICLK 0 CLK_A>; | 
 | 						phyclk = <&pio2 3 ALT4 OUT NICLK 1250 CLK_B>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_rgmii1_mdio: rgmii1-mdio { | 
 | 					st,pins { | 
 | 						mdio = <&pio1 0 ALT1 OUT BYPASS 0>; | 
 | 						mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; | 
 | 						mdint = <&pio1 3 ALT1 IN BYPASS 0>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				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_rmii1: rmii1-0 { | 
 | 					st,pins { | 
 | 						txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						mdio = <&pio1 0 ALT1 OUT BYPASS 0>; | 
 | 						mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; | 
 | 						mdint = <&pio1 3 ALT1 IN BYPASS 0>; | 
 | 						rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_rmii1_phyclk: rmii1_phyclk { | 
 | 					st,pins { | 
 | 						phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_rmii1_phyclk_ext: rmii1_phyclk_ext { | 
 | 					st,pins { | 
 | 						phyclk = <&pio2 3 ALT2 IN NICLK 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			pwm1 { | 
 | 				pinctrl_pwm1_chan0_default: pwm1-0-default { | 
 | 					st,pins { | 
 | 						pwm-out = <&pio3 0 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_pwm1_chan1_default: pwm1-1-default { | 
 | 					st,pins { | 
 | 						pwm-out = <&pio4 4 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_pwm1_chan2_default: pwm1-2-default { | 
 | 					st,pins { | 
 | 						pwm-out = <&pio4 6 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_pwm1_chan3_default: pwm1-3-default { | 
 | 					st,pins { | 
 | 						pwm-out = <&pio4 7 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi10 { | 
 | 				pinctrl_spi10_default: spi10-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio4 6 ALT1 OUT>; | 
 | 						mrst = <&pio4 7 ALT1 IN>; | 
 | 						scl = <&pio4 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi10_3w_alt1_0: spi10-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio4 6 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio4 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi11 { | 
 | 				pinctrl_spi11_default: spi11-4w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio3 1 ALT2 OUT>; | 
 | 						mrst = <&pio3 0 ALT2 IN>; | 
 | 						scl = <&pio3 2 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi11_3w_alt2_0: spi11-3w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio3 1 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio3 2 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi12 { | 
 | 				pinctrl_spi12_default: spi12-4w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio3 6 ALT2 OUT>; | 
 | 						mrst = <&pio3 4 ALT2 IN>; | 
 | 						scl = <&pio3 7 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi12_3w_alt2_0: spi12-3w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio3 6 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio3 7 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		pin-controller-front0 { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 | 			compatible = "st,stih407-front-pinctrl"; | 
 | 			st,syscfg = <&syscfg_front>; | 
 | 			reg = <0x0920f080 0x4>; | 
 | 			reg-names = "irqmux"; | 
 | 			interrupts = <GIC_SPI 189 IRQ_TYPE_NONE>; | 
 | 			interrupt-names = "irqmux"; | 
 | 			ranges = <0 0x09200000 0x10000>; | 
 |  | 
 | 			pio10: pio@09200000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x0 0x100>; | 
 | 				st,bank-name = "PIO10"; | 
 | 			}; | 
 | 			pio11: pio@09201000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x1000 0x100>; | 
 | 				st,bank-name = "PIO11"; | 
 | 			}; | 
 | 			pio12: pio@09202000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x2000 0x100>; | 
 | 				st,bank-name = "PIO12"; | 
 | 			}; | 
 | 			pio13: pio@09203000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x3000 0x100>; | 
 | 				st,bank-name = "PIO13"; | 
 | 			}; | 
 | 			pio14: pio@09204000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x4000 0x100>; | 
 | 				st,bank-name = "PIO14"; | 
 | 			}; | 
 | 			pio15: pio@09205000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x5000 0x100>; | 
 | 				st,bank-name = "PIO15"; | 
 | 			}; | 
 | 			pio16: pio@09206000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x6000 0x100>; | 
 | 				st,bank-name = "PIO16"; | 
 | 			}; | 
 | 			pio17: pio@09207000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x7000 0x100>; | 
 | 				st,bank-name = "PIO17"; | 
 | 			}; | 
 | 			pio18: pio@09208000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x8000 0x100>; | 
 | 				st,bank-name = "PIO18"; | 
 | 			}; | 
 | 			pio19: pio@09209000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x9000 0x100>; | 
 | 				st,bank-name = "PIO19"; | 
 | 			}; | 
 |  | 
 | 			/* Comms */ | 
 | 			serial0 { | 
 | 				pinctrl_serial0: serial0-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio17 0 ALT1 OUT>; | 
 | 						rx = <&pio17 1 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			serial1 { | 
 | 				pinctrl_serial1: serial1-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio16 0 ALT1 OUT>; | 
 | 						rx = <&pio16 1 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			serial2 { | 
 | 				pinctrl_serial2: serial2-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio15 0 ALT1 OUT>; | 
 | 						rx = <&pio15 1 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			mmc1 { | 
 | 				pinctrl_sd1: sd1-0 { | 
 | 					st,pins { | 
 | 						sd_clk = <&pio19 3 ALT5 BIDIR NICLK 0 CLK_B>; | 
 | 						sd_cmd = <&pio19 2 ALT5 BIDIR_PU BYPASS 0>; | 
 | 						sd_dat0 = <&pio19 4 ALT5 BIDIR_PU BYPASS 0>; | 
 | 						sd_dat1 = <&pio19 5 ALT5 BIDIR_PU BYPASS 0>; | 
 | 						sd_dat2 = <&pio19 6 ALT5 BIDIR_PU BYPASS 0>; | 
 | 						sd_dat3 = <&pio19 7 ALT5 BIDIR_PU BYPASS 0>; | 
 | 						sd_led = <&pio16 6 ALT6 OUT>; | 
 | 						sd_pwren = <&pio16 7 ALT6 OUT>; | 
 | 						sd_cd = <&pio19 0 ALT6 IN>; | 
 | 						sd_wp = <&pio19 1 ALT6 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 |  | 
 | 			i2c0 { | 
 | 				pinctrl_i2c0_default: i2c0-default { | 
 | 					st,pins { | 
 | 						sda = <&pio10 6 ALT2 BIDIR>; | 
 | 						scl = <&pio10 5 ALT2 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c1 { | 
 | 				pinctrl_i2c1_default: i2c1-default { | 
 | 					st,pins { | 
 | 						sda = <&pio11 1 ALT2 BIDIR>; | 
 | 						scl = <&pio11 0 ALT2 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c2 { | 
 | 				pinctrl_i2c2_default: i2c2-default { | 
 | 					st,pins { | 
 | 						sda = <&pio15 6 ALT2 BIDIR>; | 
 | 						scl = <&pio15 5 ALT2 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c3 { | 
 | 				pinctrl_i2c3_default: i2c3-alt1-0 { | 
 | 					st,pins { | 
 | 						sda = <&pio18 6 ALT1 BIDIR>; | 
 | 						scl = <&pio18 5 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_i2c3_alt1_1: i2c3-alt1-1 { | 
 | 					st,pins { | 
 | 						sda = <&pio17 7 ALT1 BIDIR>; | 
 | 						scl = <&pio17 6 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_i2c3_alt3_0: i2c3-alt3-0 { | 
 | 					st,pins { | 
 | 						sda = <&pio13 6 ALT3 BIDIR>; | 
 | 						scl = <&pio13 5 ALT3 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi0 { | 
 | 				pinctrl_spi0_default: spi0-4w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio10 6 ALT2 OUT>; | 
 | 						mrst = <&pio10 7 ALT2 IN>; | 
 | 						scl = <&pio10 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi0_3w_alt2_0: spi0-3w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio10 6 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio10 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi0_4w_alt1_0: spi0-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio19 7 ALT1 OUT>; | 
 | 						mrst = <&pio19 5 ALT1 IN>; | 
 | 						scl = <&pio19 6 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi0_3w_alt1_0: spi0-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio19 7 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio19 6 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi1 { | 
 | 				pinctrl_spi1_default: spi1-4w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio11 1 ALT2 OUT>; | 
 | 						mrst = <&pio11 2 ALT2 IN>; | 
 | 						scl = <&pio11 0 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi1_3w_alt2_0: spi1-3w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio11 1 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio11 0 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi1_4w_alt1_0: spi1-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio14 3 ALT1 OUT>; | 
 | 						mrst = <&pio14 4 ALT1 IN>; | 
 | 						scl = <&pio14 2 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi1_3w_alt1_0: spi1-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio14 3 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio14 2 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi2 { | 
 | 				pinctrl_spi2_default: spi2-4w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio12 6 ALT2 OUT>; | 
 | 						mrst = <&pio12 7 ALT2 IN>; | 
 | 						scl = <&pio12 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi2_3w_alt2_0: spi2-3w-alt2-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio12 6 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio12 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi2_4w_alt1_0: spi2-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio14 6 ALT1 OUT>; | 
 | 						mrst = <&pio14 7 ALT1 IN>; | 
 | 						scl = <&pio14 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi2_3w_alt1_0: spi2-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio14 6 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio14 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi2_4w_alt2_1: spi2-4w-alt2-1 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio15 6 ALT2 OUT>; | 
 | 						mrst = <&pio15 7 ALT2 IN>; | 
 | 						scl = <&pio15 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi2_3w_alt2_1: spi2-3w-alt2-1 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio15 6 ALT2 BIDIR_PU>; | 
 | 						scl = <&pio15 5 ALT2 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi3 { | 
 | 				pinctrl_spi3_default: spi3-4w-alt3-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio13 6 ALT3 OUT>; | 
 | 						mrst = <&pio13 7 ALT3 IN>; | 
 | 						scl = <&pio13 5 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi3_3w_alt3_0: spi3-3w-alt3-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio13 6 ALT3 BIDIR_PU>; | 
 | 						scl = <&pio13 5 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi3_4w_alt1_0: spi3-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio17 7 ALT1 OUT>; | 
 | 						mrst = <&pio17 5 ALT1 IN>; | 
 | 						scl = <&pio17 6 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi3_3w_alt1_0: spi3-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio17 7 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio17 6 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi3_4w_alt1_1: spi3-4w-alt1-1 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio18 6 ALT1 OUT>; | 
 | 						mrst = <&pio18 7 ALT1 IN>; | 
 | 						scl = <&pio18 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi3_3w_alt1_1: spi3-3w-alt1-1 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio18 6 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio18 5 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin0 { | 
 | 				pinctrl_tsin0_parallel: tsin0_parallel { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA6 = <&pio10 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA5 = <&pio10 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA4 = <&pio10 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA3 = <&pio11 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA2 = <&pio11 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA1 = <&pio11 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA0 = <&pio11 3 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_tsin0_serial: tsin0_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin1 { | 
 | 				pinctrl_tsin1_parallel: tsin1_parallel { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA6 = <&pio12 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA5 = <&pio12 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA4 = <&pio12 3 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA3 = <&pio12 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA2 = <&pio12 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA1 = <&pio12 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA0 = <&pio12 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_tsin1_serial: tsin1_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin2 { | 
 | 				pinctrl_tsin2_parallel: tsin2_parallel { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA6 = <&pio13 5 ALT2 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						DATA5 = <&pio13 6 ALT2 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						DATA4 = <&pio13 7 ALT2 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						DATA3 = <&pio14 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA2 = <&pio14 1 ALT2 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						DATA1 = <&pio14 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA0 = <&pio14 3 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_tsin2_serial: tsin2_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin3 { | 
 | 				pinctrl_tsin3_serial: tsin3_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio14 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio14 0 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio13 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio13 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio13 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin4 { | 
 | 				pinctrl_tsin4_serial_alt3: tsin4_serial_alt3 { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio14 6 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio14 5 ALT3 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio14 3 ALT3 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						ERROR = <&pio14 2 ALT3 IN SE_NICLK_IO 0 CLK_B>; | 
 | 						PKCLK = <&pio14 4 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsin5 { | 
 | 				pinctrl_tsin5_serial_alt1: tsin5_serial_alt1 { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio18 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio18 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio18 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio18 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio18 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_tsin5_serial_alt2: tsin5_serial_alt2 { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio19 4 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio19 3 ALT2 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio19 1 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio19 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio19 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsout0 { | 
 | 				pinctrl_tsout0_parallel: tsout0_parallel { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA6 = <&pio12 1 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA5 = <&pio12 2 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA4 = <&pio12 3 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA3 = <&pio12 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA2 = <&pio12 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA1 = <&pio12 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA0 = <&pio12 7 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>; | 
 | 						VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_tsout0_serial: tsout0_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>; | 
 | 						VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			tsout1 { | 
 | 				pinctrl_tsout1_serial: tsout1_serial { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio19 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio19 3 ALT1 OUT NICLK 0 CLK_A>; | 
 | 						VALID = <&pio19 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio19 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio19 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			mtsin0 { | 
 | 				pinctrl_mtsin0_parallel: mtsin0_parallel { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio10 4 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA6 = <&pio10 5 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA5 = <&pio10 6 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA4 = <&pio10 7 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA3 = <&pio11 0 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA2 = <&pio11 1 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA1 = <&pio11 2 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						DATA0 = <&pio11 3 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio10 3 ALT3 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio10 1 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio10 0 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio10 2 ALT3 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			systrace { | 
 | 				pinctrl_systrace_default: systrace-default { | 
 | 					st,pins { | 
 | 						trc_data0 = <&pio11 3 ALT5 OUT>; | 
 | 						trc_data1 = <&pio11 4 ALT5 OUT>; | 
 | 						trc_data2 = <&pio11 5 ALT5 OUT>; | 
 | 						trc_data3 = <&pio11 6 ALT5 OUT>; | 
 | 						trc_clk   = <&pio11 7 ALT5 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		pin-controller-front1 { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 | 			compatible = "st,stih407-front-pinctrl"; | 
 | 			st,syscfg = <&syscfg_front>; | 
 | 			reg = <0x0921f080 0x4>; | 
 | 			reg-names = "irqmux"; | 
 | 			interrupts = <GIC_SPI 190 IRQ_TYPE_NONE>; | 
 | 			interrupt-names = "irqmux"; | 
 | 			ranges = <0 0x09210000 0x10000>; | 
 |  | 
 | 			tsin4 { | 
 | 				pinctrl_tsin4_serial_alt1: tsin4_serial_alt1 { | 
 | 					st,pins { | 
 | 						DATA7 = <&pio20 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						CLKIN = <&pio20 3 ALT1 IN CLKNOTDATA 0 CLK_A>; | 
 | 						VALID = <&pio20 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						ERROR = <&pio20 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 						PKCLK = <&pio20 2 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			pio20: pio@09210000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x0 0x100>; | 
 | 				st,bank-name = "PIO20"; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		pin-controller-rear { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 | 			compatible = "st,stih407-rear-pinctrl"; | 
 | 			st,syscfg = <&syscfg_rear>; | 
 | 			reg = <0x0922f080 0x4>; | 
 | 			reg-names = "irqmux"; | 
 | 			interrupts = <GIC_SPI 191 IRQ_TYPE_NONE>; | 
 | 			interrupt-names = "irqmux"; | 
 | 			ranges = <0 0x09220000 0x6000>; | 
 |  | 
 | 			pio30: gpio@09220000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x0 0x100>; | 
 | 				st,bank-name = "PIO30"; | 
 | 			}; | 
 | 			pio31: gpio@09221000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x1000 0x100>; | 
 | 				st,bank-name = "PIO31"; | 
 | 			}; | 
 | 			pio32: gpio@09222000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x2000 0x100>; | 
 | 				st,bank-name = "PIO32"; | 
 | 			}; | 
 | 			pio33: gpio@09223000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x3000 0x100>; | 
 | 				st,bank-name = "PIO33"; | 
 | 			}; | 
 | 			pio34: gpio@09224000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x4000 0x100>; | 
 | 				st,bank-name = "PIO34"; | 
 | 			}; | 
 | 			pio35: gpio@09225000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x5000 0x100>; | 
 | 				st,bank-name = "PIO35"; | 
 | 				st,retime-pin-mask = <0x7f>; | 
 | 			}; | 
 |  | 
 | 			i2c4 { | 
 | 				pinctrl_i2c4_default: i2c4-default { | 
 | 					st,pins { | 
 | 						sda = <&pio30 1 ALT1 BIDIR>; | 
 | 						scl = <&pio30 0 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			i2c5 { | 
 | 				pinctrl_i2c5_default: i2c5-default { | 
 | 					st,pins { | 
 | 						sda = <&pio34 4 ALT1 BIDIR>; | 
 | 						scl = <&pio34 3 ALT1 BIDIR>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			usb3 { | 
 | 				pinctrl_usb3: usb3-2 { | 
 | 					st,pins { | 
 | 						usb-oc-detect = <&pio35 4 ALT1 IN>; | 
 | 						usb-pwr-enable = <&pio35 5 ALT1 OUT>; | 
 | 						usb-vbus-valid = <&pio35 6 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			pwm0 { | 
 | 				pinctrl_pwm0_chan0_default: pwm0-0-default { | 
 | 					st,pins { | 
 | 						pwm-out = <&pio31 1 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			spi4 { | 
 | 				pinctrl_spi4_default: spi4-4w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio30 1 ALT1 OUT>; | 
 | 						mrst = <&pio30 2 ALT1 IN>; | 
 | 						scl = <&pio30 0 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi4_3w_alt1_0: spi4-3w-alt1-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio30 1 ALT1 BIDIR_PU>; | 
 | 						scl = <&pio30 0 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi4_4w_alt3_0: spi4-4w-alt3-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio34 1 ALT3 OUT>; | 
 | 						mrst = <&pio34 2 ALT3 IN>; | 
 | 						scl = <&pio34 0 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 |  | 
 | 				pinctrl_spi4_3w_alt3_0: spi4-3w-alt3-0 { | 
 | 					st,pins { | 
 | 						mtsr = <&pio34 1 ALT3 BIDIR_PU>; | 
 | 						scl = <&pio34 0 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			serial3 { | 
 | 				pinctrl_serial3: serial3-0 { | 
 | 					st,pins { | 
 | 						tx = <&pio31 3 ALT1 OUT>; | 
 | 						rx = <&pio31 4 ALT1 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		pin-controller-flash { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 | 			compatible = "st,stih407-flash-pinctrl"; | 
 | 			st,syscfg = <&syscfg_flash>; | 
 | 			reg = <0x0923f080 0x4>; | 
 | 			reg-names = "irqmux"; | 
 | 			interrupts = <GIC_SPI 192 IRQ_TYPE_NONE>; | 
 | 			interrupts-names = "irqmux"; | 
 | 			ranges = <0 0x09230000 0x3000>; | 
 |  | 
 | 			pio40: gpio@09230000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0 0x100>; | 
 | 				st,bank-name = "PIO40"; | 
 | 			}; | 
 | 			pio41: gpio@09231000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x1000 0x100>; | 
 | 				st,bank-name = "PIO41"; | 
 | 			}; | 
 | 			pio42: gpio@09232000 { | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <1>; | 
 | 				interrupt-controller; | 
 | 				#interrupt-cells = <2>; | 
 | 				reg = <0x2000 0x100>; | 
 | 				st,bank-name = "PIO42"; | 
 | 			}; | 
 |  | 
 | 			mmc0 { | 
 | 				pinctrl_mmc0: mmc0-0 { | 
 | 					st,pins { | 
 | 						emmc_clk = <&pio40 6 ALT1 BIDIR>; | 
 | 						emmc_cmd = <&pio40 7 ALT1 BIDIR_PU>; | 
 | 						emmc_d0 = <&pio41 0 ALT1 BIDIR_PU>; | 
 | 						emmc_d1 = <&pio41 1 ALT1 BIDIR_PU>; | 
 | 						emmc_d2 = <&pio41 2 ALT1 BIDIR_PU>; | 
 | 						emmc_d3 = <&pio41 3 ALT1 BIDIR_PU>; | 
 | 						emmc_d4 = <&pio41 4 ALT1 BIDIR_PU>; | 
 | 						emmc_d5 = <&pio41 5 ALT1 BIDIR_PU>; | 
 | 						emmc_d6 = <&pio41 6 ALT1 BIDIR_PU>; | 
 | 						emmc_d7 = <&pio41 7 ALT1 BIDIR_PU>; | 
 | 					}; | 
 | 				}; | 
 | 				pinctrl_sd0: sd0-0 { | 
 | 					st,pins { | 
 | 						sd_clk = <&pio40 6 ALT1 BIDIR>; | 
 | 						sd_cmd = <&pio40 7 ALT1 BIDIR_PU>; | 
 | 						sd_dat0 = <&pio41 0 ALT1 BIDIR_PU>; | 
 | 						sd_dat1 = <&pio41 1 ALT1 BIDIR_PU>; | 
 | 						sd_dat2 = <&pio41 2 ALT1 BIDIR_PU>; | 
 | 						sd_dat3 = <&pio41 3 ALT1 BIDIR_PU>; | 
 | 						sd_led = <&pio42 0 ALT2 OUT>; | 
 | 						sd_pwren = <&pio42 2 ALT2 OUT>; | 
 | 						sd_vsel = <&pio42 3 ALT2 OUT>; | 
 | 						sd_cd = <&pio42 4 ALT2 IN>; | 
 | 						sd_wp = <&pio42 5 ALT2 IN>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			fsm { | 
 | 				pinctrl_fsm: fsm { | 
 | 					st,pins { | 
 | 						spi-fsm-clk = <&pio40 1 ALT1 OUT>; | 
 | 						spi-fsm-cs = <&pio40 0 ALT1 OUT>; | 
 | 						spi-fsm-mosi = <&pio40 2 ALT1 OUT>; | 
 | 						spi-fsm-miso = <&pio40 3 ALT1 IN>; | 
 | 						spi-fsm-hol = <&pio40 5 ALT1 OUT>; | 
 | 						spi-fsm-wp = <&pio40 4 ALT1 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			nand { | 
 | 				pinctrl_nand: nand { | 
 | 					st,pins { | 
 | 						nand_cs1 = <&pio40 6 ALT3 OUT>; | 
 | 						nand_cs0 = <&pio40 7 ALT3 OUT>; | 
 | 						nand_d0 = <&pio41 0 ALT3 BIDIR>; | 
 | 						nand_d1 = <&pio41 1 ALT3 BIDIR>; | 
 | 						nand_d2 = <&pio41 2 ALT3 BIDIR>; | 
 | 						nand_d3 = <&pio41 3 ALT3 BIDIR>; | 
 | 						nand_d4 = <&pio41 4 ALT3 BIDIR>; | 
 | 						nand_d5 = <&pio41 5 ALT3 BIDIR>; | 
 | 						nand_d6 = <&pio41 6 ALT3 BIDIR>; | 
 | 						nand_d7 = <&pio41 7 ALT3 BIDIR>; | 
 | 						nand_we = <&pio42 0 ALT3 OUT>; | 
 | 						nand_dqs = <&pio42 1 ALT3 OUT>; | 
 | 						nand_ale = <&pio42 2 ALT3 OUT>; | 
 | 						nand_cle = <&pio42 3 ALT3 OUT>; | 
 | 						nand_rnb = <&pio42 4 ALT3 IN>; | 
 | 						nand_oe = <&pio42 5 ALT3 OUT>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; |