// SPDX-License-Identifier: GPL-2.0-only
/*
 * sama5d3_can.dtsi - Device Tree Include file for SAMA5D3 SoC with
 * CAN support
 *
 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
 */

#include <dt-bindings/pinctrl/at91.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	ahb {
		apb {
			pinctrl@fffff200 {
				can0 {
					pinctrl_can0_rx_tx: can0_rx_tx {
						atmel,pins =
							<AT91_PIOD 14 AT91_PERIPH_C AT91_PINCTRL_NONE	/* PD14 periph C RX, conflicts with SCK0, SPI0_NPCS1 */
							 AT91_PIOD 15 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* PD15 periph C TX, conflicts with CTS0, SPI0_NPCS2 */
					};
				};

				can1 {
					pinctrl_can1_rx_tx: can1_rx_tx {
						atmel,pins =
							<AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB14 periph B RX, conflicts with GCRS */
							 AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB15 periph B TX, conflicts with GCOL */
					};
				};

			};

			can0: can@f000c000 {
				compatible = "atmel,at91sam9x5-can";
				reg = <0xf000c000 0x300>;
				interrupts = <40 IRQ_TYPE_LEVEL_HIGH 3>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_can0_rx_tx>;
				clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
				clock-names = "can_clk";
				status = "disabled";
			};

			can1: can@f8010000 {
				compatible = "atmel,at91sam9x5-can";
				reg = <0xf8010000 0x300>;
				interrupts = <41 IRQ_TYPE_LEVEL_HIGH 3>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_can1_rx_tx>;
				clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
				clock-names = "can_clk";
				status = "disabled";
			};
		};
	};
};
