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

#include <nxp/nxp_rt.dtsi>

/* i.MX rt1060 has two continuous on-chip RAM, one is part of the
 * FlexRAM mapped at 0x20280000 (vs 0x20280000 on rt1050) and is
 * configurable (256KB by defaults), the other one is dedicated 512KB
 * ram (OCRAM2) mapped at 0x20200000. In order to have a continuous
 * region, we describe them in one 768Kb unique node.
 */
&ocram {
	compatible = "mmio-sram";
	reg = <0x20200000 DT_SIZE_K(768)>;
};

/* i.MX rt1060 has a second Ethernet controller. */
/ {
	soc {
		enet2: ethernet@402d4000 {
			compatible = "nxp,kinetis-ethernet";
			reg = <0x402D4000 0x628>;
			interrupts = <152 0>;
			interrupt-names = "COMMON";
			status = "disabled";
			ptp {
				compatible = "nxp,kinetis-ptp";
				status = "disabled";
				interrupts = <153 0>;
				interrupt-names = "IEEE1588_TMR";
			};
		};
	};
};

/*
 * GPIO pinmux options. These options define the pinmux settings
 * for GPIO ports on the package, so that the GPIO driver can
 * select GPIO mux options during GPIO configuration.
 */

&gpio1{
	pinmux = <&iomuxc_gpio_ad_b0_00_gpio1_io00>,
		<&iomuxc_gpio_ad_b0_01_gpio1_io01>,
		<&iomuxc_gpio_ad_b0_02_gpio1_io02>,
		<&iomuxc_gpio_ad_b0_03_gpio1_io03>,
		<&iomuxc_gpio_ad_b0_04_gpio1_io04>,
		<&iomuxc_gpio_ad_b0_05_gpio1_io05>,
		<&iomuxc_gpio_ad_b0_06_gpio1_io06>,
		<&iomuxc_gpio_ad_b0_07_gpio1_io07>,
		<&iomuxc_gpio_ad_b0_08_gpio1_io08>,
		<&iomuxc_gpio_ad_b0_09_gpio1_io09>,
		<&iomuxc_gpio_ad_b0_10_gpio1_io10>,
		<&iomuxc_gpio_ad_b0_11_gpio1_io11>,
		<&iomuxc_gpio_ad_b0_12_gpio1_io12>,
		<&iomuxc_gpio_ad_b0_13_gpio1_io13>,
		<&iomuxc_gpio_ad_b0_14_gpio1_io14>,
		<&iomuxc_gpio_ad_b0_15_gpio1_io15>,
		<&iomuxc_gpio_ad_b1_00_gpio1_io16>,
		<&iomuxc_gpio_ad_b1_01_gpio1_io17>,
		<&iomuxc_gpio_ad_b1_02_gpio1_io18>,
		<&iomuxc_gpio_ad_b1_03_gpio1_io19>,
		<&iomuxc_gpio_ad_b1_04_gpio1_io20>,
		<&iomuxc_gpio_ad_b1_05_gpio1_io21>,
		<&iomuxc_gpio_ad_b1_06_gpio1_io22>,
		<&iomuxc_gpio_ad_b1_07_gpio1_io23>,
		<&iomuxc_gpio_ad_b1_08_gpio1_io24>,
		<&iomuxc_gpio_ad_b1_09_gpio1_io25>,
		<&iomuxc_gpio_ad_b1_10_gpio1_io26>,
		<&iomuxc_gpio_ad_b1_11_gpio1_io27>,
		<&iomuxc_gpio_ad_b1_12_gpio1_io28>,
		<&iomuxc_gpio_ad_b1_13_gpio1_io29>,
		<&iomuxc_gpio_ad_b1_14_gpio1_io30>,
		<&iomuxc_gpio_ad_b1_15_gpio1_io31>;
};

&gpio2{
	pinmux = <&iomuxc_gpio_b0_00_gpio2_io00>,
		<&iomuxc_gpio_b0_01_gpio2_io01>,
		<&iomuxc_gpio_b0_02_gpio2_io02>,
		<&iomuxc_gpio_b0_03_gpio2_io03>,
		<&iomuxc_gpio_b0_04_gpio2_io04>,
		<&iomuxc_gpio_b0_05_gpio2_io05>,
		<&iomuxc_gpio_b0_06_gpio2_io06>,
		<&iomuxc_gpio_b0_07_gpio2_io07>,
		<&iomuxc_gpio_b0_08_gpio2_io08>,
		<&iomuxc_gpio_b0_09_gpio2_io09>,
		<&iomuxc_gpio_b0_10_gpio2_io10>,
		<&iomuxc_gpio_b0_11_gpio2_io11>,
		<&iomuxc_gpio_b0_12_gpio2_io12>,
		<&iomuxc_gpio_b0_13_gpio2_io13>,
		<&iomuxc_gpio_b0_14_gpio2_io14>,
		<&iomuxc_gpio_b0_15_gpio2_io15>,
		<&iomuxc_gpio_b1_00_gpio2_io16>,
		<&iomuxc_gpio_b1_01_gpio2_io17>,
		<&iomuxc_gpio_b1_02_gpio2_io18>,
		<&iomuxc_gpio_b1_03_gpio2_io19>,
		<&iomuxc_gpio_b1_04_gpio2_io20>,
		<&iomuxc_gpio_b1_05_gpio2_io21>,
		<&iomuxc_gpio_b1_06_gpio2_io22>,
		<&iomuxc_gpio_b1_07_gpio2_io23>,
		<&iomuxc_gpio_b1_08_gpio2_io24>,
		<&iomuxc_gpio_b1_09_gpio2_io25>,
		<&iomuxc_gpio_b1_10_gpio2_io26>,
		<&iomuxc_gpio_b1_11_gpio2_io27>,
		<&iomuxc_gpio_b1_12_gpio2_io28>,
		<&iomuxc_gpio_b1_13_gpio2_io29>,
		<&iomuxc_gpio_b1_14_gpio2_io30>,
		<&iomuxc_gpio_b1_15_gpio2_io31>;
};

&gpio3{
	pinmux = <&iomuxc_gpio_sd_b1_00_gpio3_io00>,
		<&iomuxc_gpio_sd_b1_01_gpio3_io01>,
		<&iomuxc_gpio_sd_b1_02_gpio3_io02>,
		<&iomuxc_gpio_sd_b1_03_gpio3_io03>,
		<&iomuxc_gpio_sd_b1_04_gpio3_io04>,
		<&iomuxc_gpio_sd_b1_05_gpio3_io05>,
		<&iomuxc_gpio_sd_b1_06_gpio3_io06>,
		<&iomuxc_gpio_sd_b1_07_gpio3_io07>,
		<&iomuxc_gpio_sd_b1_08_gpio3_io08>,
		<&iomuxc_gpio_sd_b1_09_gpio3_io09>,
		<&iomuxc_gpio_sd_b1_10_gpio3_io10>,
		<&iomuxc_gpio_sd_b1_11_gpio3_io11>,
		<&iomuxc_gpio_sd_b0_00_gpio3_io12>,
		<&iomuxc_gpio_sd_b0_01_gpio3_io13>,
		<&iomuxc_gpio_sd_b0_02_gpio3_io14>,
		<&iomuxc_gpio_sd_b0_03_gpio3_io15>,
		<&iomuxc_gpio_sd_b0_04_gpio3_io16>,
		<&iomuxc_gpio_sd_b0_05_gpio3_io17>,
		<&iomuxc_gpio_emc_32_gpio3_io18>,
		<&iomuxc_gpio_emc_33_gpio3_io19>,
		<&iomuxc_gpio_emc_34_gpio3_io20>,
		<&iomuxc_gpio_emc_35_gpio3_io21>,
		<&iomuxc_gpio_emc_36_gpio3_io22>,
		<&iomuxc_gpio_emc_37_gpio3_io23>,
		<&iomuxc_gpio_emc_38_gpio3_io24>,
		<&iomuxc_gpio_emc_39_gpio3_io25>,
		<&iomuxc_gpio_emc_40_gpio3_io26>,
		<&iomuxc_gpio_emc_41_gpio3_io27>;
};

&gpio4{
	pinmux = <&iomuxc_gpio_emc_00_gpio4_io00>,
		<&iomuxc_gpio_emc_01_gpio4_io01>,
		<&iomuxc_gpio_emc_02_gpio4_io02>,
		<&iomuxc_gpio_emc_03_gpio4_io03>,
		<&iomuxc_gpio_emc_04_gpio4_io04>,
		<&iomuxc_gpio_emc_05_gpio4_io05>,
		<&iomuxc_gpio_emc_06_gpio4_io06>,
		<&iomuxc_gpio_emc_07_gpio4_io07>,
		<&iomuxc_gpio_emc_08_gpio4_io08>,
		<&iomuxc_gpio_emc_09_gpio4_io09>,
		<&iomuxc_gpio_emc_10_gpio4_io10>,
		<&iomuxc_gpio_emc_11_gpio4_io11>,
		<&iomuxc_gpio_emc_12_gpio4_io12>,
		<&iomuxc_gpio_emc_13_gpio4_io13>,
		<&iomuxc_gpio_emc_14_gpio4_io14>,
		<&iomuxc_gpio_emc_15_gpio4_io15>,
		<&iomuxc_gpio_emc_16_gpio4_io16>,
		<&iomuxc_gpio_emc_17_gpio4_io17>,
		<&iomuxc_gpio_emc_18_gpio4_io18>,
		<&iomuxc_gpio_emc_19_gpio4_io19>,
		<&iomuxc_gpio_emc_20_gpio4_io20>,
		<&iomuxc_gpio_emc_21_gpio4_io21>,
		<&iomuxc_gpio_emc_22_gpio4_io22>,
		<&iomuxc_gpio_emc_23_gpio4_io23>,
		<&iomuxc_gpio_emc_24_gpio4_io24>,
		<&iomuxc_gpio_emc_25_gpio4_io25>,
		<&iomuxc_gpio_emc_26_gpio4_io26>,
		<&iomuxc_gpio_emc_27_gpio4_io27>,
		<&iomuxc_gpio_emc_28_gpio4_io28>,
		<&iomuxc_gpio_emc_29_gpio4_io29>,
		<&iomuxc_gpio_emc_30_gpio4_io30>,
		<&iomuxc_gpio_emc_31_gpio4_io31>;
};

&gpio5{
	pinmux = <&iomuxc_snvs_wakeup_gpio5_io00>,
		<&iomuxc_snvs_pmic_on_req_gpio5_io01>,
		<&iomuxc_snvs_pmic_stby_req_gpio5_io02>;
};

&gpio6{
	pinmux = <&iomuxc_gpio_ad_b0_00_gpio6_io00>,
		<&iomuxc_gpio_ad_b0_01_gpio6_io01>,
		<&iomuxc_gpio_ad_b0_02_gpio6_io02>,
		<&iomuxc_gpio_ad_b0_03_gpio6_io03>,
		<&iomuxc_gpio_ad_b0_04_gpio6_io04>,
		<&iomuxc_gpio_ad_b0_05_gpio6_io05>,
		<&iomuxc_gpio_ad_b0_06_gpio6_io06>,
		<&iomuxc_gpio_ad_b0_07_gpio6_io07>,
		<&iomuxc_gpio_ad_b0_08_gpio6_io08>,
		<&iomuxc_gpio_ad_b0_09_gpio6_io09>,
		<&iomuxc_gpio_ad_b0_10_gpio6_io10>,
		<&iomuxc_gpio_ad_b0_11_gpio6_io11>,
		<&iomuxc_gpio_ad_b0_12_gpio6_io12>,
		<&iomuxc_gpio_ad_b0_13_gpio6_io13>,
		<&iomuxc_gpio_ad_b0_14_gpio6_io14>,
		<&iomuxc_gpio_ad_b0_15_gpio6_io15>,
		<&iomuxc_gpio_ad_b1_00_gpio6_io16>,
		<&iomuxc_gpio_ad_b1_01_gpio6_io17>,
		<&iomuxc_gpio_ad_b1_02_gpio6_io18>,
		<&iomuxc_gpio_ad_b1_03_gpio6_io19>,
		<&iomuxc_gpio_ad_b1_04_gpio6_io20>,
		<&iomuxc_gpio_ad_b1_05_gpio6_io21>,
		<&iomuxc_gpio_ad_b1_06_gpio6_io22>,
		<&iomuxc_gpio_ad_b1_07_gpio6_io23>,
		<&iomuxc_gpio_ad_b1_08_gpio6_io24>,
		<&iomuxc_gpio_ad_b1_09_gpio6_io25>,
		<&iomuxc_gpio_ad_b1_10_gpio6_io26>,
		<&iomuxc_gpio_ad_b1_11_gpio6_io27>,
		<&iomuxc_gpio_ad_b1_12_gpio6_io28>,
		<&iomuxc_gpio_ad_b1_13_gpio6_io29>,
		<&iomuxc_gpio_ad_b1_14_gpio6_io30>,
		<&iomuxc_gpio_ad_b1_15_gpio6_io31>;
};

&gpio7{
	pinmux = <&iomuxc_gpio_b0_00_gpio7_io00>,
		<&iomuxc_gpio_b0_01_gpio7_io01>,
		<&iomuxc_gpio_b0_02_gpio7_io02>,
		<&iomuxc_gpio_b0_03_gpio7_io03>,
		<&iomuxc_gpio_b0_04_gpio7_io04>,
		<&iomuxc_gpio_b0_05_gpio7_io05>,
		<&iomuxc_gpio_b0_06_gpio7_io06>,
		<&iomuxc_gpio_b0_07_gpio7_io07>,
		<&iomuxc_gpio_b0_08_gpio7_io08>,
		<&iomuxc_gpio_b0_09_gpio7_io09>,
		<&iomuxc_gpio_b0_10_gpio7_io10>,
		<&iomuxc_gpio_b0_11_gpio7_io11>,
		<&iomuxc_gpio_b0_12_gpio7_io12>,
		<&iomuxc_gpio_b0_13_gpio7_io13>,
		<&iomuxc_gpio_b0_14_gpio7_io14>,
		<&iomuxc_gpio_b0_15_gpio7_io15>,
		<&iomuxc_gpio_b1_00_gpio7_io16>,
		<&iomuxc_gpio_b1_01_gpio7_io17>,
		<&iomuxc_gpio_b1_02_gpio7_io18>,
		<&iomuxc_gpio_b1_03_gpio7_io19>,
		<&iomuxc_gpio_b1_04_gpio7_io20>,
		<&iomuxc_gpio_b1_05_gpio7_io21>,
		<&iomuxc_gpio_b1_06_gpio7_io22>,
		<&iomuxc_gpio_b1_07_gpio7_io23>,
		<&iomuxc_gpio_b1_08_gpio7_io24>,
		<&iomuxc_gpio_b1_09_gpio7_io25>,
		<&iomuxc_gpio_b1_10_gpio7_io26>,
		<&iomuxc_gpio_b1_11_gpio7_io27>,
		<&iomuxc_gpio_b1_12_gpio7_io28>,
		<&iomuxc_gpio_b1_13_gpio7_io29>,
		<&iomuxc_gpio_b1_14_gpio7_io30>,
		<&iomuxc_gpio_b1_15_gpio7_io31>;
};

&gpio8{
	pinmux = <&iomuxc_gpio_sd_b1_00_gpio8_io00>,
		<&iomuxc_gpio_sd_b1_01_gpio8_io01>,
		<&iomuxc_gpio_sd_b1_02_gpio8_io02>,
		<&iomuxc_gpio_sd_b1_03_gpio8_io03>,
		<&iomuxc_gpio_sd_b1_04_gpio8_io04>,
		<&iomuxc_gpio_sd_b1_05_gpio8_io05>,
		<&iomuxc_gpio_sd_b1_06_gpio8_io06>,
		<&iomuxc_gpio_sd_b1_07_gpio8_io07>,
		<&iomuxc_gpio_sd_b1_08_gpio8_io08>,
		<&iomuxc_gpio_sd_b1_09_gpio8_io09>,
		<&iomuxc_gpio_sd_b1_10_gpio8_io10>,
		<&iomuxc_gpio_sd_b1_11_gpio8_io11>,
		<&iomuxc_gpio_sd_b0_00_gpio8_io12>,
		<&iomuxc_gpio_sd_b0_01_gpio8_io13>,
		<&iomuxc_gpio_sd_b0_02_gpio8_io14>,
		<&iomuxc_gpio_sd_b0_03_gpio8_io15>,
		<&iomuxc_gpio_sd_b0_04_gpio8_io16>,
		<&iomuxc_gpio_sd_b0_05_gpio8_io17>,
		<&iomuxc_gpio_emc_32_gpio8_io18>,
		<&iomuxc_gpio_emc_33_gpio8_io19>,
		<&iomuxc_gpio_emc_34_gpio8_io20>,
		<&iomuxc_gpio_emc_35_gpio8_io21>,
		<&iomuxc_gpio_emc_36_gpio8_io22>,
		<&iomuxc_gpio_emc_37_gpio8_io23>,
		<&iomuxc_gpio_emc_38_gpio8_io24>,
		<&iomuxc_gpio_emc_39_gpio8_io25>,
		<&iomuxc_gpio_emc_40_gpio8_io26>,
		<&iomuxc_gpio_emc_41_gpio8_io27>;
};

&gpio9{
	pinmux = <&iomuxc_gpio_emc_00_gpio9_io00>,
		<&iomuxc_gpio_emc_01_gpio9_io01>,
		<&iomuxc_gpio_emc_02_gpio9_io02>,
		<&iomuxc_gpio_emc_03_gpio9_io03>,
		<&iomuxc_gpio_emc_04_gpio9_io04>,
		<&iomuxc_gpio_emc_05_gpio9_io05>,
		<&iomuxc_gpio_emc_06_gpio9_io06>,
		<&iomuxc_gpio_emc_07_gpio9_io07>,
		<&iomuxc_gpio_emc_08_gpio9_io08>,
		<&iomuxc_gpio_emc_09_gpio9_io09>,
		<&iomuxc_gpio_emc_10_gpio9_io10>,
		<&iomuxc_gpio_emc_11_gpio9_io11>,
		<&iomuxc_gpio_emc_12_gpio9_io12>,
		<&iomuxc_gpio_emc_13_gpio9_io13>,
		<&iomuxc_gpio_emc_14_gpio9_io14>,
		<&iomuxc_gpio_emc_15_gpio9_io15>,
		<&iomuxc_gpio_emc_16_gpio9_io16>,
		<&iomuxc_gpio_emc_17_gpio9_io17>,
		<&iomuxc_gpio_emc_18_gpio9_io18>,
		<&iomuxc_gpio_emc_19_gpio9_io19>,
		<&iomuxc_gpio_emc_20_gpio9_io20>,
		<&iomuxc_gpio_emc_21_gpio9_io21>,
		<&iomuxc_gpio_emc_22_gpio9_io22>,
		<&iomuxc_gpio_emc_23_gpio9_io23>,
		<&iomuxc_gpio_emc_24_gpio9_io24>,
		<&iomuxc_gpio_emc_25_gpio9_io25>,
		<&iomuxc_gpio_emc_26_gpio9_io26>,
		<&iomuxc_gpio_emc_27_gpio9_io27>,
		<&iomuxc_gpio_emc_28_gpio9_io28>,
		<&iomuxc_gpio_emc_29_gpio9_io29>,
		<&iomuxc_gpio_emc_30_gpio9_io30>,
		<&iomuxc_gpio_emc_31_gpio9_io31>;
};
