// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * sama5d3xcm_cmp.dtsi - Device Tree Include file for SAMA5D36 CMP CPU Module
 *
 *  Copyright (C) 2016 Atmel,
 */

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

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory {
		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>;
				};
			};

			macb0: ethernet@f0028000 {
				phy-mode = "rgmii";
				#address-cells = <1>;
				#size-cells = <0>;

				ethernet-phy@1 {
					reg = <0x1>;
					interrupt-parent = <&pioB>;
					interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
					txen-skew-ps = <800>;
					txc-skew-ps = <3000>;
					rxdv-skew-ps = <400>;
					rxc-skew-ps = <3000>;
					rxd0-skew-ps = <400>;
					rxd1-skew-ps = <400>;
					rxd2-skew-ps = <400>;
					rxd3-skew-ps = <400>;
				};

				ethernet-phy@7 {
					reg = <0x7>;
					interrupt-parent = <&pioB>;
					interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
					txen-skew-ps = <800>;
					txc-skew-ps = <3000>;
					rxdv-skew-ps = <400>;
					rxc-skew-ps = <3000>;
					rxd0-skew-ps = <400>;
					rxd1-skew-ps = <400>;
					rxd2-skew-ps = <400>;
					rxd3-skew-ps = <400>;
				};
			};

			i2c1: i2c@f0018000 {
				pmic: act8865@5b {
					compatible = "active-semi,act8865";
					reg = <0x5b>;
					status = "disabled";

					regulators {
						vcc_1v8_reg: DCDC_REG1 {
							regulator-name = "VCC_1V8";
							regulator-min-microvolt = <1800000>;
							regulator-max-microvolt = <1800000>;
							regulator-always-on;
						};

						vcc_1v2_reg: DCDC_REG2 {
							regulator-name = "VCC_1V2";
							regulator-min-microvolt = <1100000>;
							regulator-max-microvolt = <1300000>;
							regulator-always-on;
						};

						vcc_3v3_reg: DCDC_REG3 {
							regulator-name = "VCC_3V3";
							regulator-min-microvolt = <3300000>;
							regulator-max-microvolt = <3300000>;
							regulator-always-on;
						};

						vddana_reg: LDO_REG1 {
							regulator-name = "VDDANA";
							regulator-min-microvolt = <3300000>;
							regulator-max-microvolt = <3300000>;
							regulator-always-on;
						};

						vddfuse_reg: LDO_REG2 {
							regulator-name = "FUSE_2V5";
							regulator-min-microvolt = <2500000>;
							regulator-max-microvolt = <2500000>;
						};
					};
				};
			};
		};

		ebi: ebi@10000000 {
			pinctrl-0 = <&pinctrl_ebi_nand_addr>;
			pinctrl-names = "default";
			status = "okay";

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

				nand@3 {
					reg = <0x3 0x0 0x2>;
					atmel,rb = <0>;
					nand-bus-width = <8>;
					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>;
			linux,default-trigger = "heartbeat";
		};
	};
};
