Thread (75 messages) 75 messages, 12 authors, 2023-10-14

Re: [PATCH 18/21] arm64: dts: google: Add initial Google gs101 SoC support

From: Krzysztof Kozlowski <hidden>
Date: 2023-10-05 19:21:52
Also in: linux-clk, linux-devicetree, linux-gpio, linux-samsung-soc, linux-watchdog

On 05/10/2023 19:59, William McVicker wrote:
On 10/05/2023, Peter Griffin wrote:
quoted
Google gs101 SoC is ARMv8 mobile SoC found in the Pixel 6,
(oriole) Pixel 6a (bluejay) and Pixel 6 pro (raven) mobile
phones. It features:
* 4xA55 little cluster
* 2xA76 Mid cluster
* 2xX1 Big cluster

This commit adds the basic device tree for gs101 (SoC) and oriole
(pixel 6). Further platform support will be added over time.

It has been tested with a minimal busybox initramfs and boots to
a shell.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 arch/arm64/Kconfig.platforms                  |    6 +
 arch/arm64/boot/dts/Makefile                  |    1 +
 arch/arm64/boot/dts/google/Makefile           |    6 +
 arch/arm64/boot/dts/google/gs101-oriole.dts   |   68 +
 arch/arm64/boot/dts/google/gs101-pinctrl.dtsi | 1134 +++++++++++++++++
 arch/arm64/boot/dts/google/gs101-pinctrl.h    |   17 +
 arch/arm64/boot/dts/google/gs101.dtsi         |  501 ++++++++
 7 files changed, 1733 insertions(+)
 create mode 100644 arch/arm64/boot/dts/google/Makefile
 create mode 100644 arch/arm64/boot/dts/google/gs101-oriole.dts
 create mode 100644 arch/arm64/boot/dts/google/gs101-pinctrl.dtsi
 create mode 100644 arch/arm64/boot/dts/google/gs101-pinctrl.h
 create mode 100644 arch/arm64/boot/dts/google/gs101.dtsi
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 6069120199bb..a5ed1b719488 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -107,6 +107,12 @@ config ARCH_EXYNOS
 	help
 	  This enables support for ARMv8 based Samsung Exynos SoC family.
 
+config ARCH_GOOGLE_TENSOR
+	bool "Google Tensor SoC fmaily"
+	depends on ARCH_EXYNOS
+	help
+	  Support for ARMv8 based Google Tensor platforms.
I'd like to bring up this thread and discuss the option of not introducing
another ARCH_* config:

  https://lore.kernel.org/all/20200306103652.GA3634389@kroah.com/ (local)

I especially don't like the "depends on ARCH_EXYNOS" because that forces one to
include all the other Exynos drivers that ARCH_EXYNOS selects that Google
Since we are creating unified kernel images, having other drivers is not
a problem.
Tensor SoCs don't need. Can we consider using SOC_GOOGLE instead and for all
SOC_GOOGLE will work exactly the same and depend on ARCH_EXYNOS or
appear everywhere as ARCH_EXYNOS. We already had this talk with Tesla.

drivers that actually depend on the SoC hardware, we can just add "depends on
SOC_GOOGLE"?

The idea is that drivers should be tied to hardware -- not a specific vendor.
And hardware is Exynos. Tesla FSD and Google Tensor is Exynos, even if
you do no like calling it.
By making drivers depend on ARCH_*, you are introducing an arbitrary vendor
dependency and not a hardware dependency.
There is no arbitrary dependency. We call it all Exynos hardware,
because this is Exynos.

I remember what you were pushing for removal of ARCH_EXYNOS and there
waas clear feedback, not only from me: this is against communities goals.
Thanks,
Will
Please trim the replies from unrelated context.


Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help