/*
 * Copyright (c) 2020 Pete Johanson
 *
 * SPDX-License-Identifier: MIT
 */

/ {
	pro_micro: connector {
		compatible = "sparkfun,pro-micro";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map
			= <0 0 &gpio0 0 0>		/* D0 */
			, <1 0 &gpio0 1 0>		/* D1 */
			, <2 0 &gpio0 2 0>		/* D2 */
			, <3 0 &gpio0 3 0>		/* D3 */
			, <4 0 &gpio0 4 0>		/* D4/A6 */
			, <5 0 &gpio0 5 0>		/* D5 */
			, <6 0 &gpio0 6 0>		/* D6/A7 */
			, <7 0 &gpio0 7 0>		/* D7 */
			, <8 0 &gpio0 8 0>		/* D8/A8 */
			, <9 0 &gpio0 9 0>		/* D9/A9 */
			, <10 0 &gpio0 10 0>		/* D10/A10 */
			, <16 0 &gpio0 19 0>	/* D16 */
			, <14 0 &gpio0 20 0>	/* D14 */
			, <15 0 &gpio0 18 0>	/* D15 */
			, <18 0 &gpio0 26 0>	/* D18/A0 */
			, <19 0 &gpio0 27 0>	/* D19/A1 */
			, <20 0 &gpio0 28 0>	/* D20/A2 */
			, <21 0 &gpio0 29 0>	/* D21/A3 */
			;
	};

};

pro_micro_i2c: &i2c1 {};
pro_micro_spi: &spi0 {};
pro_micro_serial: &uart0 {};
