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

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