Skip to content

Commit 896cc20

Browse files
committed
Merge tag 'samsung-dt64-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.20 1. ExynosAutov920: - Add MFD clock controller node. 2. Google GS101: - Add True Random Number Generator (TRNG) and OTP nvmem nodes. - Correct the PMU (Power Management Unit) compatibles by dropping fallback to syscon. The PMU on Samsung devices serves the role of syscon, however on GS101 it cannot be used via standard Linux syscon interface, because register accesses require custom regmap. It was simply never correctly working with "syscon" compatible fallback. - Add phandles to System Registers SYSREG blocks in clock controllers, necessary for enabling automatic clock control later. * tag 'samsung-dt64-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: gs101: add OTP node arm64: dts: exynos: gs101: add samsung,sysreg property to CMU nodes arm64: dts: exynosautov920: add CMU_MFD clock DT nodes arm64: dts: exynos: gs101: remove syscon compatible from pmu node dt-bindings: soc: samsung: exynos-pmu: remove syscon for google,gs101-pmu arm64: dts: exynos: gs101: add TRNG node dt-bindings: rng: add google,gs101-trng compatible Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 6b82510 + 9afdf3e commit 896cc20

4 files changed

Lines changed: 47 additions & 5 deletions

File tree

Documentation/devicetree/bindings/rng/samsung,exynos5250-trng.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@ maintainers:
1212

1313
properties:
1414
compatible:
15-
enum:
16-
- samsung,exynos5250-trng
17-
- samsung,exynos850-trng
15+
oneOf:
16+
- enum:
17+
- samsung,exynos5250-trng
18+
- samsung,exynos850-trng
19+
- items:
20+
- const: google,gs101-trng
21+
- const: samsung,exynos850-trng
1822

1923
clocks:
2024
minItems: 1
@@ -24,6 +28,9 @@ properties:
2428
minItems: 1
2529
maxItems: 2
2630

31+
power-domains:
32+
maxItems: 1
33+
2734
reg:
2835
maxItems: 1
2936

Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ select:
3434
properties:
3535
compatible:
3636
oneOf:
37+
- enum:
38+
- google,gs101-pmu
3739
- items:
3840
- enum:
39-
- google,gs101-pmu
4041
- samsung,exynos3250-pmu
4142
- samsung,exynos4210-pmu
4243
- samsung,exynos4212-pmu

arch/arm64/boot/dts/exynos/exynosautov920.dtsi

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,6 +1462,17 @@
14621462
"wfd";
14631463
};
14641464

1465+
cmu_mfd: clock-controller@19e00000 {
1466+
compatible = "samsung,exynosautov920-cmu-mfd";
1467+
reg = <0x19e00000 0x8000>;
1468+
#clock-cells = <1>;
1469+
1470+
clocks = <&xtcxo>,
1471+
<&cmu_top DOUT_CLKCMU_MFD_NOC>;
1472+
clock-names = "oscclk",
1473+
"noc";
1474+
};
1475+
14651476
pinctrl_aud: pinctrl@1a460000 {
14661477
compatible = "samsung,exynosautov920-pinctrl";
14671478
reg = <0x1a460000 0x10000>;

arch/arm64/boot/dts/exynos/google/gs101.dtsi

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,13 +571,22 @@
571571
#size-cells = <1>;
572572
ranges = <0x0 0x0 0x0 0x40000000>;
573573

574+
efuse@10000000 {
575+
compatible = "google,gs101-otp";
576+
reg = <0x10000000 0xf084>;
577+
clocks = <&cmu_misc CLK_GOUT_MISC_OTP_CON_TOP_PCLK>;
578+
clock-names = "pclk";
579+
interrupts = <GIC_SPI 752 IRQ_TYPE_LEVEL_HIGH 0>;
580+
};
581+
574582
cmu_misc: clock-controller@10010000 {
575583
compatible = "google,gs101-cmu-misc";
576584
reg = <0x10010000 0x10000>;
577585
#clock-cells = <1>;
578586
clocks = <&cmu_top CLK_DOUT_CMU_MISC_BUS>,
579587
<&cmu_top CLK_DOUT_CMU_MISC_SSS>;
580588
clock-names = "bus", "sss";
589+
samsung,sysreg = <&sysreg_misc>;
581590
};
582591

583592
sysreg_misc: syscon@10030000 {
@@ -630,6 +639,15 @@
630639
status = "disabled";
631640
};
632641

642+
trng: rng@10141400 {
643+
compatible = "google,gs101-trng",
644+
"samsung,exynos850-trng";
645+
reg = <0x10141400 0x100>;
646+
clocks = <&cmu_misc CLK_GOUT_MISC_SSS_I_ACLK>,
647+
<&cmu_misc CLK_GOUT_MISC_SSS_I_PCLK>;
648+
clock-names = "secss", "pclk";
649+
};
650+
633651
gic: interrupt-controller@10400000 {
634652
compatible = "arm,gic-v3";
635653
#address-cells = <0>;
@@ -662,6 +680,7 @@
662680
<&cmu_top CLK_DOUT_CMU_PERIC0_BUS>,
663681
<&cmu_top CLK_DOUT_CMU_PERIC0_IP>;
664682
clock-names = "oscclk", "bus", "ip";
683+
samsung,sysreg = <&sysreg_peric0>;
665684
};
666685

667686
sysreg_peric0: syscon@10820000 {
@@ -1208,6 +1227,7 @@
12081227
<&cmu_top CLK_DOUT_CMU_PERIC1_BUS>,
12091228
<&cmu_top CLK_DOUT_CMU_PERIC1_IP>;
12101229
clock-names = "oscclk", "bus", "ip";
1230+
samsung,sysreg = <&sysreg_peric1>;
12111231
};
12121232

12131233
sysreg_peric1: syscon@10c20000 {
@@ -1566,6 +1586,7 @@
15661586
<&cmu_top CLK_DOUT_CMU_HSI0_USBDPDBG>;
15671587
clock-names = "oscclk", "bus", "dpgtc", "usb31drd",
15681588
"usbdpdbg";
1589+
samsung,sysreg = <&sysreg_hsi0>;
15691590
};
15701591

15711592
sysreg_hsi0: syscon@11020000 {
@@ -1637,6 +1658,7 @@
16371658
<&cmu_top CLK_DOUT_CMU_HSI2_UFS_EMBD>,
16381659
<&cmu_top CLK_DOUT_CMU_HSI2_MMC_CARD>;
16391660
clock-names = "oscclk", "bus", "pcie", "ufs", "mmc";
1661+
samsung,sysreg = <&sysreg_hsi2>;
16401662
};
16411663

16421664
sysreg_hsi2: syscon@14420000 {
@@ -1697,6 +1719,7 @@
16971719

16981720
clocks = <&ext_24_5m>;
16991721
clock-names = "oscclk";
1722+
samsung,sysreg = <&sysreg_apm>;
17001723
};
17011724

17021725
sysreg_apm: syscon@17420000 {
@@ -1705,7 +1728,7 @@
17051728
};
17061729

17071730
pmu_system_controller: system-controller@17460000 {
1708-
compatible = "google,gs101-pmu", "syscon";
1731+
compatible = "google,gs101-pmu";
17091732
reg = <0x17460000 0x10000>;
17101733
google,pmu-intr-gen-syscon = <&pmu_intr_gen>;
17111734

0 commit comments

Comments
 (0)