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

Greg KH gregkh at linuxfoundation.org
Thu Oct 5 11:05:58 PDT 2023


On Thu, Oct 05, 2023 at 10:59:12AM -0700, William McVicker wrote:
> On 10/05/2023, Peter Griffin wrote:
> > 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 at 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/

I agree, PLEASE don't add platform config options as that makes it
impossible to make a unified kernel image that works for more than one
platform at the same time.

> 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
> Tensor SoCs don't need. Can we consider using SOC_GOOGLE instead and for all
> drivers that actually depend on the SoC hardware, we can just add "depends on
> SOC_GOOGLE"?

Why do any of this at all?  It should not be needed.

> The idea is that drivers should be tied to hardware -- not a specific vendor.

And drivers should be auto-loaded.

All of these drivers are not vendor-specific at all, they are based on
the same IP blocks as others, so that is how they should be unified.

> By making drivers depend on ARCH_*, you are introducing an arbitrary vendor
> dependency and not a hardware dependency.

Totally agree, thanks for bringing this up.

greg k-h



More information about the linux-arm-kernel mailing list