/*
 * Copyright (c) 2022 Byte-Lab d.o.o. <dev@byte-lab.com>
 *
 * 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 4 0>,	/* A0 */
			   <1 0 &gpioc 4 0>,	/* A1 */
			   <2 0 &gpioa 0 0>,	/* A2 */
			   <3 0 &gpioa 1 0>,	/* A3 */
			   <4 0 &gpioc 2 0>,	/* A4 */
			   <5 0 &gpioc 3 0>,	/* A5 */
			   <6 0 &gpioh 14 0>,	/* D0 */
			   <7 0 &gpioh 13 0>,	/* D1 */
			   <8 0 &gpioi 9 0>,	/* D2 */
			   <9 0 &gpioh 9 0>,	/* D3 */
			   <10 0 &gpioe 2 0>,	/* D4 */
			   <11 0 &gpioh 11 0>,	/* D5 */
			   <12 0 &gpioh 10 0>,	/* D6 */
			   <13 0 &gpioi 10 0>,	/* D7 */
			   <14 0 &gpiof 10 0>,	/* D8 */
			   <15 0 &gpioi 7 0>,	/* D9 */
			   <16 0 &gpioi 0 0>,	/* D10 */
			   <17 0 &gpiob 15 0>,	/* D11 */
			   <18 0 &gpiob 14 0>,	/* D12 */
			   <19 0 &gpioa 12 0>,	/* D13 */
			   <20 0 &gpiod 13 0>,	/* D14 */
			   <21 0 &gpiod 12 0>;	/* D15 */
	};
};

arduino_i2c: &i2c4 {};
arduino_spi: &spi2 {};
arduino_serial: &uart4 {};
