/*
 * 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 &gpiod 8 0>,	/* D0 */
			   <7 0 &gpiod 9 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 {};
