| /* SPDX-License-Identifier: Apache-2.0 */ | 
 |  | 
 | /dts-v1/; | 
 |  | 
 | #include <nxp/MK64FN1M0VLL12.dtsi> | 
 |  | 
 | / { | 
 | 	model = "NXP Freedom MK64F board"; | 
 | 	compatible = "nxp,mk64f12", "nxp,k64f", "nxp,k6x"; | 
 |  | 
 | 	aliases { | 
 | 		led0 = &green_led; | 
 | 		led1 = &blue_led; | 
 | 		led2 = &red_led; | 
 | 		sw0 = &user_button_3; | 
 | 		sw1 = &user_button_2; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		zephyr,sram = &sram0; | 
 | 		zephyr,flash = &flash0; | 
 | 		zephyr,code-partition = &slot0_partition; | 
 | 		zephyr,console = &uart0; | 
 | 		zephyr,shell-uart = &uart0; | 
 | 		zephyr,uart-pipe = &uart0; | 
 | 		zephyr,can-primary = &flexcan0; | 
 | 	}; | 
 |  | 
 | 	leds { | 
 | 		compatible = "gpio-leds"; | 
 | 		red_led: led_0 { | 
 | 			gpios = <&gpiob 22 GPIO_ACTIVE_LOW>; | 
 | 			label = "User LD1"; | 
 | 		}; | 
 | 		green_led: led_1 { | 
 | 			gpios = <&gpioe 26 GPIO_ACTIVE_LOW>; | 
 | 			label = "User LD2"; | 
 | 		}; | 
 | 		blue_led: led_2 { | 
 | 			gpios = <&gpiob 21 GPIO_ACTIVE_LOW>; | 
 | 			label = "User LD3"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	gpio_keys { | 
 | 		compatible = "gpio-keys"; | 
 | 		user_button_2: button_0 { | 
 | 			label = "User SW2"; | 
 | 			gpios = <&gpioc 6 GPIO_ACTIVE_LOW>; | 
 | 		}; | 
 | 		user_button_3: button_1 { | 
 | 			label = "User SW3"; | 
 | 			gpios = <&gpioa 4 GPIO_ACTIVE_LOW>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	arduino_header: connector { | 
 | 		compatible = "arduino-header-r3"; | 
 | 		#gpio-cells = <2>; | 
 | 		gpio-map-mask = <0xffffffff 0xffffffc0>; | 
 | 		gpio-map-pass-thru = <0 0x3f>; | 
 | 		gpio-map = <0 0 &gpiob 2 0>,	/* A0 */ | 
 | 			   <1 0 &gpiob 3 0>,	/* A1 */ | 
 | 			   <2 0 &gpiob 10 0>,	/* A2 */ | 
 | 			   <3 0 &gpiob 11 0>,	/* A3 */ | 
 | 			   <4 0 &gpioc 11 0>,	/* A4 */ | 
 | 			   <5 0 &gpioc 10 0>,	/* A5 */ | 
 | 			   <6 0 &gpioc 16 0>,	/* D0 */ | 
 | 			   <7 0 &gpioc 17 0>,	/* D1 */ | 
 | 			   <8 0 &gpiob 9 0>,	/* D2 */ | 
 | 			   <9 0 &gpioa 1 0>,	/* D3 */ | 
 | 			   <10 0 &gpiob 23 0>,	/* D4 */ | 
 | 			   <11 0 &gpioa 2 0>,	/* D5 */ | 
 | 			   <12 0 &gpioc 2 0>,	/* D6 */ | 
 | 			   <13 0 &gpioc 3 0>,	/* D7 */ | 
 | 			   /* NOTE: HW Rev D and below use: */ | 
 | 			   /* <14 0 &gpioa 0 0>, */ | 
 | 			   /* NOTE: HW Rev E and on use: */ | 
 | 			   <14 0 &gpioc 12 0>,	/* D8 */ | 
 | 			   <15 0 &gpioc 4 0>,	/* D9 */ | 
 | 			   <16 0 &gpiod 0 0>,	/* D10 */ | 
 | 			   <17 0 &gpiod 2 0>,	/* D11 */ | 
 | 			   <18 0 &gpiod 3 0>,	/* D12 */ | 
 | 			   <19 0 &gpiod 1 0>,	/* D13 */ | 
 | 			   <20 0 &gpioe 25 0>,	/* D14 */ | 
 | 			   <21 0 &gpioe 24 0>;	/* D15 */ | 
 | 	}; | 
 | }; | 
 |  | 
 | &sim { | 
 | 	pllfll-select = <KINETIS_SIM_PLLFLLSEL_MCGPLLCLK>; | 
 | 	er32k-select = <KINETIS_SIM_ER32KSEL_RTC>; | 
 | }; | 
 |  | 
 | arduino_serial: &uart3 { | 
 | 	status = "okay"; | 
 | 	current-speed = <115200>; | 
 | 	pinctrl-0 = <&UART3_RX_PTC16 &UART3_TX_PTC17>; | 
 | }; | 
 |  | 
 | &cpu0 { | 
 | 	clock-frequency = <120000000>; | 
 | }; | 
 |  | 
 | &adc0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &adc1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &temp1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &dac0 { | 
 | 	status = "okay"; | 
 | 	voltage-reference = <2>; | 
 | }; | 
 |  | 
 | arduino_i2c: &i2c0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&I2C0_SCL_PTE24 &I2C0_SDA_PTE25>; | 
 |  | 
 | 	fxos8700@1d { | 
 | 		compatible = "nxp,fxos8700"; | 
 | 		reg = <0x1d>; | 
 | 		label = "FXOS8700"; | 
 | 		int1-gpios = <&gpioc 6 GPIO_ACTIVE_LOW>; | 
 | 		int2-gpios = <&gpioc 13 GPIO_ACTIVE_LOW>; | 
 | 	}; | 
 | }; | 
 |  | 
 | arduino_spi: &spi0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&SPI0_PCS0_PTD0 &SPI0_SCK_PTD1 &SPI0_SOUT_PTD2 &SPI0_SIN_PTD3>; | 
 | }; | 
 |  | 
 | &ftm0 { | 
 | 	status = "okay"; | 
 | 	compatible = "nxp,kinetis-ftm-pwm"; | 
 | 	#pwm-cells = <3>; | 
 | 	pinctrl-0 = <&FTM0_CH0_PTC1>; | 
 | }; | 
 |  | 
 | &ftm3 { | 
 | 	status = "okay"; | 
 | 	compatible = "nxp,kinetis-ftm-pwm"; | 
 | 	#pwm-cells = <3>; | 
 | 	pinctrl-0 = <&FTM3_CH4_PTC8 &FTM3_CH5_PTC9>; | 
 | }; | 
 |  | 
 | &uart0 { | 
 | 	status = "okay"; | 
 | 	current-speed = <115200>; | 
 | 	pinctrl-0 = <&UART0_RX_PTB16 &UART0_TX_PTB17>; | 
 | }; | 
 |  | 
 | &uart2 { | 
 | 	pinctrl-0 = <&UART2_RTS_b_PTD0 &UART2_CTS_b_PTD1 &UART2_RX_PTD2 &UART2_TX_PTD3>; | 
 | }; | 
 |  | 
 | &usbotg { | 
 | 	compatible = "nxp,kinetis-usbd"; | 
 | 	status = "okay"; | 
 | 	num-bidir-endpoints = <8>; | 
 | }; | 
 |  | 
 | &gpioa { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gpiob { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gpioc { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gpiod { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gpioe { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &flash0 { | 
 |  | 
 | 	partitions { | 
 | 		compatible = "fixed-partitions"; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 |  | 
 | 		boot_partition: partition@0 { | 
 | 			label = "mcuboot"; | 
 | 			reg = <0x00000000 0x00010000>; | 
 | 			read-only; | 
 | 		}; | 
 |  | 
 | 		/* | 
 | 		 * The flash starting at 0x00010000 and ending at | 
 | 		 * 0x0001ffff (sectors 16-31) is reserved for use | 
 | 		 * by the application. | 
 | 		 */ | 
 | 		storage_partition: partition@1e000 { | 
 | 			label = "storage"; | 
 | 			reg = <0x0001e000 0x00002000>; | 
 | 		}; | 
 |  | 
 | 		slot0_partition: partition@20000 { | 
 | 			label = "image-0"; | 
 | 			reg = <0x00020000 0x00060000>; | 
 | 		}; | 
 | 		slot1_partition: partition@80000 { | 
 | 			label = "image-1"; | 
 | 			reg = <0x00080000 0x00060000>; | 
 | 		}; | 
 | 		scratch_partition: partition@e0000 { | 
 | 			label = "image-scratch"; | 
 | 			reg = <0x000e0000 0x00020000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &enet { | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&RMII0_RXER_PTA5 &RMII0_RXD1_PTA12 | 
 | 		     &RMII0_RXD0_PTA13 &RMII0_CRS_DV_PTA14 | 
 | 		     &RMII0_TXEN_PTA15 &RMII0_TXD0_PTA16 | 
 | 		     &RMII0_TXD1_PTA17 &RMII0_MDIO_PTB0 | 
 | 		     &RMII0_MDC_PTB1>; | 
 | 	ptp { | 
 | 		status = "okay"; | 
 | 		pinctrl-0 = <&ENET0_1588_TMR0_PTC16 &ENET0_1588_TMR1_PTC17 | 
 | 			     &ENET0_1588_TMR2_PTC18>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &RMII0_MDIO_PTB0 { | 
 | 	bias-pull-up; | 
 | 	drive-open-drain; | 
 | }; | 
 |  | 
 | &flexcan0 { | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&CAN0_TX_PTB18 &CAN0_RX_PTB19>; | 
 | 	bus-speed = <125000>; | 
 | }; | 
 |  | 
 | &CAN0_RX_PTB19 { | 
 | 	bias-pull-up; | 
 | }; | 
 |  | 
 | &edma0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pit0 { | 
 | 	status = "okay"; | 
 | }; |