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

arduino_i2c: &i2c1 {};
arduino_spi: &spi3 {};
arduino_serial: &uart4 {};
