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

#include <nxp/nxp_rt1060.dtsi>

&ccm {
	arm-podf {
		clock-div = <2>;
	};

	ipg-podf {
		clock-div = <4>;
	};
};

&flexspi2 {
	status = "okay";
	reg = <0x402a4000 0x4000>, <0x70000000 DT_SIZE_M(4)>;
	/* WINBOND */
	w25q32jvwj0: w25q32jvwj@0 {
		compatible = "nxp,imx-flexspi-nor";
		size = <33554432>;
		reg = <0>;
		spi-max-frequency = <133000000>;
		status = "okay";
		jedec-id = [ef 40 16];
		erase-block-size = <4096>;
		write-block-size = <1>;
	};
};

/*
 * 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>;
};
