[PATCH 00/21] Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board
Peter Griffin
peter.griffin at linaro.org
Thu Oct 5 08:55:57 PDT 2023
Hi folks,
This series adds initial SoC support for the GS101 SoC and also initial board
support for Pixel 6 phone (Oriole).
The gs101 / Tensor SoC is also used in Pixel6a (bluejay) and Pixel 6 Pro (raven).
Currently DT is just added for the gs101 SoC and Oriole.
The support added in this series consists of:
* cpus
* pinctrl
* some CCF clock implementation
* watchdog
* uart
* gpio
This is enough to boot through to a busybox initramfs and shell using an upstream
kernel though :) More platform support will be added over the following weeks
and months. Currently we boot with clk_ignore_unused parameter but this will be
updated as more clocks and platform support lands.
For further information on how to build and flash the upstream kernel on your
Pixel 6, with a prebuilt busybox initramfs please refer to the script and
README.md here:
https://git.codelinaro.org/linaro/googlelt/pixelscripts
I've also included the dtbo overlay containing board_id and board_rev in this
series as otherwise the LK bootloader will bootloop if this is not present in
the dtbo partition. It seems like it would be nicer for the upstream kernel to
build all the DT required to boot upstream kernel on a production phone rather
than having to obtain this dtbo from some other place, but if it is a pain point
then I can remove it.
Many thanks,
Peter.
Peter Griffin (21):
dt-bindings: interrupt-controller: Add gs101 interrupt controller
dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible
dt-bindings: clock: Add Google gs101 clock management unit bindings
dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG
compatibles to GS101
dt-bindings: watchdog: Document Google gs101 & gs201 watchdog bindings
dt-bindings: arm: google: Add bindings for Google ARM platforms
dt-bindings: pinctrl: samsung: add google,gs101-pinctrl compatible
dt-bindings: pinctrl: samsung: add gs101-wakeup-eint compatible
dt-bindings: clock: gs101: Add cmu_top clock indices
dt-bindings: clock: gs101: Add cmu_apm clock indices
dt-bindings: clock: gs101: Add cmu_misc clock indices
clk: samsung: clk-pll: Add support for pll_{0516,0517,518}
clk: samsung: clk-gs101: Add cmu_top registers, plls, mux and gates
clk: samsung: clk-gs101: add CMU_APM support
clk: google: gs101: Add support for CMU_MISC clock unit
pinctrl: samsung: Add gs101 SoC pinctrl configuration
watchdog: s3c2410_wdt: Add support for Google tensor SoCs
arm64: dts: google: Add initial Google gs101 SoC support
google/gs101: Add dt overlay for oriole board
arm64: defconfig: Enable Google Tensor SoC
MAINTAINERS: add entry for Google Tensor SoC
.../devicetree/bindings/arm/google.yaml | 46 +
.../bindings/clock/google,gs101-clock.yaml | 109 +
.../samsung,pinctrl-wakeup-interrupt.yaml | 2 +
.../bindings/pinctrl/samsung,pinctrl.yaml | 4 +-
.../bindings/soc/samsung/exynos-pmu.yaml | 2 +
.../soc/samsung/samsung,exynos-sysreg.yaml | 7 +
.../bindings/watchdog/samsung-wdt.yaml | 10 +-
MAINTAINERS | 11 +
arch/arm64/Kconfig.platforms | 6 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/google/Makefile | 7 +
arch/arm64/boot/dts/google/gs101-oriole.dts | 68 +
arch/arm64/boot/dts/google/gs101-oriole.dtso | 21 +
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 ++++
arch/arm64/configs/defconfig | 1 +
drivers/clk/samsung/Kconfig | 9 +
drivers/clk/samsung/Makefile | 1 +
drivers/clk/samsung/clk-gs101.c | 2171 +++++++++++++++++
drivers/clk/samsung/clk-pll.c | 9 +-
drivers/clk/samsung/clk-pll.h | 3 +
.../pinctrl/samsung/pinctrl-exynos-arm64.c | 163 ++
drivers/pinctrl/samsung/pinctrl-exynos.c | 68 +-
drivers/pinctrl/samsung/pinctrl-exynos.h | 44 +
drivers/pinctrl/samsung/pinctrl-samsung.c | 4 +
drivers/pinctrl/samsung/pinctrl-samsung.h | 24 +
drivers/watchdog/s3c2410_wdt.c | 116 +-
include/dt-bindings/clock/gs101.h | 232 ++
.../dt-bindings/interrupt-controller/gs101.h | 758 ++++++
30 files changed, 5533 insertions(+), 16 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/google.yaml
create mode 100644 Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
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-oriole.dtso
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
create mode 100644 drivers/clk/samsung/clk-gs101.c
create mode 100644 include/dt-bindings/clock/gs101.h
create mode 100644 include/dt-bindings/interrupt-controller/gs101.h
--
2.42.0.582.g8ccd20d70d-goog
More information about the linux-arm-kernel
mailing list