/*
 * Copyright (c) 2021 STMicroelectronics
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/ {
	arduino_header: connector {
		compatible = "arduino-header-r3";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map = <0 0 &gpioa 6 0>,	/* A0 */
			   <1 0 &gpioa 4 0>,	/* A1 */
			   <2 0 &gpioc 4 0>,	/* A2 */
			   <3 0 &gpiof 10 0>,	/* A3 */
			   <4 0 &gpioc 0 0>,	/* A4 */
			   <5 0 &gpioc 1 0>,	/* A5 */
			   <6 0 &gpioa 3 0>,	/* D0 */
			   <7 0 &gpioa 2 0>,	/* D1 */
			   <8 0 &gpioc 5 0>,	/* D2 */
			   <9 0 &gpioe 5 0>,	/* D3 */
			   <10 0 &gpioh 3 0>,	/* D4 */
			   <11 0 &gpiob 0 0>,	/* D5 */
			   <12 0 &gpioe 6 0>,	/* D6 */
			   <13 0 &gpioe 3 0>,	/* D7 */
			   <14 0 &gpioe 4 0>,	/* D8 */
			   <15 0 &gpioh 6 0>,	/* D9 */
			   <16 0 &gpioa 1 0>,	/* D10 */
			   <17 0 &gpiob 5 0>,	/* D11 */
			   <18 0 &gpiob 4 0>,	/* D12 */
			   <19 0 &gpioa 5 0>,	/* D13 */
			   <20 0 &gpioh 5 0>,	/* D14 */
			   <21 0 &gpioh 4 0>;	/* D15 */
	};
};

arduino_i2c: &i2c2 {};
arduino_spi: &spi1 {};
arduino_serial: &usart2 {};
