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

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