dts: Add Kinetis SIM clock bindings

Adds device tree bindings for the Kinetis System Integration Module
(SIM), and defines peripheral source clocks (e.g., system clock or bus
clock) and clock gates for all Kinetis SoCs.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
This commit is contained in:
Maureen Helm 2017-08-25 17:13:39 -05:00 committed by Kumar Gala
commit 3291735d11
14 changed files with 187 additions and 60 deletions

View file

@ -1,4 +1,5 @@
#include <arm/armv7-m.dtsi>
#include <dt-bindings/clock/kinetis_sim.h>
#include <dt-bindings/i2c/i2c.h>
/ {
@ -50,8 +51,9 @@
};
sim: sim@40047000 {
compatible = "nxp,k64f-sim";
compatible = "nxp,kinetis-sim";
reg = <0x40047000 0x1060>;
label = "SIM";
clk-divider-core = <1>;
clk-divider-bus = <2>;
@ -59,7 +61,7 @@
clk-divider-flash = <5>;
clock-controller;
#clock-cells = <2>;
#clocks-cells = <3>;
};
flash-controller@4001f000 {
@ -85,6 +87,7 @@
#size-cells = <0>;
reg = <0x40066000 0x1000>;
interrupts = <24 0>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 6>;
label = "I2C_0";
status = "disabled";
};
@ -96,6 +99,7 @@
#size-cells = <0>;
reg = <0x40067000 0x1000>;
interrupts = <25 0>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 7>;
label = "I2C_1";
status = "disabled";
};
@ -107,6 +111,7 @@
#size-cells = <0>;
reg = <0x400e6000 0x1000>;
interrupts = <74 0>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1028 6>;
label = "I2C_2";
status = "disabled";
};
@ -116,6 +121,7 @@
reg = <0x4006a000 0x1000>;
interrupts = <31 0>, <32 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_CORESYS_CLK 0x1034 10>;
label = "UART_0";
pinctrl-0 = <&uart0_default>;
@ -129,6 +135,7 @@
reg = <0x4006b000 0x1000>;
interrupts = <33 0>, <34 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_CORESYS_CLK 0x1034 11>;
label = "UART_1";
status = "disabled";
@ -139,6 +146,7 @@
reg = <0x4006c000 0x1000>;
interrupts = <35 0>, <36 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 12>;
label = "UART_2";
status = "disabled";
@ -149,6 +157,7 @@
reg = <0x4006d000 0x1000>;
interrupts = <37 0>, <38 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1034 13>;
label = "UART_3";
status = "disabled";
@ -159,6 +168,7 @@
reg = <0x400ea000 0x1000>;
interrupts = <66 0>, <67 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1028 10>;
label = "UART_4";
status = "disabled";
@ -169,6 +179,7 @@
reg = <0x400eb000 0x1000>;
interrupts = <68 0>, <69 0>;
interrupt-names = "status", "error";
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1028 11>;
label = "UART_5";
status = "disabled";
@ -177,15 +188,13 @@
pinmux_a: pinmux@40049000 {
compatible = "nxp,kinetis-pinmux";
reg = <0x40049000 0xd0>;
clocks = <&sim 0x1038 9>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1038 9>;
};
pinmux_b: pinmux@4004a000 {
compatible = "nxp,kinetis-pinmux";
reg = <0x4004a000 0xd0>;
clocks = <&sim 0x1038 10>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1038 10>;
uart0_default: uart0_default {
rx-tx {
pins = <16>, <17>;
@ -211,19 +220,19 @@
pinmux_c: pinmux@4004b000 {
compatible = "nxp,kinetis-pinmux";
reg = <0x4004b000 0xd0>;
clocks = <&sim 0x1038 11>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1038 11>;
};
pinmux_d: pinmux@4004c000 {
compatible = "nxp,kinetis-pinmux";
reg = <0x4004c000 0xd0>;
clocks = <&sim 0x1038 12>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1038 12>;
};
pinmux_e: pinmux@4004d000 {
compatible = "nxp,kinetis-pinmux";
reg = <0x4004d000 0xd0>;
clocks = <&sim 0x1038 13>;
clocks = <&sim KINETIS_SIM_BUS_CLK 0x1038 13>;
};
gpioa: gpio@400ff000 {
@ -275,7 +284,7 @@
compatible = "nxp,k64f-spi";
reg = <0x4002c000 0x88>;
interrupts = <26 0>;
clocks = <&sim 0x103C 12>; /* clk gate */
clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 12>;
cs = <&gpiob 10 0>, <&gpiob 9 0>;
pinctrl-0 = <&spi0_default>;
@ -286,7 +295,7 @@
compatible = "nxp,k64f-spi";
reg = <0x4002d000 0x88>;
interrupts = <0 0>;
clocks = <&sim 0x103C 13>; /* clk gate */
clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 13>;
status = "disabled";
};