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. -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmWCqBUQHGtyemtAa2Vy bmVsLm9yZwAKCRDBN2bmhouD1+s2D/sEeNzQQ8YXAhNBx0Xv0NieCY8r555vUT6D dm7LbBcpAjWUvEubt+Czrt6bZheVHcuIxB58HkYW/N30f3rHgM85ydx0q0waHAuD 5cHyGSNB8fKMukLrLSP8Vrgrjd1Yn4qL5yIyitB/Iv/C25TWmC7ShZZ0NYuMOcyw iQOpgbSYaeQ9mpHWh6hSTkD2PVPHYmxRJ+etSHHAUY/9Jb2LwtaYd1ZRfLy3ki1p eLBIgHQ3HM7av94J6UsvIJm4kKRbYtCwJSx/zuGjva2wI0hHdtuigo1MeYFbDduJ hnQ4mFwxLlhtyEwRJZRXpsmLPq/E4qWSCAusua6S9zeqCC3kMz+9jkd0GLCnlPO0 sj22qnTEU1PfJz/DAjAB1CEj+Rn52Rn1kzIOiHDlaiVcVm1coGC5J7rUuw0rwU3X 3Q3VoI70WAWrvV9fCKVdAatXS8Ir1M4zWsbWxv3KuApmlwpTXfVB3B1RIWZNfit6 bj9MC8PTih97vM16TQbXCyGLWlnVRXCKx6hTquQv+5ryxLEzZoJG8OoZsvHrZEk7 963+WwkEd+PyHEsy7dEsLmy7fVe21eVaECS/W3Q+Qse/n5BzOgKYr8jbI2WVj8Uw 33P+2/xvPxSTfhpP+VoEOff9wIFx0OIPwDEFQRKgoEsNSm0VggC6ba8Syrk6Xoqy cI0Mf+HxOA== =KVHV -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEcCgACgkQYKtH/8kJ Uify2A//b9rm0Q+79eYhTfqvupXGGmcOOzSgHJZYea+6oRLvldF3lCemQH3lsDmD +kOmdfCkUEt34MpwoqOXu9gm7BW2/P8pa312D6dqxnncjozuoY6BfhLTdRdNOs36 RZ0mnCy4nPIpZRoel5p0THlPk49R4mXHS0BTywFh5OQMZyO8n/g6/fYbUM2CcS8I L6l1OVif9IwNLa0MJGsrK7RYsYmpUGMFfkZurUolHXQVnlCoRTJlWULc5tMicX7j IrUnthTtl/GfZGF1416YBT6d4ez/WYbZphu6pP7Pzj6O37RLEIAvK1rfi4NjPIvG G2Zep66BWQY/WNL2PyVc+/UYTbspVD0DwuUX7wBvkawhhDsfT4qTlzvf8XuUWw7y ZeZITK3JiSlAmFAj4/uFi3V8d8+McWZ/HJLpBEH4Qh17NqxUdjU9Hhg8JpmlbzYC w00WilNYYaIX8LLZfDA4Ow10EILpSijAlgzW1lFdCkNLk/UsXMATKUHhGSSayCD3 UoYHpGa2tsNJ4y9lLbx8KvDGpPoTzi1p9ZDa4kLGrq4fPL9idnwd2TsuNStkGsBY Hh7DKX93UA1/sWBi4b/UkMc6PdzxQze1+gtSDnP87COVkwEO0e5TTncS+yKLneKO II5Q6r3Km6AszppG6h4ioL0BtaAa9tujQNkubfKJQpAnyRXdges= =ooNI -----END PGP SIGNATURE----- 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>
This commit is contained in:
commit
450388847b
53
Documentation/devicetree/bindings/arm/google.yaml
Normal file
53
Documentation/devicetree/bindings/arm/google.yaml
Normal file
@ -0,0 +1,53 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/arm/google.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Google Tensor platforms
|
||||
|
||||
maintainers:
|
||||
- Peter Griffin <peter.griffin@linaro.org>
|
||||
|
||||
description: |
|
||||
ARM platforms using SoCs designed by Google branded "Tensor" used in Pixel
|
||||
devices.
|
||||
|
||||
Currently upstream this is devices using "gs101" SoC which is found in Pixel
|
||||
6, Pixel 6 Pro and Pixel 6a.
|
||||
|
||||
Google have a few different names for the SoC:
|
||||
- Marketing name ("Tensor")
|
||||
- Codename ("Whitechapel")
|
||||
- SoC ID ("gs101")
|
||||
- Die ID ("S5P9845")
|
||||
|
||||
Likewise there are a couple of names for the actual device
|
||||
- Marketing name ("Pixel 6")
|
||||
- Codename ("Oriole")
|
||||
|
||||
Devicetrees should use the lowercased SoC ID and lowercased board codename,
|
||||
e.g. gs101 and gs101-oriole.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: Google Pixel 6 / Oriole
|
||||
items:
|
||||
- enum:
|
||||
- google,gs101-oriole
|
||||
- const: google,gs101
|
||||
|
||||
# Bootloader requires empty ect node to be present
|
||||
ect:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- ect
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
...
|
10
MAINTAINERS
10
MAINTAINERS
@ -9007,6 +9007,16 @@ S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
|
||||
F: drivers/firmware/google/
|
||||
|
||||
GOOGLE TENSOR SoC SUPPORT
|
||||
M: Peter Griffin <peter.griffin@linaro.org>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
L: linux-samsung-soc@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
|
||||
F: arch/arm64/boot/dts/exynos/google/
|
||||
F: drivers/clk/samsung/clk-gs101.c
|
||||
F: include/dt-bindings/clock/google,gs101.h
|
||||
|
||||
GPD POCKET FAN DRIVER
|
||||
M: Hans de Goede <hdegoede@redhat.com>
|
||||
L: platform-driver-x86@vger.kernel.org
|
||||
|
@ -1,4 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
subdir-y += google
|
||||
|
||||
dtb-$(CONFIG_ARCH_EXYNOS) += \
|
||||
exynos5433-tm2.dtb \
|
||||
exynos5433-tm2e.dtb \
|
||||
|
4
arch/arm64/boot/dts/exynos/google/Makefile
Normal file
4
arch/arm64/boot/dts/exynos/google/Makefile
Normal file
@ -0,0 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dtb-$(CONFIG_ARCH_EXYNOS) += \
|
||||
gs101-oriole.dtb \
|
105
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
Normal file
105
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
Normal file
@ -0,0 +1,105 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Oriole Device Tree
|
||||
*
|
||||
* Copyright 2021-2023 Google LLC
|
||||
* Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "gs101-pinctrl.h"
|
||||
#include "gs101.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Oriole";
|
||||
compatible = "google,gs101-oriole", "google,gs101";
|
||||
|
||||
aliases {
|
||||
serial0 = &serial_0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
/* Bootloader expects bootargs specified otherwise it crashes */
|
||||
bootargs = "";
|
||||
stdout-path = &serial_0;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>;
|
||||
|
||||
button-vol-down {
|
||||
label = "KEY_VOLUMEDOWN";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
gpios = <&gpa7 3 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button-vol-up {
|
||||
label = "KEY_VOLUMEUP";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
gpios = <&gpa8 1 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button-power {
|
||||
label = "KEY_POWER";
|
||||
linux,code = <KEY_POWER>;
|
||||
gpios = <&gpa10 1 GPIO_ACTIVE_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ext_24_5m {
|
||||
clock-frequency = <24576000>;
|
||||
};
|
||||
|
||||
&ext_200m {
|
||||
clock-frequency = <200000000>;
|
||||
};
|
||||
|
||||
&pinctrl_far_alive {
|
||||
key_voldown: key-voldown-pins {
|
||||
samsung,pins = "gpa7-3";
|
||||
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
|
||||
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
|
||||
};
|
||||
|
||||
key_volup: key-volup-pins {
|
||||
samsung,pins = "gpa8-1";
|
||||
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
|
||||
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl_gpio_alive {
|
||||
key_power: key-power-pins {
|
||||
samsung,pins = "gpa10-1";
|
||||
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
|
||||
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
|
||||
};
|
||||
};
|
||||
|
||||
&serial_0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_bus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usi_uart {
|
||||
samsung,clkreq-on; /* needed for UART mode */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&watchdog_cl0 {
|
||||
timeout-sec = <30>;
|
||||
status = "okay";
|
||||
};
|
1249
arch/arm64/boot/dts/exynos/google/gs101-pinctrl.dtsi
Normal file
1249
arch/arm64/boot/dts/exynos/google/gs101-pinctrl.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
33
arch/arm64/boot/dts/exynos/google/gs101-pinctrl.h
Normal file
33
arch/arm64/boot/dts/exynos/google/gs101-pinctrl.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Pinctrl binding constants for GS101
|
||||
*
|
||||
* Copyright 2020-2023 Google LLC
|
||||
*/
|
||||
|
||||
#ifndef __DTS_ARM64_SAMSUNG_EXYNOS_GOOGLE_PINCTRL_GS101_H__
|
||||
#define __DTS_ARM64_SAMSUNG_EXYNOS_GOOGLE_PINCTRL_GS101_H__
|
||||
|
||||
#define GS101_PIN_PULL_NONE 0
|
||||
#define GS101_PIN_PULL_DOWN 1
|
||||
#define GS101_PIN_PULL_UP 3
|
||||
|
||||
/* Pin function in power down mode */
|
||||
#define GS101_PIN_PDN_OUT0 0
|
||||
#define GS101_PIN_PDN_OUT1 1
|
||||
#define GS101_PIN_PDN_INPUT 2
|
||||
#define GS101_PIN_PDN_PREV 3
|
||||
|
||||
/* GS101 drive strengths */
|
||||
#define GS101_PIN_DRV_2_5_MA 0
|
||||
#define GS101_PIN_DRV_5_MA 1
|
||||
#define GS101_PIN_DRV_7_5_MA 2
|
||||
#define GS101_PIN_DRV_10_MA 3
|
||||
|
||||
#define GS101_PIN_FUNC_INPUT 0
|
||||
#define GS101_PIN_FUNC_OUTPUT 1
|
||||
#define GS101_PIN_FUNC_2 2
|
||||
#define GS101_PIN_FUNC_3 3
|
||||
#define GS101_PIN_FUNC_EINT 0xf
|
||||
|
||||
#endif /* __DTS_ARM64_SAMSUNG_EXYNOS_GOOGLE_PINCTRL_GS101_H__ */
|
473
arch/arm64/boot/dts/exynos/google/gs101.dtsi
Normal file
473
arch/arm64/boot/dts/exynos/google/gs101.dtsi
Normal file
@ -0,0 +1,473 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* GS101 SoC
|
||||
*
|
||||
* Copyright 2019-2023 Google LLC
|
||||
* Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/google,gs101.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/soc/samsung,exynos-usi.h>
|
||||
|
||||
/ {
|
||||
compatible = "google,gs101";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
aliases {
|
||||
pinctrl0 = &pinctrl_gpio_alive;
|
||||
pinctrl1 = &pinctrl_far_alive;
|
||||
pinctrl2 = &pinctrl_gsacore;
|
||||
pinctrl3 = &pinctrl_gsactrl;
|
||||
pinctrl4 = &pinctrl_peric0;
|
||||
pinctrl5 = &pinctrl_peric1;
|
||||
pinctrl6 = &pinctrl_hsi1;
|
||||
pinctrl7 = &pinctrl_hsi2;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu3>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&cpu4>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu5>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster2 {
|
||||
core0 {
|
||||
cpu = <&cpu6>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu7>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a55";
|
||||
reg = <0x0000>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ANANKE_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <250>;
|
||||
dynamic-power-coefficient = <70>;
|
||||
};
|
||||
|
||||
cpu1: cpu@100 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a55";
|
||||
reg = <0x0100>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ANANKE_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <250>;
|
||||
dynamic-power-coefficient = <70>;
|
||||
};
|
||||
|
||||
cpu2: cpu@200 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a55";
|
||||
reg = <0x0200>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ANANKE_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <250>;
|
||||
dynamic-power-coefficient = <70>;
|
||||
};
|
||||
|
||||
cpu3: cpu@300 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a55";
|
||||
reg = <0x0300>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ANANKE_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <250>;
|
||||
dynamic-power-coefficient = <70>;
|
||||
};
|
||||
|
||||
cpu4: cpu@400 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a76";
|
||||
reg = <0x0400>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ENYO_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <620>;
|
||||
dynamic-power-coefficient = <284>;
|
||||
};
|
||||
|
||||
cpu5: cpu@500 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a76";
|
||||
reg = <0x0500>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&ENYO_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <620>;
|
||||
dynamic-power-coefficient = <284>;
|
||||
};
|
||||
|
||||
cpu6: cpu@600 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-x1";
|
||||
reg = <0x0600>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&HERA_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
dynamic-power-coefficient = <650>;
|
||||
};
|
||||
|
||||
cpu7: cpu@700 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-x1";
|
||||
reg = <0x0700>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&HERA_CPU_SLEEP>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
dynamic-power-coefficient = <650>;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
entry-method = "psci";
|
||||
|
||||
ANANKE_CPU_SLEEP: cpu-ananke-sleep {
|
||||
idle-state-name = "c2";
|
||||
compatible = "arm,idle-state";
|
||||
arm,psci-suspend-param = <0x0010000>;
|
||||
entry-latency-us = <70>;
|
||||
exit-latency-us = <160>;
|
||||
min-residency-us = <2000>;
|
||||
};
|
||||
|
||||
ENYO_CPU_SLEEP: cpu-enyo-sleep {
|
||||
idle-state-name = "c2";
|
||||
compatible = "arm,idle-state";
|
||||
arm,psci-suspend-param = <0x0010000>;
|
||||
entry-latency-us = <150>;
|
||||
exit-latency-us = <190>;
|
||||
min-residency-us = <2500>;
|
||||
};
|
||||
|
||||
HERA_CPU_SLEEP: cpu-hera-sleep {
|
||||
idle-state-name = "c2";
|
||||
compatible = "arm,idle-state";
|
||||
arm,psci-suspend-param = <0x0010000>;
|
||||
entry-latency-us = <235>;
|
||||
exit-latency-us = <220>;
|
||||
min-residency-us = <3500>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO replace with CCF clock */
|
||||
dummy_clk: clock-3 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12345>;
|
||||
clock-output-names = "pclk";
|
||||
};
|
||||
|
||||
/* ect node is required to be present by bootloader */
|
||||
ect {
|
||||
};
|
||||
|
||||
ext_24_5m: clock-1 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "oscclk";
|
||||
};
|
||||
|
||||
ext_200m: clock-2 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "ext-200m";
|
||||
};
|
||||
|
||||
pmu-0 {
|
||||
compatible = "arm,cortex-a55-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
|
||||
};
|
||||
|
||||
pmu-1 {
|
||||
compatible = "arm,cortex-a76-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
|
||||
};
|
||||
|
||||
pmu-2 {
|
||||
compatible = "arm,cortex-x1-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster2>;
|
||||
};
|
||||
|
||||
pmu-3 {
|
||||
compatible = "arm,dsu-pmu";
|
||||
interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
|
||||
<&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
reserved_memory: reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
gsa_reserved_protected: gsa@90200000 {
|
||||
reg = <0x0 0x90200000 0x400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
tpu_fw_reserved: tpu-fw@93000000 {
|
||||
reg = <0x0 0x93000000 0x1000000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
aoc_reserve: aoc@94000000 {
|
||||
reg = <0x0 0x94000000 0x03000000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
abl_reserved: abl@f8800000 {
|
||||
reg = <0x0 0xf8800000 0x02000000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
dss_log_reserved: dss-log-reserved@fd3f0000 {
|
||||
reg = <0x0 0xfd3f0000 0x0000e000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
debug_kinfo_reserved: debug-kinfo-reserved@fd3fe000 {
|
||||
reg = <0x0 0xfd3fe000 0x00001000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
bldr_log_reserved: bldr-log-reserved@fd800000 {
|
||||
reg = <0x0 0xfd800000 0x00100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
bldr_log_hist_reserved: bldr-log-hist-reserved@fd900000 {
|
||||
reg = <0x0 0xfd900000 0x00002000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc@0 {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
|
||||
cmu_misc: clock-controller@10010000 {
|
||||
compatible = "google,gs101-cmu-misc";
|
||||
reg = <0x10010000 0x8000>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&cmu_top CLK_DOUT_CMU_MISC_BUS>,
|
||||
<&cmu_top CLK_DOUT_CMU_MISC_SSS>;
|
||||
clock-names = "dout_cmu_misc_bus", "dout_cmu_misc_sss";
|
||||
};
|
||||
|
||||
watchdog_cl0: watchdog@10060000 {
|
||||
compatible = "google,gs101-wdt";
|
||||
reg = <0x10060000 0x100>;
|
||||
interrupts = <GIC_SPI 765 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cmu_misc CLK_GOUT_MISC_WDT_CLUSTER0_PCLK>,
|
||||
<&ext_24_5m>;
|
||||
clock-names = "watchdog", "watchdog_src";
|
||||
samsung,syscon-phandle = <&pmu_system_controller>;
|
||||
samsung,cluster-index = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
watchdog_cl1: watchdog@10070000 {
|
||||
compatible = "google,gs101-wdt";
|
||||
reg = <0x10070000 0x100>;
|
||||
interrupts = <GIC_SPI 766 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cmu_misc CLK_GOUT_MISC_WDT_CLUSTER1_PCLK>,
|
||||
<&ext_24_5m>;
|
||||
clock-names = "watchdog", "watchdog_src";
|
||||
samsung,syscon-phandle = <&pmu_system_controller>;
|
||||
samsung,cluster-index = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@10400000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <4>;
|
||||
interrupt-controller;
|
||||
reg = <0x10400000 0x10000>, /* GICD */
|
||||
<0x10440000 0x100000>;/* GICR * 8 */
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
ppi-partitions {
|
||||
ppi_cluster0: interrupt-partition-0 {
|
||||
affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
|
||||
};
|
||||
|
||||
ppi_cluster1: interrupt-partition-1 {
|
||||
affinity = <&cpu4 &cpu5>;
|
||||
};
|
||||
|
||||
ppi_cluster2: interrupt-partition-2 {
|
||||
affinity = <&cpu6 &cpu7>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sysreg_peric0: syscon@10820000 {
|
||||
compatible = "google,gs101-peric0-sysreg", "syscon";
|
||||
reg = <0x10820000 0x10000>;
|
||||
};
|
||||
|
||||
pinctrl_peric0: pinctrl@10840000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x10840000 0x00001000>;
|
||||
interrupts = <GIC_SPI 625 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
};
|
||||
|
||||
usi_uart: usi@10a000c0 {
|
||||
compatible = "google,gs101-usi",
|
||||
"samsung,exynos850-usi";
|
||||
reg = <0x10a000c0 0x20>;
|
||||
ranges;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
clocks = <&dummy_clk>, <&dummy_clk>;
|
||||
clock-names = "pclk", "ipclk";
|
||||
samsung,sysreg = <&sysreg_peric0 0x1020>;
|
||||
samsung,mode = <USI_V2_UART>;
|
||||
status = "disabled";
|
||||
|
||||
serial_0: serial@10a00000 {
|
||||
compatible = "google,gs101-uart";
|
||||
reg = <0x10a00000 0xc0>;
|
||||
reg-io-width = <4>;
|
||||
interrupts = <GIC_SPI 634
|
||||
IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&dummy_clk 0>, <&dummy_clk 0>;
|
||||
clock-names = "uart", "clk_uart_baud0";
|
||||
samsung,uart-fifosize = <256>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
sysreg_peric1: syscon@10c20000 {
|
||||
compatible = "google,gs101-peric1-sysreg", "syscon";
|
||||
reg = <0x10c20000 0x10000>;
|
||||
};
|
||||
|
||||
pinctrl_peric1: pinctrl@10c40000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x10c40000 0x00001000>;
|
||||
interrupts = <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
};
|
||||
|
||||
pinctrl_hsi1: pinctrl@11840000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x11840000 0x00001000>;
|
||||
interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
};
|
||||
|
||||
pinctrl_hsi2: pinctrl@14440000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x14440000 0x00001000>;
|
||||
interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
};
|
||||
|
||||
cmu_apm: clock-controller@17400000 {
|
||||
compatible = "google,gs101-cmu-apm";
|
||||
reg = <0x17400000 0x8000>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
clocks = <&ext_24_5m>;
|
||||
clock-names = "oscclk";
|
||||
};
|
||||
|
||||
sysreg_apm: syscon@174204e0 {
|
||||
compatible = "google,gs101-apm-sysreg", "syscon";
|
||||
reg = <0x174204e0 0x1000>;
|
||||
};
|
||||
|
||||
pmu_system_controller: system-controller@17460000 {
|
||||
compatible = "google,gs101-pmu", "syscon";
|
||||
reg = <0x17460000 0x10000>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_alive: pinctrl@174d0000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x174d0000 0x00001000>;
|
||||
|
||||
wakeup-interrupt-controller {
|
||||
compatible = "google,gs101-wakeup-eint",
|
||||
"samsung,exynos850-wakeup-eint",
|
||||
"samsung,exynos7-wakeup-eint";
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_far_alive: pinctrl@174e0000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x174e0000 0x00001000>;
|
||||
|
||||
wakeup-interrupt-controller {
|
||||
compatible = "google,gs101-wakeup-eint",
|
||||
"samsung,exynos850-wakeup-eint",
|
||||
"samsung,exynos7-wakeup-eint";
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_gsactrl: pinctrl@17940000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x17940000 0x00001000>;
|
||||
};
|
||||
|
||||
pinctrl_gsacore: pinctrl@17a80000 {
|
||||
compatible = "google,gs101-pinctrl";
|
||||
reg = <0x17a80000 0x00001000>;
|
||||
};
|
||||
|
||||
cmu_top: clock-controller@1e080000 {
|
||||
compatible = "google,gs101-cmu-top";
|
||||
reg = <0x1e080000 0x8000>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
clocks = <&ext_24_5m>;
|
||||
clock-names = "oscclk";
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts =
|
||||
<GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW) 0>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW) 0>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW) 0>,
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW) 0>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "gs101-pinctrl.dtsi"
|
@ -342,6 +342,18 @@
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
mfc_left: region@84000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
no-map;
|
||||
reg = <0 0x84000000 0 0x8000000>;
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc@0 {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
@ -956,6 +968,15 @@
|
||||
clock-names = "fin_pll", "mct";
|
||||
};
|
||||
|
||||
mfc: mfc@12880000 {
|
||||
compatible = "tesla,fsd-mfc";
|
||||
reg = <0x0 0x12880000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "mfc";
|
||||
clocks = <&clock_mfc MFC_MFC_IPCLKPORT_ACLK>;
|
||||
memory-region = <&mfc_left>;
|
||||
};
|
||||
|
||||
ufs: ufs@15120000 {
|
||||
compatible = "tesla,fsd-ufs";
|
||||
reg = <0x0 0x15120000 0x0 0x200>, /* 0: HCI standard */
|
||||
|
Loading…
x
Reference in New Issue
Block a user