Message ID | 20231120212037.911774-19-peter.griffin@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board | expand |
On Mon, Nov 20, 2023 at 3:21 PM Peter Griffin <peter.griffin@linaro.org> wrote: > > Add initial board support for the Pixel 6 phone code named Oriole. This > has been tested with a minimal busybox initramfs and boots to a shell. > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > --- > arch/arm64/boot/dts/exynos/Makefile | 2 + > arch/arm64/boot/dts/exynos/google/Makefile | 4 + > .../boot/dts/exynos/google/gs101-oriole.dts | 79 +++++++++++++++++++ > 3 files changed, 85 insertions(+) > create mode 100644 arch/arm64/boot/dts/exynos/google/Makefile > create mode 100644 arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > > diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile > index 6e4ba69268e5..44c24a8ad9e1 100644 > --- a/arch/arm64/boot/dts/exynos/Makefile > +++ b/arch/arm64/boot/dts/exynos/Makefile > @@ -1,4 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > +subdir-y += google > + > dtb-$(CONFIG_ARCH_EXYNOS) += \ > exynos5433-tm2.dtb \ > exynos5433-tm2e.dtb \ > diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile > new file mode 100644 > index 000000000000..0a6d5e1fe4ee > --- /dev/null > +++ b/arch/arm64/boot/dts/exynos/google/Makefile > @@ -0,0 +1,4 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > +dtb-$(CONFIG_ARCH_EXYNOS) += \ > + gs101-oriole.dtb \ > diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > new file mode 100644 > index 000000000000..111665490840 > --- /dev/null > +++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > @@ -0,0 +1,79 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Oriole Device Tree > + * > + * Copyright 2021-2023 Google,LLC > + */ > + > +/dts-v1/; > +/plugin/; Now that the dts is being built as a dtb (not dtbo), I don' think this /plugin/ bit is needed here? > + > +#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"; > + > + chosen { > + bootargs = "earlycon=exynos4210,mmio32,0x10A00000 console=ttySAC0"; > + }; > + > + 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; > + }; > + }; > +}; > + > +&pinctrl_1 { > + key_voldown: key-voldown-pins { > + samsung,pins = "gpa7-3"; > + samsung,pin-function = <0xf>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > + }; > + > + key_volup: key-volup-pins { > + samsung,pins = "gpa8-1"; > + samsung,pin-function = <0xf>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > + }; > +}; > + > +&pinctrl_0 { > + key_power: key-power-pins { > + samsung,pins = "gpa10-1"; > + samsung,pin-function = <0xf>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > + }; > +}; > + > +&watchdog_cl0 { > + timeout-sec = <30>; > +}; > -- > 2.43.0.rc1.413.gea7ed67945-goog >
Hi Sam, On Tue, 21 Nov 2023 at 18:39, Sam Protsenko <semen.protsenko@linaro.org> wrote: > > On Mon, Nov 20, 2023 at 3:21 PM Peter Griffin <peter.griffin@linaro.org> wrote: > > > > Add initial board support for the Pixel 6 phone code named Oriole. This > > has been tested with a minimal busybox initramfs and boots to a shell. Will fix it in v5. Peter > > > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > > --- > > arch/arm64/boot/dts/exynos/Makefile | 2 + > > arch/arm64/boot/dts/exynos/google/Makefile | 4 + > > .../boot/dts/exynos/google/gs101-oriole.dts | 79 +++++++++++++++++++ > > 3 files changed, 85 insertions(+) > > create mode 100644 arch/arm64/boot/dts/exynos/google/Makefile > > create mode 100644 arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > > > > diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile > > index 6e4ba69268e5..44c24a8ad9e1 100644 > > --- a/arch/arm64/boot/dts/exynos/Makefile > > +++ b/arch/arm64/boot/dts/exynos/Makefile > > @@ -1,4 +1,6 @@ > > # SPDX-License-Identifier: GPL-2.0 > > +subdir-y += google > > + > > dtb-$(CONFIG_ARCH_EXYNOS) += \ > > exynos5433-tm2.dtb \ > > exynos5433-tm2e.dtb \ > > diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile > > new file mode 100644 > > index 000000000000..0a6d5e1fe4ee > > --- /dev/null > > +++ b/arch/arm64/boot/dts/exynos/google/Makefile > > @@ -0,0 +1,4 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > + > > +dtb-$(CONFIG_ARCH_EXYNOS) += \ > > + gs101-oriole.dtb \ > > diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > > new file mode 100644 > > index 000000000000..111665490840 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts > > @@ -0,0 +1,79 @@ > > +// SPDX-License-Identifier: GPL-2.0-only > > +/* > > + * Oriole Device Tree > > + * > > + * Copyright 2021-2023 Google,LLC > > + */ > > + > > +/dts-v1/; > > +/plugin/; > > Now that the dts is being built as a dtb (not dtbo), I don' think this > /plugin/ bit is needed here? > > > + > > +#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"; > > + > > + chosen { > > + bootargs = "earlycon=exynos4210,mmio32,0x10A00000 console=ttySAC0"; > > + }; > > + > > + 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; > > + }; > > + }; > > +}; > > + > > +&pinctrl_1 { > > + key_voldown: key-voldown-pins { > > + samsung,pins = "gpa7-3"; > > + samsung,pin-function = <0xf>; > > + samsung,pin-pud = <0>; > > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > > + }; > > + > > + key_volup: key-volup-pins { > > + samsung,pins = "gpa8-1"; > > + samsung,pin-function = <0xf>; > > + samsung,pin-pud = <0>; > > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > > + }; > > +}; > > + > > +&pinctrl_0 { > > + key_power: key-power-pins { > > + samsung,pins = "gpa10-1"; > > + samsung,pin-function = <0xf>; > > + samsung,pin-pud = <0>; > > + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; > > + }; > > +}; > > + > > +&watchdog_cl0 { > > + timeout-sec = <30>; > > +}; > > -- > > 2.43.0.rc1.413.gea7ed67945-goog > >
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile index 6e4ba69268e5..44c24a8ad9e1 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -1,4 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 +subdir-y += google + dtb-$(CONFIG_ARCH_EXYNOS) += \ exynos5433-tm2.dtb \ exynos5433-tm2e.dtb \ diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile new file mode 100644 index 000000000000..0a6d5e1fe4ee --- /dev/null +++ b/arch/arm64/boot/dts/exynos/google/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 + +dtb-$(CONFIG_ARCH_EXYNOS) += \ + gs101-oriole.dtb \ diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts new file mode 100644 index 000000000000..111665490840 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Oriole Device Tree + * + * Copyright 2021-2023 Google,LLC + */ + +/dts-v1/; +/plugin/; + +#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"; + + chosen { + bootargs = "earlycon=exynos4210,mmio32,0x10A00000 console=ttySAC0"; + }; + + 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; + }; + }; +}; + +&pinctrl_1 { + key_voldown: key-voldown-pins { + samsung,pins = "gpa7-3"; + samsung,pin-function = <0xf>; + samsung,pin-pud = <0>; + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; + }; + + key_volup: key-volup-pins { + samsung,pins = "gpa8-1"; + samsung,pin-function = <0xf>; + samsung,pin-pud = <0>; + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; + }; +}; + +&pinctrl_0 { + key_power: key-power-pins { + samsung,pins = "gpa10-1"; + samsung,pin-function = <0xf>; + samsung,pin-pud = <0>; + samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; + }; +}; + +&watchdog_cl0 { + timeout-sec = <30>; +};
Add initial board support for the Pixel 6 phone code named Oriole. This has been tested with a minimal busybox initramfs and boots to a shell. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> --- arch/arm64/boot/dts/exynos/Makefile | 2 + arch/arm64/boot/dts/exynos/google/Makefile | 4 + .../boot/dts/exynos/google/gs101-oriole.dts | 79 +++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/google/Makefile create mode 100644 arch/arm64/boot/dts/exynos/google/gs101-oriole.dts