/*
 * 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 &gpioc 0 0>,	/* A0 */
			   <1 0 &gpioc 2 0>,	/* A1 */
			   <2 0 &gpioc 4 0>,	/* A2 */
			   <3 0 &gpioc 5 0>,	/* A3 */
			   <4 0 &gpioa 7 0>,	/* A4 */
			   <5 0 &gpiob 0 0>,	/* A5 */
			   <6 0 &gpioc 11 0>,	/* D0 */
			   <7 0 &gpioc 10 0>,	/* D1 */
			   <8 0 &gpiod 15 0>,	/* D2 */
			   <9 0 &gpiob 2 0>,	/* D3 */
			   <10 0 &gpioe 7 0>,	/* D4 */
			   <11 0 &gpioe 0 0>,	/* D5 */
			   <12 0 &gpiob 6 0>,	/* D6 */
			   <13 0 &gpiof 13 0>,	/* D7 */
			   <14 0 &gpioc 1 0>,	/* D8 */
			   <15 0 &gpioa 8 0>,	/* D9 */
			   <16 0 &gpioe 12 0>,	/* D10 */
			   <17 0 &gpioe 15 0>,	/* D11 */
			   <18 0 &gpioe 14 0>,	/* D12 */
			   <19 0 &gpioe 13 0>,	/* D13 */
			   <20 0 &gpiob 9 0>,	/* D14 */
			   <21 0 &gpiob 8 0>;	/* D15 */
	};
};

arduino_spi: &spi1 {};
arduino_i2c: &i2c1 {};
arduino_serial: &usart3 {};
