5d2670ac1f
FTM internal counter can be clocked by one of three clock sources independent of the module bus clock. This patch introduces a DT property to perform the clock selection from DT. DT sources are updated to keep the current clock selection for all boards, with exception of ucans32k1sic board which is migrated to use system clock by default, as this seems to be a better choice for most cases. Some PWM LED samples require slower clock so overlays are added for those cases. Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
299 lines
5.5 KiB
Plaintext
299 lines
5.5 KiB
Plaintext
/* SPDX-License-Identifier: Apache-2.0 */
|
|
|
|
/dts-v1/;
|
|
|
|
#include <nxp/nxp_k6x.dtsi>
|
|
#include "frdm_k64f-pinctrl.dtsi"
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
/ {
|
|
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;
|
|
magn0 = &fxos8700;
|
|
accel0 = &fxos8700;
|
|
};
|
|
|
|
chosen {
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zephyr,code-partition = &slot0_partition;
|
|
zephyr,console = &uart0;
|
|
zephyr,shell-uart = &uart0;
|
|
zephyr,uart-pipe = &uart0;
|
|
zephyr,canbus = &flexcan0;
|
|
zephyr,uart-mcumgr = &uart0;
|
|
};
|
|
|
|
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>;
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
user_button_3: button_1 {
|
|
label = "User SW3";
|
|
gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
|
|
zephyr,code = <INPUT_KEY_1>;
|
|
};
|
|
};
|
|
|
|
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_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&cpu0 {
|
|
clock-frequency = <120000000>;
|
|
};
|
|
|
|
&adc0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&adc0_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&adc1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&adc1_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&temp1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&dac0 {
|
|
status = "okay";
|
|
voltage-reference = <2>;
|
|
};
|
|
|
|
arduino_i2c: &i2c0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&i2c0_default>;
|
|
pinctrl-names = "default";
|
|
|
|
fxos8700: fxos8700@1d {
|
|
compatible = "nxp,fxos8700";
|
|
reg = <0x1d>;
|
|
int1-gpios = <&gpioc 6 GPIO_ACTIVE_LOW>;
|
|
int2-gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
arduino_spi: &spi0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&spi0_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&spi1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&spi1_default>;
|
|
pinctrl-names = "default";
|
|
cs-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
|
|
|
|
sdhc0: sdhc@0 {
|
|
compatible = "zephyr,sdhc-spi-slot";
|
|
reg = <0>;
|
|
status = "okay";
|
|
sdmmc {
|
|
compatible = "zephyr,sdmmc-disk";
|
|
status = "okay";
|
|
};
|
|
spi-max-frequency = <24000000>;
|
|
};
|
|
};
|
|
|
|
&ftm0 {
|
|
status = "okay";
|
|
compatible = "nxp,kinetis-ftm-pwm";
|
|
#pwm-cells = <3>;
|
|
pinctrl-0 = <&ftm0_default>;
|
|
pinctrl-names = "default";
|
|
clock-source = "fixed";
|
|
};
|
|
|
|
&ftm3 {
|
|
status = "okay";
|
|
compatible = "nxp,kinetis-ftm-pwm";
|
|
#pwm-cells = <3>;
|
|
pinctrl-0 = <&ftm3_default>;
|
|
pinctrl-names = "default";
|
|
clock-source = "fixed";
|
|
};
|
|
|
|
&uart0 {
|
|
status = "okay";
|
|
current-speed = <115200>;
|
|
pinctrl-0 = <&uart0_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-0 = <&uart2_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
zephyr_udc0: &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;
|
|
};
|
|
/* Note slot 0 has one additional sector,
|
|
* this is intended for use with the swap move algorithm
|
|
*/
|
|
slot0_partition: partition@10000 {
|
|
label = "image-0";
|
|
reg = <0x00010000 0x00069000>;
|
|
};
|
|
slot1_partition: partition@79000 {
|
|
label = "image-1";
|
|
reg = <0x00079000 0x00068000>;
|
|
};
|
|
storage_partition: partition@e1000 {
|
|
label = "storage";
|
|
reg = <0x000e1000 0x0001f000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&enet_mac {
|
|
status = "okay";
|
|
pinctrl-0 = <&pinmux_enet>;
|
|
pinctrl-names = "default";
|
|
phy-handle = <&phy>;
|
|
zephyr,random-mac-address;
|
|
phy-connection-type = "rmii";
|
|
};
|
|
|
|
|
|
&enet_mdio {
|
|
status = "okay";
|
|
pinctrl-0 = <&pinmux_enet_mdio>;
|
|
pinctrl-names = "default";
|
|
phy: phy@0 {
|
|
compatible = "microchip,ksz8081";
|
|
reg = <0>;
|
|
status = "okay";
|
|
mc,interface-type = "rmii-25MHz";
|
|
};
|
|
};
|
|
|
|
&enet_ptp_clock {
|
|
status = "okay";
|
|
pinctrl-0 = <&pinmux_ptp>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&flexcan0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&flexcan0_default>;
|
|
pinctrl-names = "default";
|
|
bus-speed = <125000>;
|
|
};
|
|
|
|
&edma0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pit0 {
|
|
status = "okay";
|
|
};
|