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

arduino_i2c: &i2c3 {};
arduino_spi: &spi2 {};
