/*
 * Copyright (c) 2019, Linaro
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <nxp/nxp_rt.dtsi>

&sysclk {
	clock-frequency = <500000000>;
};

/* i.MX rt1010 default FlexRAM partition:
 * ITCM: 32KB
 * DTCM: 32KB
 * OCRAM: 64KB
 */
&itcm0 {
	reg = <0x00000000 0x8000>;
};

&dtcm0 {
	reg = <0x20000000 0x8000>;
};

&ocram0 {
	reg = <0x20200000 0x10000>;
};

&gpio1 {
	interrupts = <70 0>, <71 0>;
};

&gpio5 {
	interrupts = <73 0>;
};

&gpt1 {
	interrupts = <30 0>;
};

&gpt2 {
	interrupts = <31 0>;
};

&usbd1 {
	interrupts = <25 0>;
};

&flexspi0 {
	interrupts = <26 0>;
};

&flexpwm1_pwm0 {
	interrupts = <34 0>;
};

&flexpwm1_pwm1 {
	interrupts = <35 0>;
};

&flexpwm1_pwm2 {
	interrupts = <36 0>;
};

&flexpwm1_pwm3 {
	interrupts = <37 0>;
};

&flexpwm1 {
	interrupts = <38 0>;
};

/ {
	aliases {
		gpio-2 = &gpio2_rt1010;
	};

	soc {
		gpio2_rt1010: gpio@42000000 {
			compatible = "nxp,imx-gpio";
			reg = <0x42000000 0x4000>;
			interrupts = <72 0>;
			label = "GPIO_2";
			gpio-controller;
			#gpio-cells = <2>;
		};
	};
};
