Skip to content

Commit 4503888

Browse files
committed
Merge tag 'samsung-dt64-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.8, part two 1. Tesla FSD: Add Multi Format Codec (MFC) device nodes, for accelerated video de/encoding. 2. Add initial Google Tensor GS101 SoC support. The GS101 SoC can be found on Google Pixel 6 phones. Currently the DTS brings only basic support: core clock controllers, pin controllers, serial, watchdog and ARM core blocks. * tag 'samsung-dt64-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: MAINTAINERS: adjust file entry in GOOGLE TENSOR SoC SUPPORT MAINTAINERS: add entry for Google Tensor SoC arm64: dts: exynos: google: Add initial Oriole/pixel 6 board support arm64: dts: exynos: google: Add initial Google gs101 SoC support dt-bindings: arm: google: Add bindings for Google ARM platforms arm64: dts: fsd: Add MFC related DT enteries Link: https://lore.kernel.org/r/20231220084722.22149-2-krzysztof.kozlowski@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 73ec272 + d0da0de commit 4503888

9 files changed

Lines changed: 1950 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/google.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Google Tensor platforms
8+
9+
maintainers:
10+
- Peter Griffin <peter.griffin@linaro.org>
11+
12+
description: |
13+
ARM platforms using SoCs designed by Google branded "Tensor" used in Pixel
14+
devices.
15+
16+
Currently upstream this is devices using "gs101" SoC which is found in Pixel
17+
6, Pixel 6 Pro and Pixel 6a.
18+
19+
Google have a few different names for the SoC:
20+
- Marketing name ("Tensor")
21+
- Codename ("Whitechapel")
22+
- SoC ID ("gs101")
23+
- Die ID ("S5P9845")
24+
25+
Likewise there are a couple of names for the actual device
26+
- Marketing name ("Pixel 6")
27+
- Codename ("Oriole")
28+
29+
Devicetrees should use the lowercased SoC ID and lowercased board codename,
30+
e.g. gs101 and gs101-oriole.
31+
32+
properties:
33+
$nodename:
34+
const: '/'
35+
compatible:
36+
oneOf:
37+
- description: Google Pixel 6 / Oriole
38+
items:
39+
- enum:
40+
- google,gs101-oriole
41+
- const: google,gs101
42+
43+
# Bootloader requires empty ect node to be present
44+
ect:
45+
type: object
46+
additionalProperties: false
47+
48+
required:
49+
- ect
50+
51+
additionalProperties: true
52+
53+
...

MAINTAINERS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9007,6 +9007,16 @@ S: Maintained
90079007
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
90089008
F: drivers/firmware/google/
90099009

9010+
GOOGLE TENSOR SoC SUPPORT
9011+
M: Peter Griffin <peter.griffin@linaro.org>
9012+
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
9013+
L: linux-samsung-soc@vger.kernel.org
9014+
S: Maintained
9015+
F: Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
9016+
F: arch/arm64/boot/dts/exynos/google/
9017+
F: drivers/clk/samsung/clk-gs101.c
9018+
F: include/dt-bindings/clock/google,gs101.h
9019+
90109020
GPD POCKET FAN DRIVER
90119021
M: Hans de Goede <hdegoede@redhat.com>
90129022
L: platform-driver-x86@vger.kernel.org

arch/arm64/boot/dts/exynos/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0
2+
subdir-y += google
3+
24
dtb-$(CONFIG_ARCH_EXYNOS) += \
35
exynos5433-tm2.dtb \
46
exynos5433-tm2e.dtb \
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
dtb-$(CONFIG_ARCH_EXYNOS) += \
4+
gs101-oriole.dtb \
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* Oriole Device Tree
4+
*
5+
* Copyright 2021-2023 Google LLC
6+
* Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
7+
*/
8+
9+
/dts-v1/;
10+
11+
#include <dt-bindings/gpio/gpio.h>
12+
#include <dt-bindings/input/input.h>
13+
#include "gs101-pinctrl.h"
14+
#include "gs101.dtsi"
15+
16+
/ {
17+
model = "Oriole";
18+
compatible = "google,gs101-oriole", "google,gs101";
19+
20+
aliases {
21+
serial0 = &serial_0;
22+
};
23+
24+
chosen {
25+
/* Bootloader expects bootargs specified otherwise it crashes */
26+
bootargs = "";
27+
stdout-path = &serial_0;
28+
};
29+
30+
gpio-keys {
31+
compatible = "gpio-keys";
32+
pinctrl-names = "default";
33+
pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>;
34+
35+
button-vol-down {
36+
label = "KEY_VOLUMEDOWN";
37+
linux,code = <KEY_VOLUMEDOWN>;
38+
gpios = <&gpa7 3 GPIO_ACTIVE_LOW>;
39+
wakeup-source;
40+
};
41+
42+
button-vol-up {
43+
label = "KEY_VOLUMEUP";
44+
linux,code = <KEY_VOLUMEUP>;
45+
gpios = <&gpa8 1 GPIO_ACTIVE_LOW>;
46+
wakeup-source;
47+
};
48+
49+
button-power {
50+
label = "KEY_POWER";
51+
linux,code = <KEY_POWER>;
52+
gpios = <&gpa10 1 GPIO_ACTIVE_LOW>;
53+
wakeup-source;
54+
};
55+
};
56+
};
57+
58+
&ext_24_5m {
59+
clock-frequency = <24576000>;
60+
};
61+
62+
&ext_200m {
63+
clock-frequency = <200000000>;
64+
};
65+
66+
&pinctrl_far_alive {
67+
key_voldown: key-voldown-pins {
68+
samsung,pins = "gpa7-3";
69+
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
70+
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
71+
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
72+
};
73+
74+
key_volup: key-volup-pins {
75+
samsung,pins = "gpa8-1";
76+
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
77+
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
78+
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
79+
};
80+
};
81+
82+
&pinctrl_gpio_alive {
83+
key_power: key-power-pins {
84+
samsung,pins = "gpa10-1";
85+
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
86+
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
87+
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
88+
};
89+
};
90+
91+
&serial_0 {
92+
pinctrl-names = "default";
93+
pinctrl-0 = <&uart0_bus>;
94+
status = "okay";
95+
};
96+
97+
&usi_uart {
98+
samsung,clkreq-on; /* needed for UART mode */
99+
status = "okay";
100+
};
101+
102+
&watchdog_cl0 {
103+
timeout-sec = <30>;
104+
status = "okay";
105+
};

0 commit comments

Comments
 (0)