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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/10/2023 20:05, Greg KH wrote:
> 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@xxxxxxxxxx>
>>> ---
>>>  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@xxxxxxxxx/
> 
> 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.

There is no single problem in making unified image as we were doing
since beginning of ARM64. The ARCH_* is not a obstacle for this.

> 
>> 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.

They are vendor specific. All of them are specifically for Exynos
hardwre, because this is Exynos. We call it Google GS/Tensor SoC just
for fancy convenience, but this just Exynos.

> 
>> 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.
> 
Best regards,
Krzysztof





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux