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

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