// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
 */
#include <dt-bindings/pinctrl/stm32-pinfunc.h>

&pinctrl {
	adc1_in6_pins_a: adc1-in6 {
		pins {
			pinmux = <STM32_PINMUX('F', 12, ANALOG)>;
		};
	};

	adc12_ain_pins_a: adc12-ain-0 {
		pins {
			pinmux = <STM32_PINMUX('C', 3, ANALOG)>, /* ADC1 in13 */
				 <STM32_PINMUX('F', 12, ANALOG)>, /* ADC1 in6 */
				 <STM32_PINMUX('F', 13, ANALOG)>, /* ADC2 in2 */
				 <STM32_PINMUX('F', 14, ANALOG)>; /* ADC2 in6 */
		};
	};

	adc12_usb_cc_pins_a: adc12-usb-cc-pins-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* ADC12 in18 */
				 <STM32_PINMUX('A', 5, ANALOG)>; /* ADC12 in19 */
		};
	};

	cec_pins_a: cec-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 15, AF4)>;
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	cec_pins_sleep_a: cec-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 15, ANALOG)>; /* HDMI_CEC */
		};
	};

	cec_pins_b: cec-1 {
		pins {
			pinmux = <STM32_PINMUX('B', 6, AF5)>;
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	cec_pins_sleep_b: cec-sleep-1 {
		pins {
			pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* HDMI_CEC */
		};
	};

	dac_ch1_pins_a: dac-ch1 {
		pins {
			pinmux = <STM32_PINMUX('A', 4, ANALOG)>;
		};
	};

	dac_ch2_pins_a: dac-ch2 {
		pins {
			pinmux = <STM32_PINMUX('A', 5, ANALOG)>;
		};
	};

	dcmi_pins_a: dcmi-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 8,  AF13)>,/* DCMI_HSYNC */
				 <STM32_PINMUX('B', 7,  AF13)>,/* DCMI_VSYNC */
				 <STM32_PINMUX('A', 6,  AF13)>,/* DCMI_PIXCLK */
				 <STM32_PINMUX('H', 9,  AF13)>,/* DCMI_D0 */
				 <STM32_PINMUX('H', 10, AF13)>,/* DCMI_D1 */
				 <STM32_PINMUX('H', 11, AF13)>,/* DCMI_D2 */
				 <STM32_PINMUX('H', 12, AF13)>,/* DCMI_D3 */
				 <STM32_PINMUX('H', 14, AF13)>,/* DCMI_D4 */
				 <STM32_PINMUX('I', 4,  AF13)>,/* DCMI_D5 */
				 <STM32_PINMUX('B', 8,  AF13)>,/* DCMI_D6 */
				 <STM32_PINMUX('E', 6,  AF13)>,/* DCMI_D7 */
				 <STM32_PINMUX('I', 1,  AF13)>,/* DCMI_D8 */
				 <STM32_PINMUX('H', 7,  AF13)>,/* DCMI_D9 */
				 <STM32_PINMUX('I', 3,  AF13)>,/* DCMI_D10 */
				 <STM32_PINMUX('H', 15, AF13)>;/* DCMI_D11 */
			bias-disable;
		};
	};

	dcmi_sleep_pins_a: dcmi-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 8,  ANALOG)>,/* DCMI_HSYNC */
				 <STM32_PINMUX('B', 7,  ANALOG)>,/* DCMI_VSYNC */
				 <STM32_PINMUX('A', 6,  ANALOG)>,/* DCMI_PIXCLK */
				 <STM32_PINMUX('H', 9,  ANALOG)>,/* DCMI_D0 */
				 <STM32_PINMUX('H', 10, ANALOG)>,/* DCMI_D1 */
				 <STM32_PINMUX('H', 11, ANALOG)>,/* DCMI_D2 */
				 <STM32_PINMUX('H', 12, ANALOG)>,/* DCMI_D3 */
				 <STM32_PINMUX('H', 14, ANALOG)>,/* DCMI_D4 */
				 <STM32_PINMUX('I', 4,  ANALOG)>,/* DCMI_D5 */
				 <STM32_PINMUX('B', 8,  ANALOG)>,/* DCMI_D6 */
				 <STM32_PINMUX('E', 6,  ANALOG)>,/* DCMI_D7 */
				 <STM32_PINMUX('I', 1,  ANALOG)>,/* DCMI_D8 */
				 <STM32_PINMUX('H', 7,  ANALOG)>,/* DCMI_D9 */
				 <STM32_PINMUX('I', 3,  ANALOG)>,/* DCMI_D10 */
				 <STM32_PINMUX('H', 15, ANALOG)>;/* DCMI_D11 */
		};
	};

	ethernet0_rgmii_pins_a: rgmii-0 {
		pins1 {
			pinmux = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */
				 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
				 <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */
				 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
				 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
				 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
				 <STM32_PINMUX('B', 11, AF11)>, /* ETH_RGMII_TX_CTL */
				 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */
			bias-disable;
			drive-push-pull;
			slew-rate = <2>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH_MDIO */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins3 {
			pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
				 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
				 <STM32_PINMUX('B', 0, AF11)>, /* ETH_RGMII_RXD2 */
				 <STM32_PINMUX('B', 1, AF11)>, /* ETH_RGMII_RXD3 */
				 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
				 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
			bias-disable;
		};
	};

	ethernet0_rgmii_pins_sleep_a: rgmii-sleep-0 {
		pins1 {
			pinmux = <STM32_PINMUX('G', 5, ANALOG)>, /* ETH_RGMII_CLK125 */
				 <STM32_PINMUX('G', 4, ANALOG)>, /* ETH_RGMII_GTX_CLK */
				 <STM32_PINMUX('G', 13, ANALOG)>, /* ETH_RGMII_TXD0 */
				 <STM32_PINMUX('G', 14, ANALOG)>, /* ETH_RGMII_TXD1 */
				 <STM32_PINMUX('C', 2, ANALOG)>, /* ETH_RGMII_TXD2 */
				 <STM32_PINMUX('E', 2, ANALOG)>, /* ETH_RGMII_TXD3 */
				 <STM32_PINMUX('B', 11, ANALOG)>, /* ETH_RGMII_TX_CTL */
				 <STM32_PINMUX('A', 2, ANALOG)>, /* ETH_MDIO */
				 <STM32_PINMUX('C', 1, ANALOG)>, /* ETH_MDC */
				 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_RXD0 */
				 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_RGMII_RXD1 */
				 <STM32_PINMUX('B', 0, ANALOG)>, /* ETH_RGMII_RXD2 */
				 <STM32_PINMUX('B', 1, ANALOG)>, /* ETH_RGMII_RXD3 */
				 <STM32_PINMUX('A', 1, ANALOG)>, /* ETH_RGMII_RX_CLK */
				 <STM32_PINMUX('A', 7, ANALOG)>; /* ETH_RGMII_RX_CTL */
		};
	};

	ethernet0_rmii_pins_a: rmii-0 {
		pins1 {
			pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH1_RMII_TXD0 */
				 <STM32_PINMUX('G', 14, AF11)>, /* ETH1_RMII_TXD1 */
				 <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */
				 <STM32_PINMUX('A', 1, AF0)>,   /* ETH1_RMII_REF_CLK */
				 <STM32_PINMUX('A', 2, AF11)>,  /* ETH1_MDIO */
				 <STM32_PINMUX('C', 1, AF11)>;  /* ETH1_MDC */
			bias-disable;
			drive-push-pull;
			slew-rate = <2>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('C', 4, AF11)>,  /* ETH1_RMII_RXD0 */
				 <STM32_PINMUX('C', 5, AF11)>,  /* ETH1_RMII_RXD1 */
				 <STM32_PINMUX('A', 7, AF11)>;  /* ETH1_RMII_CRS_DV */
			bias-disable;
		};
	};

	ethernet0_rmii_pins_sleep_a: rmii-sleep-0 {
		pins1 {
			pinmux = <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_RMII_TXD0 */
				 <STM32_PINMUX('G', 14, ANALOG)>, /* ETH1_RMII_TXD1 */
				 <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_RMII_TX_EN */
				 <STM32_PINMUX('A', 2, ANALOG)>,  /* ETH1_MDIO */
				 <STM32_PINMUX('C', 1, ANALOG)>,  /* ETH1_MDC */
				 <STM32_PINMUX('C', 4, ANALOG)>,  /* ETH1_RMII_RXD0 */
				 <STM32_PINMUX('C', 5, ANALOG)>,  /* ETH1_RMII_RXD1 */
				 <STM32_PINMUX('A', 1, ANALOG)>,  /* ETH1_RMII_REF_CLK */
				 <STM32_PINMUX('A', 7, ANALOG)>;  /* ETH1_RMII_CRS_DV */
		};
	};

	fmc_pins_a: fmc-0 {
		pins1 {
			pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */
				 <STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */
				 <STM32_PINMUX('D', 11, AF12)>, /* FMC_A16_FMC_CLE */
				 <STM32_PINMUX('D', 12, AF12)>, /* FMC_A17_FMC_ALE */
				 <STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */
				 <STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */
				 <STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */
				 <STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */
				 <STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */
				 <STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */
				 <STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */
				 <STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */
				 <STM32_PINMUX('G', 9, AF12)>; /* FMC_NE2_FMC_NCE */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('D', 6, AF12)>; /* FMC_NWAIT */
			bias-pull-up;
		};
	};

	fmc_sleep_pins_a: fmc-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* FMC_NOE */
				 <STM32_PINMUX('D', 5, ANALOG)>, /* FMC_NWE */
				 <STM32_PINMUX('D', 11, ANALOG)>, /* FMC_A16_FMC_CLE */
				 <STM32_PINMUX('D', 12, ANALOG)>, /* FMC_A17_FMC_ALE */
				 <STM32_PINMUX('D', 14, ANALOG)>, /* FMC_D0 */
				 <STM32_PINMUX('D', 15, ANALOG)>, /* FMC_D1 */
				 <STM32_PINMUX('D', 0, ANALOG)>, /* FMC_D2 */
				 <STM32_PINMUX('D', 1, ANALOG)>, /* FMC_D3 */
				 <STM32_PINMUX('E', 7, ANALOG)>, /* FMC_D4 */
				 <STM32_PINMUX('E', 8, ANALOG)>, /* FMC_D5 */
				 <STM32_PINMUX('E', 9, ANALOG)>, /* FMC_D6 */
				 <STM32_PINMUX('E', 10, ANALOG)>, /* FMC_D7 */
				 <STM32_PINMUX('D', 6, ANALOG)>, /* FMC_NWAIT */
				 <STM32_PINMUX('G', 9, ANALOG)>; /* FMC_NE2_FMC_NCE */
		};
	};

	i2c1_pins_a: i2c1-0 {
		pins {
			pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
				 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c1_pins_sleep_a: i2c1-1 {
		pins {
			pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */
				 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
		};
	};

	i2c1_pins_b: i2c1-2 {
		pins {
			pinmux = <STM32_PINMUX('F', 14, AF5)>, /* I2C1_SCL */
				 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c1_pins_sleep_b: i2c1-3 {
		pins {
			pinmux = <STM32_PINMUX('F', 14, ANALOG)>, /* I2C1_SCL */
				 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
		};
	};

	i2c2_pins_a: i2c2-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */
				 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c2_pins_sleep_a: i2c2-1 {
		pins {
			pinmux = <STM32_PINMUX('H', 4, ANALOG)>, /* I2C2_SCL */
				 <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
		};
	};

	i2c2_pins_b1: i2c2-2 {
		pins {
			pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c2_pins_sleep_b1: i2c2-3 {
		pins {
			pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
		};
	};

	i2c5_pins_a: i2c5-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
				 <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c5_pins_sleep_a: i2c5-1 {
		pins {
			pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* I2C5_SCL */
				 <STM32_PINMUX('A', 12, ANALOG)>; /* I2C5_SDA */

		};
	};

	i2s2_pins_a: i2s2-0 {
		pins {
			pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
				 <STM32_PINMUX('B', 9, AF5)>, /* I2S2_WS */
				 <STM32_PINMUX('A', 9, AF5)>; /* I2S2_CK */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
	};

	i2s2_pins_sleep_a: i2s2-1 {
		pins {
			pinmux = <STM32_PINMUX('I', 3, ANALOG)>, /* I2S2_SDO */
				 <STM32_PINMUX('B', 9, ANALOG)>, /* I2S2_WS */
				 <STM32_PINMUX('A', 9, ANALOG)>; /* I2S2_CK */
		};
	};

	ltdc_pins_a: ltdc-a-0 {
		pins {
			pinmux = <STM32_PINMUX('G',  7, AF14)>, /* LCD_CLK */
				 <STM32_PINMUX('I', 10, AF14)>, /* LCD_HSYNC */
				 <STM32_PINMUX('I',  9, AF14)>, /* LCD_VSYNC */
				 <STM32_PINMUX('F', 10, AF14)>, /* LCD_DE */
				 <STM32_PINMUX('H',  2, AF14)>, /* LCD_R0 */
				 <STM32_PINMUX('H',  3, AF14)>, /* LCD_R1 */
				 <STM32_PINMUX('H',  8, AF14)>, /* LCD_R2 */
				 <STM32_PINMUX('H',  9, AF14)>, /* LCD_R3 */
				 <STM32_PINMUX('H', 10, AF14)>, /* LCD_R4 */
				 <STM32_PINMUX('C',  0, AF14)>, /* LCD_R5 */
				 <STM32_PINMUX('H', 12, AF14)>, /* LCD_R6 */
				 <STM32_PINMUX('E', 15, AF14)>, /* LCD_R7 */
				 <STM32_PINMUX('E',  5, AF14)>, /* LCD_G0 */
				 <STM32_PINMUX('E',  6, AF14)>, /* LCD_G1 */
				 <STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */
				 <STM32_PINMUX('H', 14, AF14)>, /* LCD_G3 */
				 <STM32_PINMUX('H', 15, AF14)>, /* LCD_G4 */
				 <STM32_PINMUX('I',  0, AF14)>, /* LCD_G5 */
				 <STM32_PINMUX('I',  1, AF14)>, /* LCD_G6 */
				 <STM32_PINMUX('I',  2, AF14)>, /* LCD_G7 */
				 <STM32_PINMUX('D',  9, AF14)>, /* LCD_B0 */
				 <STM32_PINMUX('G', 12, AF14)>, /* LCD_B1 */
				 <STM32_PINMUX('G', 10, AF14)>, /* LCD_B2 */
				 <STM32_PINMUX('D', 10, AF14)>, /* LCD_B3 */
				 <STM32_PINMUX('I',  4, AF14)>, /* LCD_B4 */
				 <STM32_PINMUX('A',  3, AF14)>, /* LCD_B5 */
				 <STM32_PINMUX('B',  8, AF14)>, /* LCD_B6 */
				 <STM32_PINMUX('D',  8, AF14)>; /* LCD_B7 */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};
	};

	ltdc_pins_sleep_a: ltdc-a-1 {
		pins {
			pinmux = <STM32_PINMUX('G',  7, ANALOG)>, /* LCD_CLK */
				 <STM32_PINMUX('I', 10, ANALOG)>, /* LCD_HSYNC */
				 <STM32_PINMUX('I',  9, ANALOG)>, /* LCD_VSYNC */
				 <STM32_PINMUX('F', 10, ANALOG)>, /* LCD_DE */
				 <STM32_PINMUX('H',  2, ANALOG)>, /* LCD_R0 */
				 <STM32_PINMUX('H',  3, ANALOG)>, /* LCD_R1 */
				 <STM32_PINMUX('H',  8, ANALOG)>, /* LCD_R2 */
				 <STM32_PINMUX('H',  9, ANALOG)>, /* LCD_R3 */
				 <STM32_PINMUX('H', 10, ANALOG)>, /* LCD_R4 */
				 <STM32_PINMUX('C',  0, ANALOG)>, /* LCD_R5 */
				 <STM32_PINMUX('H', 12, ANALOG)>, /* LCD_R6 */
				 <STM32_PINMUX('E', 15, ANALOG)>, /* LCD_R7 */
				 <STM32_PINMUX('E',  5, ANALOG)>, /* LCD_G0 */
				 <STM32_PINMUX('E',  6, ANALOG)>, /* LCD_G1 */
				 <STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */
				 <STM32_PINMUX('H', 14, ANALOG)>, /* LCD_G3 */
				 <STM32_PINMUX('H', 15, ANALOG)>, /* LCD_G4 */
				 <STM32_PINMUX('I',  0, ANALOG)>, /* LCD_G5 */
				 <STM32_PINMUX('I',  1, ANALOG)>, /* LCD_G6 */
				 <STM32_PINMUX('I',  2, ANALOG)>, /* LCD_G7 */
				 <STM32_PINMUX('D',  9, ANALOG)>, /* LCD_B0 */
				 <STM32_PINMUX('G', 12, ANALOG)>, /* LCD_B1 */
				 <STM32_PINMUX('G', 10, ANALOG)>, /* LCD_B2 */
				 <STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B3 */
				 <STM32_PINMUX('I',  4, ANALOG)>, /* LCD_B4 */
				 <STM32_PINMUX('A',  3, ANALOG)>, /* LCD_B5 */
				 <STM32_PINMUX('B',  8, ANALOG)>, /* LCD_B6 */
				 <STM32_PINMUX('D',  8, ANALOG)>; /* LCD_B7 */
		};
	};

	ltdc_pins_b: ltdc-b-0 {
		pins {
			pinmux = <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */
				 <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */
				 <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */
				 <STM32_PINMUX('K',  7, AF14)>, /* LCD_DE */
				 <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */
				 <STM32_PINMUX('J',  0, AF14)>, /* LCD_R1 */
				 <STM32_PINMUX('J',  1, AF14)>, /* LCD_R2 */
				 <STM32_PINMUX('J',  2, AF14)>, /* LCD_R3 */
				 <STM32_PINMUX('J',  3, AF14)>, /* LCD_R4 */
				 <STM32_PINMUX('J',  4, AF14)>, /* LCD_R5 */
				 <STM32_PINMUX('J',  5, AF14)>, /* LCD_R6 */
				 <STM32_PINMUX('J',  6, AF14)>, /* LCD_R7 */
				 <STM32_PINMUX('J',  7, AF14)>, /* LCD_G0 */
				 <STM32_PINMUX('J',  8, AF14)>, /* LCD_G1 */
				 <STM32_PINMUX('J',  9, AF14)>, /* LCD_G2 */
				 <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */
				 <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */
				 <STM32_PINMUX('K',  0, AF14)>, /* LCD_G5 */
				 <STM32_PINMUX('K',  1, AF14)>, /* LCD_G6 */
				 <STM32_PINMUX('K',  2, AF14)>, /* LCD_G7 */
				 <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */
				 <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */
				 <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */
				 <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3 */
				 <STM32_PINMUX('K',  3, AF14)>, /* LCD_B4 */
				 <STM32_PINMUX('K',  4, AF14)>, /* LCD_B5 */
				 <STM32_PINMUX('K',  5, AF14)>, /* LCD_B6 */
				 <STM32_PINMUX('K',  6, AF14)>; /* LCD_B7 */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};
	};

	ltdc_pins_sleep_b: ltdc-b-1 {
		pins {
			pinmux = <STM32_PINMUX('I', 14, ANALOG)>, /* LCD_CLK */
				 <STM32_PINMUX('I', 12, ANALOG)>, /* LCD_HSYNC */
				 <STM32_PINMUX('I', 13, ANALOG)>, /* LCD_VSYNC */
				 <STM32_PINMUX('K',  7, ANALOG)>, /* LCD_DE */
				 <STM32_PINMUX('I', 15, ANALOG)>, /* LCD_R0 */
				 <STM32_PINMUX('J',  0, ANALOG)>, /* LCD_R1 */
				 <STM32_PINMUX('J',  1, ANALOG)>, /* LCD_R2 */
				 <STM32_PINMUX('J',  2, ANALOG)>, /* LCD_R3 */
				 <STM32_PINMUX('J',  3, ANALOG)>, /* LCD_R4 */
				 <STM32_PINMUX('J',  4, ANALOG)>, /* LCD_R5 */
				 <STM32_PINMUX('J',  5, ANALOG)>, /* LCD_R6 */
				 <STM32_PINMUX('J',  6, ANALOG)>, /* LCD_R7 */
				 <STM32_PINMUX('J',  7, ANALOG)>, /* LCD_G0 */
				 <STM32_PINMUX('J',  8, ANALOG)>, /* LCD_G1 */
				 <STM32_PINMUX('J',  9, ANALOG)>, /* LCD_G2 */
				 <STM32_PINMUX('J', 10, ANALOG)>, /* LCD_G3 */
				 <STM32_PINMUX('J', 11, ANALOG)>, /* LCD_G4 */
				 <STM32_PINMUX('K',  0, ANALOG)>, /* LCD_G5 */
				 <STM32_PINMUX('K',  1, ANALOG)>, /* LCD_G6 */
				 <STM32_PINMUX('K',  2, ANALOG)>, /* LCD_G7 */
				 <STM32_PINMUX('J', 12, ANALOG)>, /* LCD_B0 */
				 <STM32_PINMUX('J', 13, ANALOG)>, /* LCD_B1 */
				 <STM32_PINMUX('J', 14, ANALOG)>, /* LCD_B2 */
				 <STM32_PINMUX('J', 15, ANALOG)>, /* LCD_B3 */
				 <STM32_PINMUX('K',  3, ANALOG)>, /* LCD_B4 */
				 <STM32_PINMUX('K',  4, ANALOG)>, /* LCD_B5 */
				 <STM32_PINMUX('K',  5, ANALOG)>, /* LCD_B6 */
				 <STM32_PINMUX('K',  6, ANALOG)>; /* LCD_B7 */
		};
	};

	m_can1_pins_a: m-can1-0 {
		pins1 {
			pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('I', 9, AF9)>; /* CAN1_RX */
			bias-disable;
		};
	};

	m_can1_sleep_pins_a: m_can1-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
				 <STM32_PINMUX('I', 9, ANALOG)>; /* CAN1_RX */
		};
	};

	pwm1_pins_a: pwm1-0 {
		pins {
			pinmux = <STM32_PINMUX('E', 9, AF1)>, /* TIM1_CH1 */
				 <STM32_PINMUX('E', 11, AF1)>, /* TIM1_CH2 */
				 <STM32_PINMUX('E', 14, AF1)>; /* TIM1_CH4 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm1_sleep_pins_a: pwm1-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('E', 9, ANALOG)>, /* TIM1_CH1 */
				 <STM32_PINMUX('E', 11, ANALOG)>, /* TIM1_CH2 */
				 <STM32_PINMUX('E', 14, ANALOG)>; /* TIM1_CH4 */
		};
	};

	pwm2_pins_a: pwm2-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm2_sleep_pins_a: pwm2-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 3, ANALOG)>; /* TIM2_CH4 */
		};
	};

	pwm3_pins_a: pwm3-0 {
		pins {
			pinmux = <STM32_PINMUX('C', 7, AF2)>; /* TIM3_CH2 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm3_sleep_pins_a: pwm3-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('C', 7, ANALOG)>; /* TIM3_CH2 */
		};
	};

	pwm4_pins_a: pwm4-0 {
		pins {
			pinmux = <STM32_PINMUX('D', 14, AF2)>, /* TIM4_CH3 */
				 <STM32_PINMUX('D', 15, AF2)>; /* TIM4_CH4 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm4_sleep_pins_a: pwm4-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('D', 14, ANALOG)>, /* TIM4_CH3 */
				 <STM32_PINMUX('D', 15, ANALOG)>; /* TIM4_CH4 */
		};
	};

	pwm4_pins_b: pwm4-1 {
		pins {
			pinmux = <STM32_PINMUX('D', 13, AF2)>; /* TIM4_CH2 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm4_sleep_pins_b: pwm4-sleep-1 {
		pins {
			pinmux = <STM32_PINMUX('D', 13, ANALOG)>; /* TIM4_CH2 */
		};
	};

	pwm5_pins_a: pwm5-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 11, AF2)>; /* TIM5_CH2 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm5_sleep_pins_a: pwm5-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 11, ANALOG)>; /* TIM5_CH2 */
		};
	};

	pwm8_pins_a: pwm8-0 {
		pins {
			pinmux = <STM32_PINMUX('I', 2, AF3)>; /* TIM8_CH4 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm8_sleep_pins_a: pwm8-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('I', 2, ANALOG)>; /* TIM8_CH4 */
		};
	};

	pwm12_pins_a: pwm12-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */
			bias-pull-down;
			drive-push-pull;
			slew-rate = <0>;
		};
	};

	pwm12_sleep_pins_a: pwm12-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 6, ANALOG)>; /* TIM12_CH1 */
		};
	};

	qspi_clk_pins_a: qspi-clk-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */
			bias-disable;
			drive-push-pull;
			slew-rate = <3>;
		};
	};

	qspi_clk_sleep_pins_a: qspi-clk-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 10, ANALOG)>; /* QSPI_CLK */
		};
	};

	qspi_bk1_pins_a: qspi-bk1-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */
				 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */
				 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */
				 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */
			bias-pull-up;
			drive-push-pull;
			slew-rate = <1>;
		};
	};

	qspi_bk1_sleep_pins_a: qspi-bk1-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* QSPI_BK1_IO0 */
				 <STM32_PINMUX('F', 9, ANALOG)>, /* QSPI_BK1_IO1 */
				 <STM32_PINMUX('F', 7, ANALOG)>, /* QSPI_BK1_IO2 */
				 <STM32_PINMUX('F', 6, ANALOG)>, /* QSPI_BK1_IO3 */
				 <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */
		};
	};

	qspi_bk2_pins_a: qspi-bk2-0 {
		pins1 {
			pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */
				 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */
				 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */
				 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */
			bias-pull-up;
			drive-push-pull;
			slew-rate = <1>;
		};
	};

	qspi_bk2_sleep_pins_a: qspi-bk2-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('H', 2, ANALOG)>, /* QSPI_BK2_IO0 */
				 <STM32_PINMUX('H', 3, ANALOG)>, /* QSPI_BK2_IO1 */
				 <STM32_PINMUX('G', 10, ANALOG)>, /* QSPI_BK2_IO2 */
				 <STM32_PINMUX('G', 7, ANALOG)>, /* QSPI_BK2_IO3 */
				 <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */
		};
	};

	sai2a_pins_a: sai2a-0 {
		pins {
			pinmux = <STM32_PINMUX('I', 5, AF10)>, /* SAI2_SCK_A */
				 <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */
				 <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */
				 <STM32_PINMUX('E', 0, AF10)>; /* SAI2_MCLK_A */
			slew-rate = <0>;
			drive-push-pull;
			bias-disable;
		};
	};

	sai2a_sleep_pins_a: sai2a-1 {
		pins {
			pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* SAI2_SCK_A */
				 <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */
				 <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */
				 <STM32_PINMUX('E', 0, ANALOG)>; /* SAI2_MCLK_A */
		};
	};


	sai2a_pins_b: sai2a-2 {
		pins1 {
			pinmux = <STM32_PINMUX('I', 6, AF10)>,	/* SAI2_SD_A */
				 <STM32_PINMUX('I', 7, AF10)>,	/* SAI2_FS_A */
				 <STM32_PINMUX('D', 13, AF10)>;	/* SAI2_SCK_A */
			slew-rate = <0>;
			drive-push-pull;
			bias-disable;
		};
	};

	sai2a_sleep_pins_b: sai2a-sleep-3 {
		pins {
			pinmux = <STM32_PINMUX('I', 6, ANALOG)>,  /* SAI2_SD_A */
				 <STM32_PINMUX('I', 7, ANALOG)>,  /* SAI2_FS_A */
				 <STM32_PINMUX('D', 13, ANALOG)>; /* SAI2_SCK_A */
		};
	};

	sai2b_pins_a: sai2b-0 {
		pins1 {
			pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */
				 <STM32_PINMUX('E', 13, AF10)>, /* SAI2_FS_B */
				 <STM32_PINMUX('E', 14, AF10)>; /* SAI2_MCLK_B */
			slew-rate = <0>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
			bias-disable;
		};
	};

	sai2b_sleep_pins_a: sai2b-1 {
		pins {
			pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* SAI2_SD_B */
				 <STM32_PINMUX('E', 12, ANALOG)>, /* SAI2_SCK_B */
				 <STM32_PINMUX('E', 13, ANALOG)>, /* SAI2_FS_B */
				 <STM32_PINMUX('E', 14, ANALOG)>; /* SAI2_MCLK_B */
		};
	};

	sai2b_pins_b: sai2b-2 {
		pins {
			pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
			bias-disable;
		};
	};

	sai2b_sleep_pins_b: sai2b-3 {
		pins {
			pinmux = <STM32_PINMUX('F', 11, ANALOG)>; /* SAI2_SD_B */
		};
	};

	sai4a_pins_a: sai4a-0 {
		pins {
			pinmux = <STM32_PINMUX('B', 5, AF10)>; /* SAI4_SD_A */
			slew-rate = <0>;
			drive-push-pull;
			bias-disable;
		};
	};

	sai4a_sleep_pins_a: sai4a-1 {
		pins {
			pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* SAI4_SD_A */
		};
	};

	sdmmc1_b4_pins_a: sdmmc1-b4-0 {
		pins1 {
			pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
				 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
	};

	sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
		pins1 {
			pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('C', 11, AF12)>; /* SDMMC1_D3 */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
		pins3 {
			pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
			slew-rate = <1>;
			drive-open-drain;
			bias-disable;
		};
	};

	sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
				 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
				 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
				 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
				 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
				 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
		};
	};

	sdmmc1_dir_pins_a: sdmmc1-dir-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */
				 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */
				 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
		pins2{
			pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
			bias-pull-up;
		};
	};

	sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
				 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */
				 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
				 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
		};
	};

	sdmmc2_b4_pins_a: sdmmc2-b4-0 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
				 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
				 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
				 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
				 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-pull-up;
		};
	};

	sdmmc2_b4_od_pins_a: sdmmc2-b4-od-0 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
				 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
				 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
				 <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-pull-up;
		};
		pins3 {
			pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
			slew-rate = <1>;
			drive-open-drain;
			bias-pull-up;
		};
	};

	sdmmc2_b4_sleep_pins_a: sdmmc2-b4-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
				 <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */
				 <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
				 <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
				 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
				 <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
		};
	};

	sdmmc2_b4_pins_b: sdmmc2-b4-1 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
				 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
				 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
				 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
				 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
	};

	sdmmc2_b4_od_pins_b: sdmmc2-b4-od-1 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
				 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
				 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
				 <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
			slew-rate = <1>;
			drive-push-pull;
			bias-disable;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-disable;
		};
		pins3 {
			pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
			slew-rate = <1>;
			drive-open-drain;
			bias-disable;
		};
	};

	sdmmc2_d47_pins_a: sdmmc2-d47-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
				 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
				 <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */
				 <STM32_PINMUX('D', 3, AF9)>; /* SDMMC2_D7 */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
	};

	sdmmc2_d47_sleep_pins_a: sdmmc2-d47-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
				 <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
				 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */
				 <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */
		};
	};

	sdmmc3_b4_pins_a: sdmmc3-b4-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
				 <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
				 <STM32_PINMUX('F', 5, AF9)>, /* SDMMC3_D2 */
				 <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
				 <STM32_PINMUX('F', 1, AF9)>; /* SDMMC3_CMD */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
		pins2 {
			pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-pull-up;
		};
	};

	sdmmc3_b4_od_pins_a: sdmmc3-b4-od-0 {
		pins1 {
			pinmux = <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
				 <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
				 <STM32_PINMUX('F', 5, AF9)>, /* SDMMC3_D2 */
				 <STM32_PINMUX('D', 7, AF10)>; /* SDMMC3_D3 */
			slew-rate = <1>;
			drive-push-pull;
			bias-pull-up;
		};
		pins2 {
			pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
			slew-rate = <2>;
			drive-push-pull;
			bias-pull-up;
		};
		pins3 {
			pinmux = <STM32_PINMUX('F', 1, AF9)>; /* SDMMC2_CMD */
			slew-rate = <1>;
			drive-open-drain;
			bias-pull-up;
		};
	};

	sdmmc3_b4_sleep_pins_a: sdmmc3-b4-sleep-0 {
		pins {
			pinmux = <STM32_PINMUX('F', 0, ANALOG)>, /* SDMMC3_D0 */
				 <STM32_PINMUX('F', 4, ANALOG)>, /* SDMMC3_D1 */
				 <STM32_PINMUX('F', 5, ANALOG)>, /* SDMMC3_D2 */
				 <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
				 <STM32_PINMUX('G', 15, ANALOG)>, /* SDMMC3_CK */
				 <STM32_PINMUX('F', 1, ANALOG)>; /* SDMMC3_CMD */
		};
	};

	spdifrx_pins_a: spdifrx-0 {
		pins {
			pinmux = <STM32_PINMUX('G', 12, AF8)>; /* SPDIF_IN1 */
			bias-disable;
		};
	};

	spdifrx_sleep_pins_a: spdifrx-1 {
		pins {
			pinmux = <STM32_PINMUX('G', 12, ANALOG)>; /* SPDIF_IN1 */
		};
	};

	usart3_pins_a: usart3-0 {
		pins1 {
			pinmux = <STM32_PINMUX('B', 10, AF7)>; /* USART3_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */
			bias-disable;
		};
	};

	uart4_pins_a: uart4-0 {
		pins1 {
			pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
			bias-disable;
		};
	};

	uart4_pins_b: uart4-1 {
		pins1 {
			pinmux = <STM32_PINMUX('D', 1, AF8)>; /* UART4_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
			bias-disable;
		};
	};

	uart7_pins_a: uart7-0 {
		pins1 {
			pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART4_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART4_RX */
				 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */
				 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */
			bias-disable;
		};
	};

	uart8_pins_a: uart8-0 {
		pins1 {
			pinmux = <STM32_PINMUX('E', 1, AF8)>; /* UART8_TX */
			bias-disable;
			drive-push-pull;
			slew-rate = <0>;
		};
		pins2 {
			pinmux = <STM32_PINMUX('E', 0, AF8)>; /* UART8_RX */
			bias-disable;
		};
	};

	usbotg_hs_pins_a: usbotg-hs-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* OTG_ID */
		};
	};

	usbotg_fs_dp_dm_pins_a: usbotg-fs-dp-dm-0 {
		pins {
			pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* OTG_FS_DM */
				 <STM32_PINMUX('A', 12, ANALOG)>; /* OTG_FS_DP */
		};
	};
};

&pinctrl_z {
	i2c2_pins_b2: i2c2-0 {
		pins {
			pinmux = <STM32_PINMUX('Z', 0, AF3)>; /* I2C2_SCL */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c2_pins_sleep_b2: i2c2-1 {
		pins {
			pinmux = <STM32_PINMUX('Z', 0, ANALOG)>; /* I2C2_SCL */
		};
	};

	i2c4_pins_a: i2c4-0 {
		pins {
			pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
				 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
			bias-disable;
			drive-open-drain;
			slew-rate = <0>;
		};
	};

	i2c4_pins_sleep_a: i2c4-1 {
		pins {
			pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
				 <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
		};
	};

	spi1_pins_a: spi1-0 {
		pins1 {
			pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
				 <STM32_PINMUX('Z', 2, AF5)>; /* SPI1_MOSI */
			bias-disable;
			drive-push-pull;
			slew-rate = <1>;
		};

		pins2 {
			pinmux = <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
			bias-disable;
		};
	};
};
