/*
 * Copyright (c) 2019 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 4 0>,	/* A0 */
			   <1 0 &gpiof 10 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 &gpioj 9 0>,	/* D0 */
			   <7 0 &gpioj 8 0>,	/* D1 */
			   <8 0 &gpioj 3 0>,	/* D2 */
			   <9 0 &gpiof 8 0>,	/* D3 */
			   <10 0 &gpioj 4 0>,	/* D4 */
			   <11 0 &gpioa 6 0>,	/* D5 */
			   <12 0 &gpioj 7 0>,	/* D6 */
			   <13 0 &gpioj 0 0>,	/* D7 */
			   <14 0 &gpioj 5 0>,	/* D8 */
			   <15 0 &gpioj 6 0>,	/* D9 */
			   <16 0 &gpiok 1 0>,	/* D10 */
			   <17 0 &gpioj 10 0>,	/* D11 */
			   <18 0 &gpioj 11 0>,	/* D12 */
			   <19 0 &gpiok 0 0>,	/* D13 */
			   <20 0 &gpiod 13 0>,	/* D14 */
			   <21 0 &gpiod 12 0>;	/* D15 */
	};
};
