/*
 * Copyright (c) 2020 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 &gpioc 5 0>,	/* A0 */
			   <1 0 &gpioc 4 0>,	/* A1 */
			   <2 0 &gpioc 3 0>,	/* A2 */
			   <3 0 &gpioc 2 0>,	/* A3 */
			   <4 0 &gpioc 1 0>,	/* A4 */
			   <5 0 &gpioc 0 0>,	/* A5 */
			   <6 0 &gpioa 1 0>,	/* D0 */
			   <7 0 &gpioa 0 0>,	/* D1 */
			   <8 0 &gpiod 14 0>,	/* D2 */
			   <9 0 &gpiob 0 0>,	/* D3 */
			   <10 0 &gpioa 3 0>,	/* D4 */
			   <11 0 &gpiob 4 0>,	/* D5 */
			   <12 0 &gpiob 1 0>,	/* D6 */
			   <13 0 &gpioa 4 0>,	/* D7 */
			   <14 0 &gpiob 2 0>,	/* D8 */
			   <15 0 &gpioa 15 0>,	/* D9 */
			   <16 0 &gpioa 2 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: &uart4 {};
