FSD SoC WDT has few changes when compared to exynos7 interms of Clocks,
PMU register bits for each cluster. So use "tesla,fsd-wdt"
compatibility for using correct driver data.
FSD supports 2 Clocks for WDT (PCLK and CLK).
- use fin_pll source Clock for all timer related calculations.
- use bus Clock (IMEM_WDT0_IPCLKPORT_PCLK) to gate/ungate the register
interface. Update both as per WDT UM.
Signed-off-by: Varada Pavani <v.pavani@samsung.com>
---
arch/arm64/boot/dts/tesla/fsd.dtsi | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/arch/arm64/boot/dts/tesla/fsd.dtsi b/arch/arm64/boot/dts/tesla/fsd.dtsi
index 690b4ed9c29b..ff031a630f10 100644
--- a/arch/arm64/boot/dts/tesla/fsd.dtsi
+++ b/arch/arm64/boot/dts/tesla/fsd.dtsi
@@ -624,30 +624,36 @@ pmu_system_controller: system-controller@11400000 {
};
watchdog_0: watchdog@100a0000 {
- compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
+ compatible = "tesla,fsd-wdt";
reg = <0x0 0x100a0000 0x0 0x100>;
interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>;
samsung,syscon-phandle = <&pmu_system_controller>;
- clocks = <&fin_pll>;
- clock-names = "watchdog";
+ clocks = <&clock_imem IMEM_WDT0_IPCLKPORT_PCLK>,
+ <&fin_pll>;
+ clock-names = "watchdog", "watchdog_src";
+ samsung,cluster-index = <0>;
};
watchdog_1: watchdog@100b0000 {
- compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
+ compatible = "tesla,fsd-wdt";
reg = <0x0 0x100b0000 0x0 0x100>;
interrupts = <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>;
samsung,syscon-phandle = <&pmu_system_controller>;
- clocks = <&fin_pll>;
- clock-names = "watchdog";
+ clocks = <&clock_imem IMEM_WDT1_IPCLKPORT_PCLK>,
+ <&fin_pll>;
+ clock-names = "watchdog", "watchdog_src";
+ samsung,cluster-index = <1>;
};
watchdog_2: watchdog@100c0000 {
- compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt";
+ compatible = "tesla,fsd-wdt";
reg = <0x0 0x100c0000 0x0 0x100>;
interrupts = <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>;
samsung,syscon-phandle = <&pmu_system_controller>;
- clocks = <&fin_pll>;
- clock-names = "watchdog";
+ clocks = <&clock_imem IMEM_WDT2_IPCLKPORT_PCLK>,
+ <&fin_pll>;
+ clock-names = "watchdog", "watchdog_src";
+ samsung,cluster-index = <2>;
};
pwm_0: pwm@14100000 {
--
2.49.0
On 29/08/2025 15:56, Varada Pavani wrote: > FSD SoC WDT has few changes when compared to exynos7 interms of Clocks, > PMU register bits for each cluster. So use "tesla,fsd-wdt" So what was added in 2022? > compatibility for using correct driver data. > FSD supports 2 Clocks for WDT (PCLK and CLK). > - use fin_pll source Clock for all timer related calculations. > - use bus Clock (IMEM_WDT0_IPCLKPORT_PCLK) to gate/ungate the register > interface. Update both as per WDT UM. No, you break all the users. Probably users don't care, but I do care because I use that arguments for reviewing other patches, so I apply a bit stricter rules for existing Samsung trees. Otherwise provide rationale about impact and what was happening in 2022 with this code... Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.