// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * sama5d3xcm.dtsi - Device Tree Include file for SAMA5D3x CPU Module
 *
 *  Copyright (C) 2013 Atmel,
 *                2013 Ludovic Desroches <ludovic.desroches@atmel.com>
 */

/ {
	compatible = "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5";

	chosen {
		bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs";
		stdout-path = "serial0:115200n8";
	};

	memory@20000000 {
		reg = <0x20000000 0x20000000>;
	};

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	ahb {
		apb {
			spi0: spi@f0004000 {
				cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
			};

			tcb0: timer@f0010000 {
				timer@0 {
					compatible = "atmel,tcb-timer";
					reg = <0>;
				};

				timer@1 {
					compatible = "atmel,tcb-timer";
					reg = <1>;
				};
			};
		};

		ebi@10000000 {
			pinctrl-0 = <&pinctrl_ebi_addr &pinctrl_ebi_cs0>;
			pinctr-name = "default";
			status = "okay";

			nor: flash@0,0 {
				compatible = "cfi-flash";
				linux,mtd-name = "physmap-flash.0";
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0x0 0x0 0x1000000>;
				bank-width = <2>;
				atmel,smc-read-mode = "nrd";
				atmel,smc-write-mode = "nwe";
				atmel,smc-bus-width = <16>;
				atmel,smc-ncs-rd-setup-ns = <0>;
				atmel,smc-ncs-wr-setup-ns = <0>;
				atmel,smc-nwe-setup-ns = <8>;
				atmel,smc-nrd-setup-ns = <16>;
				atmel,smc-ncs-rd-pulse-ns = <84>;
				atmel,smc-ncs-wr-pulse-ns = <84>;
				atmel,smc-nrd-pulse-ns = <76>;
				atmel,smc-nwe-pulse-ns = <76>;
				atmel,smc-nrd-cycle-ns = <107>;
				atmel,smc-nwe-cycle-ns = <84>;
				atmel,smc-tdf-ns = <16>;
			};

			nand_controller: nand-controller {
				status = "okay";

				nand@3 {
					reg = <0x3 0x0 0x2>;
					atmel,rb = <0>;
					nand-ecc-mode = "hw";
					nand-ecc-strength = <4>;
					nand-ecc-step-size = <512>;
					nand-on-flash-bbt;
					label = "atmel_nand";

					partitions {
						compatible = "fixed-partitions";
						#address-cells = <1>;
						#size-cells = <1>;

						at91bootstrap@0 {
							label = "at91bootstrap";
							reg = <0x0 0x40000>;
						};

						bootloader@40000 {
							label = "bootloader";
							reg = <0x40000 0x80000>;
						};

						bootloaderenv@c0000 {
							label = "bootloader env";
							reg = <0xc0000 0xc0000>;
						};

						dtb@180000 {
							label = "device tree";
							reg = <0x180000 0x80000>;
						};

						kernel@200000 {
							label = "kernel";
							reg = <0x200000 0x600000>;
						};

						rootfs@800000 {
							label = "rootfs";
							reg = <0x800000 0x0f800000>;
						};
					};
				};
			};
		};
	};

	leds {
		compatible = "gpio-leds";

		d2 {
			label = "d2";
			gpios = <&pioE 25 GPIO_ACTIVE_LOW>;	/* PE25, conflicts with A25, RXD2 */
			linux,default-trigger = "heartbeat";
		};
	};
};
