Skip to content

Commit ec5b7be

Browse files
committed
Merge tag 'samsung-drivers-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers
Samsung SoC driver changes for v6.8 1. Add support for Google GS101 SoC to different drivers: clock controller, serial and watchdog. The clock driver changes depend on few bindings headers, which I put in a topic branch with the bindings refactoring and GS101 support, therefore this this pull request includes that bindings topic branch. The rest of the bindings topic branch is not necessary here, however keeping everything together makes it easier to share between branches. The bindings topic branch is mostly refactoring all the compatibles to add SoC-specific compatible followed by fallback. 2. Exynos ChipID: recognize ExynosAutov920. * tag 'samsung-drivers-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (40 commits) dt-bindings: clock: google,gs101: rename CMU_TOP gate defines watchdog: s3c2410_wdt: Add support for Google gs101 SoC watchdog: s3c2410_wdt: Update QUIRK macros to use BIT macro watchdog: s3c2410_wdt: Add support for WTCON register DBGACK_MASK bit tty: serial: samsung: Add gs101 compatible and common fifoszdt_serial_drv_data clk: samsung: clk-gs101: Add cmu_top, cmu_misc and cmu_apm support clk: samsung: clk-pll: Add support for pll_{0516,0517,518} dt-bindings: clock: google,gs101: fix incorrect numbering and DGB suffix dt-bindings: soc: samsung: usi: add google,gs101-usi compatible dt-bindings: serial: samsung: Make samsung,uart-fifosize a required property dt-bindings: serial: samsung: Add google-gs101-uart compatible dt-bindings: watchdog: Document Google gs101 watchdog bindings dt-bindings: samsung: exynos-sysreg: combine exynosautov920 with other enum dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101 dt-bindings: clock: Add Google gs101 clock management unit bindings dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible dt-bindings: watchdog: samsung: add specific compatible for Tesla FSD dt-bindings: samsung: exynos-pmu: add specific compatible for Tesla FSD dt-bindings: serial: samsung: add specific compatible for Tesla FSD dt-bindings: pwm: samsung: add specific compatible for Tesla FSD ... Link: https://lore.kernel.org/r/20231220084722.22149-1-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 8eb0b1e + 35f32e3 commit ec5b7be

25 files changed

Lines changed: 3285 additions & 68 deletions

Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,12 @@ properties:
230230
- samsung,exynosautov9-sadk # Samsung Exynos Auto v9 SADK
231231
- const: samsung,exynosautov9
232232

233+
- description: Exynos Auto v920 based boards
234+
items:
235+
- enum:
236+
- samsung,exynosautov920-sadk # Samsung Exynos Auto v920 SADK
237+
- const: samsung,exynosautov920
238+
233239
required:
234240
- compatible
235241

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/google,gs101-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Google GS101 SoC clock controller
8+
9+
maintainers:
10+
- Peter Griffin <peter.griffin@linaro.org>
11+
12+
description: |
13+
Google GS101 clock controller is comprised of several CMU units, generating
14+
clocks for different domains. Those CMU units are modeled as separate device
15+
tree nodes, and might depend on each other. The root clock in that clock tree
16+
is OSCCLK (24.576 MHz). That external clock must be defined as a fixed-rate
17+
clock in dts.
18+
19+
CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and
20+
dividers; all other leaf clocks (other CMUs) are usually derived from CMU_TOP.
21+
22+
Each clock is assigned an identifier and client nodes can use this identifier
23+
to specify the clock which they consume. All clocks available for usage
24+
in clock consumer nodes are defined as preprocessor macros in
25+
'dt-bindings/clock/gs101.h' header.
26+
27+
properties:
28+
compatible:
29+
enum:
30+
- google,gs101-cmu-top
31+
- google,gs101-cmu-apm
32+
- google,gs101-cmu-misc
33+
34+
clocks:
35+
minItems: 1
36+
maxItems: 2
37+
38+
clock-names:
39+
minItems: 1
40+
maxItems: 2
41+
42+
"#clock-cells":
43+
const: 1
44+
45+
reg:
46+
maxItems: 1
47+
48+
required:
49+
- compatible
50+
- "#clock-cells"
51+
- clocks
52+
- clock-names
53+
- reg
54+
55+
allOf:
56+
- if:
57+
properties:
58+
compatible:
59+
contains:
60+
enum:
61+
- google,gs101-cmu-top
62+
- google,gs101-cmu-apm
63+
then:
64+
properties:
65+
clocks:
66+
items:
67+
- description: External reference clock (24.576 MHz)
68+
69+
clock-names:
70+
items:
71+
- const: oscclk
72+
73+
- if:
74+
properties:
75+
compatible:
76+
contains:
77+
const: google,gs101-cmu-misc
78+
79+
then:
80+
properties:
81+
clocks:
82+
items:
83+
- description: Misc bus clock (from CMU_TOP)
84+
- description: Misc sss clock (from CMU_TOP)
85+
86+
clock-names:
87+
items:
88+
- const: dout_cmu_misc_bus
89+
- const: dout_cmu_misc_sss
90+
91+
additionalProperties: false
92+
93+
examples:
94+
# Clock controller node for CMU_TOP
95+
- |
96+
#include <dt-bindings/clock/google,gs101.h>
97+
98+
cmu_top: clock-controller@1e080000 {
99+
compatible = "google,gs101-cmu-top";
100+
reg = <0x1e080000 0x8000>;
101+
#clock-cells = <1>;
102+
clocks = <&ext_24_5m>;
103+
clock-names = "oscclk";
104+
};
105+
106+
...

Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ properties:
4040
- rockchip,rk3288-mali
4141
- samsung,exynos5433-mali
4242
- const: arm,mali-t760
43+
- items:
44+
- enum:
45+
- samsung,exynos7-mali
46+
- const: samsung,exynos5433-mali
47+
- const: arm,mali-t760
4348
- items:
4449
- enum:
4550
- rockchip,rk3399-mali

Documentation/devicetree/bindings/hwinfo/samsung,exynos-chipid.yaml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,21 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- samsung,exynos4210-chipid
16-
- samsung,exynos850-chipid
14+
oneOf:
15+
- enum:
16+
- samsung,exynos4210-chipid
17+
- samsung,exynos850-chipid
18+
- items:
19+
- enum:
20+
- samsung,exynos5433-chipid
21+
- samsung,exynos7-chipid
22+
- const: samsung,exynos4210-chipid
23+
- items:
24+
- enum:
25+
- samsung,exynos7885-chipid
26+
- samsung,exynosautov9-chipid
27+
- samsung,exynosautov920-chipid
28+
- const: samsung,exynos850-chipid
1729

1830
reg:
1931
maxItems: 1

Documentation/devicetree/bindings/i2c/i2c-exynos5.yaml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,16 @@ properties:
2525
- samsung,exynos5250-hsi2c # Exynos5250 and Exynos5420
2626
- samsung,exynos5260-hsi2c # Exynos5260
2727
- samsung,exynos7-hsi2c # Exynos7
28-
- samsung,exynosautov9-hsi2c # ExynosAutoV9 and Exynos850
28+
- samsung,exynosautov9-hsi2c
29+
- items:
30+
- enum:
31+
- samsung,exynos5433-hsi2c
32+
- tesla,fsd-hsi2c
33+
- const: samsung,exynos7-hsi2c
34+
- items:
35+
- enum:
36+
- samsung,exynos850-hsi2c
37+
- const: samsung,exynosautov9-hsi2c
2938
- const: samsung,exynos5-hsi2c # Exynos5250 and Exynos5420
3039
deprecated: true
3140

Documentation/devicetree/bindings/i2c/samsung,s3c2410-i2c.yaml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- samsung,s3c2410-i2c
16-
- samsung,s3c2440-i2c
17-
# For s3c2440-like I2C used inside HDMIPHY block found on several SoCs:
18-
- samsung,s3c2440-hdmiphy-i2c
19-
# For s3c2440-like I2C used as a host to SATA PHY controller on an
20-
# internal bus:
21-
- samsung,exynos5-sata-phy-i2c
14+
oneOf:
15+
- enum:
16+
- samsung,s3c2410-i2c
17+
- samsung,s3c2440-i2c
18+
# For s3c2440-like I2C used inside HDMIPHY block found on several SoCs:
19+
- samsung,s3c2440-hdmiphy-i2c
20+
# For s3c2440-like I2C used as a host to SATA PHY controller on an
21+
# internal bus:
22+
- samsung,exynos5-sata-phy-i2c
23+
- items:
24+
- enum:
25+
- samsung,exynos7885-i2c
26+
- samsung,exynos850-i2c
27+
- const: samsung,s3c2440-i2c
2228

2329
'#address-cells':
2430
const: 1

Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,23 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- samsung,exynos-adc-v1 # Exynos5250
16-
- samsung,exynos-adc-v2
17-
- samsung,exynos3250-adc
18-
- samsung,exynos4212-adc # Exynos4212 and Exynos4412
19-
- samsung,exynos7-adc
20-
- samsung,s3c2410-adc
21-
- samsung,s3c2416-adc
22-
- samsung,s3c2440-adc
23-
- samsung,s3c2443-adc
24-
- samsung,s3c6410-adc
25-
- samsung,s5pv210-adc
14+
oneOf:
15+
- enum:
16+
- samsung,exynos-adc-v1 # Exynos5250
17+
- samsung,exynos-adc-v2
18+
- samsung,exynos3250-adc
19+
- samsung,exynos4212-adc # Exynos4212 and Exynos4412
20+
- samsung,exynos7-adc
21+
- samsung,s3c2410-adc
22+
- samsung,s3c2416-adc
23+
- samsung,s3c2440-adc
24+
- samsung,s3c2443-adc
25+
- samsung,s3c6410-adc
26+
- samsung,s5pv210-adc
27+
- items:
28+
- enum:
29+
- samsung,exynos5433-adc
30+
- const: samsung,exynos7-adc
2631

2732
reg:
2833
maxItems: 1

Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ examples:
8585
};
8686
8787
i2s@11440000 {
88-
compatible = "samsung,exynos7-i2s";
88+
compatible = "samsung,exynos5433-i2s", "samsung,exynos7-i2s";
8989
reg = <0x11440000 0x100>;
9090
dmas = <&adma 0>, <&adma 2>;
9191
dma-names = "tx", "rx";

Documentation/devicetree/bindings/mmc/samsung,exynos-dw-mshc.yaml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,22 @@ maintainers:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- samsung,exynos4210-dw-mshc
19-
- samsung,exynos4412-dw-mshc
20-
- samsung,exynos5250-dw-mshc
21-
- samsung,exynos5420-dw-mshc
22-
- samsung,exynos5420-dw-mshc-smu
23-
- samsung,exynos7-dw-mshc
24-
- samsung,exynos7-dw-mshc-smu
25-
- axis,artpec8-dw-mshc
17+
oneOf:
18+
- enum:
19+
- axis,artpec8-dw-mshc
20+
- samsung,exynos4210-dw-mshc
21+
- samsung,exynos4412-dw-mshc
22+
- samsung,exynos5250-dw-mshc
23+
- samsung,exynos5420-dw-mshc
24+
- samsung,exynos5420-dw-mshc-smu
25+
- samsung,exynos7-dw-mshc
26+
- samsung,exynos7-dw-mshc-smu
27+
- items:
28+
- enum:
29+
- samsung,exynos5433-dw-mshc-smu
30+
- samsung,exynos7885-dw-mshc-smu
31+
- samsung,exynos850-dw-mshc-smu
32+
- const: samsung,exynos7-dw-mshc-smu
2633

2734
reg:
2835
maxItems: 1

Documentation/devicetree/bindings/pwm/pwm-samsung.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ properties:
2929
- samsung,exynos4210-pwm # 32-bit, Exynos
3030
- items:
3131
- enum:
32+
- samsung,exynos5433-pwm
33+
- samsung,exynos7-pwm
3234
- samsung,exynosautov9-pwm
35+
- samsung,exynosautov920-pwm
36+
- tesla,fsd-pwm
3337
- const: samsung,exynos4210-pwm
3438

3539
reg:

0 commit comments

Comments
 (0)