dts/arm: st: Add clocks nodes for F0/F3/G0/G4
Add clocks nodes for F0/F3/G0/G4 series.
For F0 and G0 series, update compatible for rcc node
to specify use of dedicated "st,stm32f0-rcc" compatible.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
diff --git a/dts/arm/st/f0/stm32f0.dtsi b/dts/arm/st/f0/stm32f0.dtsi
index ccf61fd..d7026d0 100644
--- a/dts/arm/st/f0/stm32f0.dtsi
+++ b/dts/arm/st/f0/stm32f0.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
+#include <freq.h>
/ {
chosen {
@@ -31,6 +32,41 @@
compatible = "mmio-sram";
};
+ clocks {
+ clk_hse: clk-hse {
+ #clock-cells = <0>;
+ compatible = "st,stm32-hse-clock";
+ status = "disabled";
+ };
+
+ clk_hsi: clk-hsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_M(8)>;
+ status = "disabled";
+ };
+
+ clk_lse: clk-lse {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ status = "disabled";
+ };
+
+ clk_lsi: clk-lsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_K(40)>;
+ status = "disabled";
+ };
+
+ pll: pll {
+ #clock-cells = <0>;
+ compatible = "st,stm32f0-pll-clock";
+ status = "disabled";
+ };
+ };
+
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32f0-flash-controller";
@@ -51,7 +87,7 @@
};
rcc: rcc@40021000 {
- compatible = "st,stm32-rcc";
+ compatible = "st,stm32f0-rcc";
#clock-cells = <2>;
reg = <0x40021000 0x400>;
};
diff --git a/dts/arm/st/f3/stm32f3.dtsi b/dts/arm/st/f3/stm32f3.dtsi
index 18b6332..d330a58 100644
--- a/dts/arm/st/f3/stm32f3.dtsi
+++ b/dts/arm/st/f3/stm32f3.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
+#include <freq.h>
/ {
chosen {
@@ -31,6 +32,42 @@
compatible = "mmio-sram";
};
+
+ clocks {
+ clk_hse: clk-hse {
+ #clock-cells = <0>;
+ compatible = "st,stm32-hse-clock";
+ status = "disabled";
+ };
+
+ clk_hsi: clk-hsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_M(8)>;
+ status = "disabled";
+ };
+
+ clk_lse: clk-lse {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ status = "disabled";
+ };
+
+ clk_lsi: clk-lsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_K(40)>;
+ status = "disabled";
+ };
+
+ pll: pll {
+ #clock-cells = <0>;
+ compatible = "st,stm32f0-pll-clock";
+ status = "disabled";
+ };
+ };
+
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32f3-flash-controller";
diff --git a/dts/arm/st/g0/stm32g0.dtsi b/dts/arm/st/g0/stm32g0.dtsi
index cf95243..1ba3718 100644
--- a/dts/arm/st/g0/stm32g0.dtsi
+++ b/dts/arm/st/g0/stm32g0.dtsi
@@ -12,6 +12,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/pwm/pwm.h>
+#include <freq.h>
/ {
chosen {
@@ -33,6 +34,41 @@
compatible = "mmio-sram";
};
+ clocks {
+ clk_hse: clk-hse {
+ #clock-cells = <0>;
+ compatible = "st,stm32-hse-clock";
+ status = "disabled";
+ };
+
+ clk_hsi: clk-hsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_M(16)>;
+ status = "disabled";
+ };
+
+ clk_lse: clk-lse {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ status = "disabled";
+ };
+
+ clk_lsi: clk-lsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_K(32)>;
+ status = "disabled";
+ };
+
+ pll: pll {
+ #clock-cells = <0>;
+ compatible = "st,stm32g0-pll-clock";
+ status = "disabled";
+ };
+ };
+
soc {
flash: flash-controller@40022000 {
compatible = "st,stm32-flash-controller", "st,stm32g0-flash-controller";
@@ -54,7 +90,7 @@
};
rcc: rcc@40021000 {
- compatible = "st,stm32-rcc";
+ compatible = "st,stm32f0-rcc";
#clock-cells = <2>;
reg = <0x40021000 0x400>;
};
diff --git a/dts/arm/st/g4/stm32g4.dtsi b/dts/arm/st/g4/stm32g4.dtsi
index 42cbf72..8dc5a07 100644
--- a/dts/arm/st/g4/stm32g4.dtsi
+++ b/dts/arm/st/g4/stm32g4.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
+#include <freq.h>
/ {
chosen {
@@ -32,6 +33,41 @@
compatible = "mmio-sram";
};
+ clocks {
+ clk_hse: clk-hse {
+ #clock-cells = <0>;
+ compatible = "st,stm32-hse-clock";
+ status = "disabled";
+ };
+
+ clk_hsi: clk-hsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_M(16)>;
+ status = "disabled";
+ };
+
+ clk_lse: clk-lse {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ status = "disabled";
+ };
+
+ clk_lsi: clk-lsi {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <DT_FREQ_K(32)>;
+ status = "disabled";
+ };
+
+ pll: pll {
+ #clock-cells = <0>;
+ compatible = "st,stm32g4-pll-clock";
+ status = "disabled";
+ };
+ };
+
soc {
/*
* Both adc instances cannot be used in parallel right now.