/*
 * Copyright (c) 2020 Gerson Fernando Budke <nandojve@gmail.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include "pinctrl_atmel_sam.h"

/ {
	soc {
		pinctrl@400e1000 {
			/* instance, signal, pio, pin, peripheral */
			DT_ATMEL_GPIO(spi, miso, a, 3, b);
			DT_ATMEL_GPIO(spi, miso, a, 21, a);
			DT_ATMEL_GPIO(spi, miso, a, 27, a);
			DT_ATMEL_GPIO(spi, miso, b, 14, b);
			DT_ATMEL_GPIO(spi, miso, c, 4, a);
			DT_ATMEL_GPIO(spi, miso, c, 28, b);
			DT_ATMEL_GPIO(spi, mosi, a, 22, a);
			DT_ATMEL_GPIO(spi, mosi, a, 28, a);
			DT_ATMEL_GPIO(spi, mosi, b, 15, b);
			DT_ATMEL_GPIO(spi, mosi, c, 5, a);
			DT_ATMEL_GPIO(spi, mosi, c, 29, b);
			DT_ATMEL_GPIO(spi, npcs0, a, 2, b);
			DT_ATMEL_GPIO(spi, npcs0, a, 24, a);
			DT_ATMEL_GPIO(spi, npcs0, a, 30, a);
			DT_ATMEL_GPIO(spi, npcs0, c, 3, a);
			DT_ATMEL_GPIO(spi, npcs0, c, 31, b);
			DT_ATMEL_GPIO(spi, npcs1, a, 13, c);
			DT_ATMEL_GPIO(spi, npcs1, a, 31, a);
			DT_ATMEL_GPIO(spi, npcs1, b, 13, b);
			DT_ATMEL_GPIO(spi, npcs1, c, 2, a);
			DT_ATMEL_GPIO(spi, npcs2, a, 14, c);
			DT_ATMEL_GPIO(spi, npcs2, b, 11, b);
			DT_ATMEL_GPIO(spi, npcs2, c, 0, a);
			DT_ATMEL_GPIO(spi, npcs3, a, 15, c);
			DT_ATMEL_GPIO(spi, npcs3, b, 12, b);
			DT_ATMEL_GPIO(spi, npcs3, c, 1, a);
			DT_ATMEL_GPIO(spi, sck, a, 23, a);
			DT_ATMEL_GPIO(spi, sck, a, 29, a);
			DT_ATMEL_GPIO(spi, sck, c, 6, a);
			DT_ATMEL_GPIO(spi, sck, c, 30, b);
			DT_ATMEL_GPIO(twi0, twck0, a, 24, b);
			DT_ATMEL_GPIO(twi0, twd0, a, 23, b);
			DT_ATMEL_GPIO(twi1, twck1, b, 1, a);
			DT_ATMEL_GPIO(twi1, twd1, b, 0, a);
			DT_ATMEL_GPIO(twi2, twck2, a, 22, e);
			DT_ATMEL_GPIO(twi2, twd2, a, 21, e);
			DT_ATMEL_GPIO(twi3, twck3, b, 15, c);
			DT_ATMEL_GPIO(twi3, twd3, b, 14, c);
			DT_ATMEL_GPIO(usart0, cts0, a, 9, a);
			DT_ATMEL_GPIO(usart0, cts0, b, 11, a);
			DT_ATMEL_GPIO(usart0, cts0, c, 2, b);
			DT_ATMEL_GPIO(usart0, rts0, a, 6, b);
			DT_ATMEL_GPIO(usart0, rts0, a, 8, a);
			DT_ATMEL_GPIO(usart0, rts0, b, 12, a);
			DT_ATMEL_GPIO(usart0, rts0, c, 1, b);
			DT_ATMEL_GPIO(usart0, rxd0, a, 5, b);
			DT_ATMEL_GPIO(usart0, rxd0, a, 11, a);
			DT_ATMEL_GPIO(usart0, rxd0, b, 0, b);
			DT_ATMEL_GPIO(usart0, rxd0, b, 14, a);
			DT_ATMEL_GPIO(usart0, rxd0, c, 2, c);
			DT_ATMEL_GPIO(usart0, clk0, a, 4, b);
			DT_ATMEL_GPIO(usart0, clk0, a, 10, a);
			DT_ATMEL_GPIO(usart0, clk0, b, 13, a);
			DT_ATMEL_GPIO(usart0, clk0, c, 0, b);
			DT_ATMEL_GPIO(usart0, txd0, a, 7, b);
			DT_ATMEL_GPIO(usart0, txd0, a, 12, a);
			DT_ATMEL_GPIO(usart0, txd0, b, 1, b);
			DT_ATMEL_GPIO(usart0, txd0, b, 15, a);
			DT_ATMEL_GPIO(usart0, txd0, c, 3, c);
			DT_ATMEL_GPIO(usart1, cts1, a, 21, b);
			DT_ATMEL_GPIO(usart1, rts1, a, 13, a);
			DT_ATMEL_GPIO(usart1, rts1, b, 2, b);
			DT_ATMEL_GPIO(usart1, rts1, c, 24, a);
			DT_ATMEL_GPIO(usart1, rxd1, a, 15, a);
			DT_ATMEL_GPIO(usart1, rxd1, b, 4, b);
			DT_ATMEL_GPIO(usart1, rxd1, c, 26, a);
			DT_ATMEL_GPIO(usart1, clk1, a, 14, a);
			DT_ATMEL_GPIO(usart1, clk1, b, 3, b);
			DT_ATMEL_GPIO(usart1, clk1, c, 25, a);
			DT_ATMEL_GPIO(usart1, txd1, a, 16, a);
			DT_ATMEL_GPIO(usart1, txd1, b, 5, b);
			DT_ATMEL_GPIO(usart1, txd1, c, 27, a);
			DT_ATMEL_GPIO(usart2, cts2, a, 22, b);
			DT_ATMEL_GPIO(usart2, cts2, c, 8, e);
			DT_ATMEL_GPIO(usart2, rts2, a, 17, a);
			DT_ATMEL_GPIO(usart2, rts2, c, 7, b);
			DT_ATMEL_GPIO(usart2, rxd2, a, 19, a);
			DT_ATMEL_GPIO(usart2, rxd2, a, 25, b);
			DT_ATMEL_GPIO(usart2, rxd2, c, 11, b);
			DT_ATMEL_GPIO(usart2, clk2, a, 18, a);
			DT_ATMEL_GPIO(usart2, clk2, c, 8, b);
			DT_ATMEL_GPIO(usart2, txd2, a, 20, a);
			DT_ATMEL_GPIO(usart2, txd2, a, 26, b);
			DT_ATMEL_GPIO(usart2, txd2, c, 12, b);
			DT_ATMEL_GPIO(usart3, cts3, a, 28, e);
			DT_ATMEL_GPIO(usart3, cts3, b, 7, a);
			DT_ATMEL_GPIO(usart3, rts3, a, 27, e);
			DT_ATMEL_GPIO(usart3, rts3, b, 6, a);
			DT_ATMEL_GPIO(usart3, rts3, c, 13, b);
			DT_ATMEL_GPIO(usart3, rts3, c, 30, a);
			DT_ATMEL_GPIO(usart3, rxd3, a, 30, a);
			DT_ATMEL_GPIO(usart3, rxd3, b, 9, a);
			DT_ATMEL_GPIO(usart3, rxd3, c, 9, b);
			DT_ATMEL_GPIO(usart3, rxd3, c, 28, a);
			DT_ATMEL_GPIO(usart3, clk3, a, 29, e);
			DT_ATMEL_GPIO(usart3, clk3, b, 8, a);
			DT_ATMEL_GPIO(usart3, clk3, c, 14, b);
			DT_ATMEL_GPIO(usart3, clk3, c, 31, a);
			DT_ATMEL_GPIO(usart3, txd3, a, 31, e);
			DT_ATMEL_GPIO(usart3, txd3, b, 10, a);
			DT_ATMEL_GPIO(usart3, txd3, c, 10, b);
			DT_ATMEL_GPIO(usart3, txd3, c, 29, a);
			DT_ATMEL_GPIO(usbc, dm, a, 25, a);
			DT_ATMEL_GPIO(usbc, dp, a, 26, a);
		};
	};
};
