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

arduino_spi: &spi2 {};
