Skip to content

Commit 803b60b

Browse files
committed
Merge tag 'samsung-dt-bindings-refactoring-and-google-gs101-6.8' into next/drivers
Samsung Devicetree bindings topic branch for v6.8 Topic branch collecting several changes to Samsung SoC Devicetree bindings: 1. Add specific compatibles to all Samsung Exynos and Tesla FSD blocks, because that's what guidelines expect [1] and is generally recommended practice. Existing compatibles are left untouched, thus no driver changes are needed. The work only cleans things up, so any future contributions will use recommended style: specific and fallback compatibles. 2. Add bindings for new devices: Samsung ExynosAutov920 and Google GS101. These bindings are needed for both DTS and drivers, e.g. clock drivers.
2 parents beea67c + 5b02a86 commit 803b60b

File tree

18 files changed

+667
-56
lines changed

18 files changed

+667
-56
lines changed

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 <[email protected]>
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)