* [PATCH 0/4] Google Pixel 6 (simple) framebuffer support
@ 2024-12-16 13:06 André Draszik
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: André Draszik @ 2024-12-16 13:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar
Cc: Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, André Draszik
Hi,
This series enables simple framebuffer support on Google Pixel 6 and
Pixel 6 Pro.
Even if simple-framebuffer is deprecated and DRM should be used
instead, having it available in DT is beneficial for several reasons at
this point in time (the phone uses an OLED display):
* energy consumption goes down significantly, as it changes from white
(as left by bootloader) to black (linux console), and we generally
don't run out of battery anymore when plugged into a USB port
* less of a burn-in effect I assume
* phone stays cooler due to reduced energy consumption by display
Since Pixel 6 and Pixel 6 Pro use a different resolution display, this
is the time to separate them into their respective DTs, and provide one
for each of them. There are other differences between the two, like
battery design capacity, but they don't matter at this stage due to
incomplete upstream support.
* dependency note *
Due to the renaming of the gs101-oriole.dts, this series will conflict
with any pending patches touching the same file. I have therefore based
this series on top of my USB series from
https://lore.kernel.org/r/20241203-gs101-phy-lanes-orientation-dts-v2-0-1412783a6b01@linaro.org
Please let me know if I should do something different.
* dependency note end *
For those who want to try this out:
The stock bootloader disables the decon hardware trigger before jumping
to Linux, preventing framebuffer updates from reaching the display. We
have added a work-around in our Yocto BSP layer for the time being
(until a proper display exists upstream). An alternative might be to
port and use uniLoader from https://github.com/ivoszbg/uniLoader, as
seems to be done for some other Exynos platforms.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
André Draszik (4):
dt-bindings: arm: google: add gs101-raven
arm64: dts: exynos: gs101-oriole: configure simple-framebuffer
arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
arm64: dts: exynos: gs101-raven: add new board file
Documentation/devicetree/bindings/arm/google.yaml | 3 +-
arch/arm64/boot/dts/exynos/google/Makefile | 1 +
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 269 +------------------
arch/arm64/boot/dts/exynos/google/gs101-raven.dts | 27 ++
.../boot/dts/exynos/google/gs101-raviole.dtsi | 297 +++++++++++++++++++++
5 files changed, 335 insertions(+), 262 deletions(-)
---
base-commit: d454191ca68125bee218d1d67d6716d7e753dc7b
change-id: 20241216-gs101-simplefb-8aae80278ed7
Best regards,
--
André Draszik <andre.draszik@linaro.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] dt-bindings: arm: google: add gs101-raven
2024-12-16 13:06 [PATCH 0/4] Google Pixel 6 (simple) framebuffer support André Draszik
@ 2024-12-16 13:06 ` André Draszik
2024-12-18 12:15 ` Peter Griffin
2024-12-18 19:17 ` Rob Herring (Arm)
2024-12-16 13:06 ` [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer André Draszik
` (2 subsequent siblings)
3 siblings, 2 replies; 15+ messages in thread
From: André Draszik @ 2024-12-16 13:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar
Cc: Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, André Draszik
Raven is Google's code name for Pixel 6 Pro. Since there are
differences compared to Pixel 6 (Oriole), we need to add a separate
compatible for it.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Documentation/devicetree/bindings/arm/google.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/arm/google.yaml b/Documentation/devicetree/bindings/arm/google.yaml
index e20b5c9b16bc..99961e5282e5 100644
--- a/Documentation/devicetree/bindings/arm/google.yaml
+++ b/Documentation/devicetree/bindings/arm/google.yaml
@@ -34,10 +34,11 @@ properties:
const: '/'
compatible:
oneOf:
- - description: Google Pixel 6 / Oriole
+ - description: Google Pixel 6 or 6 Pro (Oriole or Raven)
items:
- enum:
- google,gs101-oriole
+ - google,gs101-raven
- const: google,gs101
# Bootloader requires empty ect node to be present
--
2.47.1.613.gc27f4b7a9f-goog
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer
2024-12-16 13:06 [PATCH 0/4] Google Pixel 6 (simple) framebuffer support André Draszik
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
@ 2024-12-16 13:06 ` André Draszik
2024-12-18 12:17 ` Peter Griffin
2024-12-16 13:06 ` [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi André Draszik
2024-12-16 13:06 ` [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file André Draszik
3 siblings, 1 reply; 15+ messages in thread
From: André Draszik @ 2024-12-16 13:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar
Cc: Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, André Draszik
The bootloader configures the display hardware for a framebuffer at the
given address, let's add a simple-framebuffer node here until we get a
proper DRM driver.
This has several benefits since it's an OLED display:
* energy consumption goes down significantly, as it changes from white
(as left by bootloader) to black (linux console), and we generally
don't run out of battery anymore when plugged into a USB port
* less of a burn-in effect I assume
* phone stays cooler due to reduced energy consumption by display
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index e58881c61d53..4e1625e3fbb4 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -23,9 +23,23 @@ aliases {
};
chosen {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges;
+
/* Bootloader expects bootargs specified otherwise it crashes */
bootargs = "";
stdout-path = &serial_0;
+
+ /* Use display framebuffer as setup by bootloader */
+ framebuffer0: framebuffer@fac00000 {
+ compatible = "simple-framebuffer";
+ reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
+ width = <1080>;
+ height = <2400>;
+ stride = <(1080 * 4)>;
+ format = "a8r8g8b8";
+ };
};
gpio-keys {
@@ -69,6 +83,13 @@ ufs_0_fixed_vcc_reg: regulator-1 {
regulator-boot-on;
enable-active-high;
};
+
+ reserved-memory {
+ cont_splash_mem: splash@fac00000 {
+ reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
+ no-map;
+ };
+ };
};
&ext_24_5m {
--
2.47.1.613.gc27f4b7a9f-goog
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-16 13:06 [PATCH 0/4] Google Pixel 6 (simple) framebuffer support André Draszik
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
2024-12-16 13:06 ` [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer André Draszik
@ 2024-12-16 13:06 ` André Draszik
2024-12-17 7:38 ` Krzysztof Kozlowski
2024-12-18 12:14 ` Peter Griffin
2024-12-16 13:06 ` [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file André Draszik
3 siblings, 2 replies; 15+ messages in thread
From: André Draszik @ 2024-12-16 13:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar
Cc: Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, André Draszik
In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
we have to be able to distinguish them properly as we add support for
more features.
For example, Raven has a larger display. There are other differences,
like battery design capacity, etc.
Move all the parts that are common for now into a gs101-raviole.dtsi,
and just leave the display related things in gs101-oriole.dts.
Raviole was chosen as the name because Google uses that when referring
to the combination of Oriole & Raven, keeping the familiar terminology.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Note: MAINTAINERS doesn't need updating, it covers this whole directory
---
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 290 +-------------------
.../boot/dts/exynos/google/gs101-raviole.dtsi | 297 +++++++++++++++++++++
2 files changed, 305 insertions(+), 282 deletions(-)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index 4e1625e3fbb4..2bc9371cd42e 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -8,294 +8,20 @@
/dts-v1/;
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/usb/pd.h>
-#include "gs101-pinctrl.h"
-#include "gs101.dtsi"
+#include "gs101-raviole.dtsi"
/ {
model = "Oriole";
compatible = "google,gs101-oriole", "google,gs101";
-
- aliases {
- serial0 = &serial_0;
- };
-
- chosen {
- #address-cells = <2>;
- #size-cells = <1>;
- ranges;
-
- /* Bootloader expects bootargs specified otherwise it crashes */
- bootargs = "";
- stdout-path = &serial_0;
-
- /* Use display framebuffer as setup by bootloader */
- framebuffer0: framebuffer@fac00000 {
- compatible = "simple-framebuffer";
- reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
- width = <1080>;
- height = <2400>;
- stride = <(1080 * 4)>;
- format = "a8r8g8b8";
- };
- };
-
- gpio-keys {
- compatible = "gpio-keys";
- pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>;
- pinctrl-names = "default";
-
- 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;
- };
- };
-
- /* TODO: Remove this once PMIC is implemented */
- reg_placeholder: regulator-0 {
- compatible = "regulator-fixed";
- regulator-name = "placeholder_reg";
- };
-
- /* TODO: Remove this once S2MPG11 slave PMIC is implemented */
- ufs_0_fixed_vcc_reg: regulator-1 {
- compatible = "regulator-fixed";
- regulator-name = "ufs-vcc";
- gpio = <&gpp0 1 GPIO_ACTIVE_HIGH>;
- regulator-boot-on;
- enable-active-high;
- };
-
- reserved-memory {
- cont_splash_mem: splash@fac00000 {
- reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
- no-map;
- };
- };
-};
-
-&ext_24_5m {
- clock-frequency = <24576000>;
-};
-
-&ext_200m {
- clock-frequency = <200000000>;
-};
-
-&hsi2c_8 {
- status = "okay";
-
- eeprom: eeprom@50 {
- compatible = "atmel,24c08";
- reg = <0x50>;
- };
-};
-
-&hsi2c_12 {
- status = "okay";
- /* TODO: add the devices once drivers exist */
-
- usb-typec@25 {
- compatible = "maxim,max77759-tcpci", "maxim,max33359";
- reg = <0x25>;
- interrupts-extended = <&gpa8 2 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&typec_int>;
- pinctrl-names = "default";
-
- connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- data-role = "dual";
- power-role = "dual";
- self-powered;
- try-power-role = "sink";
- op-sink-microwatt = <2600000>;
- slow-charger-loop;
- /*
- * max77759 operating in reverse boost mode (0xA) can
- * source up to 1.5A while extboost can only do ~1A.
- * Since extboost is the primary path, advertise 900mA.
- */
- source-pdos = <PDO_FIXED(5000, 900,
- (PDO_FIXED_SUSPEND
- | PDO_FIXED_USB_COMM
- | PDO_FIXED_DATA_SWAP
- | PDO_FIXED_DUAL_ROLE))>;
- sink-pdos = <PDO_FIXED(5000, 3000,
- (PDO_FIXED_DATA_SWAP
- | PDO_FIXED_USB_COMM
- | PDO_FIXED_HIGHER_CAP
- | PDO_FIXED_DUAL_ROLE))
- PDO_FIXED(9000, 2200, 0)
- PDO_PPS_APDO(5000, 11000, 3000)>;
- sink-vdos = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
- IDH_PTYPE_DFP_HOST, 2, 0x18d1)
- VDO_CERT(0x0)
- VDO_PRODUCT(0x4ee1, 0x0)
- VDO_UFP(UFP_VDO_VER1_2,
- (DEV_USB2_CAPABLE
- | DEV_USB3_CAPABLE),
- UFP_RECEPTACLE, 0,
- AMA_VCONN_NOT_REQ, 0,
- UFP_ALTMODE_NOT_SUPP,
- UFP_USB32_GEN1)
- /* padding */ 0
- VDO_DFP(DFP_VDO_VER1_1,
- (HOST_USB2_CAPABLE
- | HOST_USB3_CAPABLE),
- DFP_RECEPTACLE, 0)>;
- sink-vdos-v1 = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
- 0, 0, 0x18d1)
- VDO_CERT(0x0)
- VDO_PRODUCT(0x4ee1, 0x0)>;
- /*
- * Until bootloader is updated to set those two when
- * console is enabled, we disable PD here.
- */
- pd-disable;
- typec-power-opmode = "default";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- usbc0_orien_sw: endpoint {
- remote-endpoint = <&usbdrd31_phy_orien_switch>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- usbc0_role_sw: endpoint {
- remote-endpoint = <&usbdrd31_dwc3_role_switch>;
- };
- };
- };
- };
- };
-};
-
-&pinctrl_far_alive {
- key_voldown: key-voldown-pins {
- samsung,pins = "gpa7-3";
- samsung,pin-function = <GS101_PIN_FUNC_EINT>;
- samsung,pin-pud = <GS101_PIN_PULL_NONE>;
- samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
- };
-
- key_volup: key-volup-pins {
- samsung,pins = "gpa8-1";
- samsung,pin-function = <GS101_PIN_FUNC_EINT>;
- samsung,pin-pud = <GS101_PIN_PULL_NONE>;
- samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
- };
-
- typec_int: typec-int-pins {
- samsung,pins = "gpa8-2";
- samsung,pin-function = <GS101_PIN_FUNC_EINT>;
- samsung,pin-pud = <GS101_PIN_PULL_UP>;
- samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
- };
-};
-
-&pinctrl_gpio_alive {
- key_power: key-power-pins {
- samsung,pins = "gpa10-1";
- samsung,pin-function = <GS101_PIN_FUNC_EINT>;
- samsung,pin-pud = <GS101_PIN_PULL_NONE>;
- samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
- };
-};
-
-&serial_0 {
- status = "okay";
-};
-
-&ufs_0 {
- status = "okay";
- vcc-supply = <&ufs_0_fixed_vcc_reg>;
-};
-
-&ufs_0_phy {
- status = "okay";
-};
-
-&usbdrd31 {
- vdd10-supply = <®_placeholder>;
- vdd33-supply = <®_placeholder>;
- status = "okay";
-};
-
-&usbdrd31_dwc3 {
- dr_mode = "otg";
- usb-role-switch;
- role-switch-default-mode = "peripheral";
- maximum-speed = "super-speed-plus";
- status = "okay";
-
- port {
- usbdrd31_dwc3_role_switch: endpoint {
- remote-endpoint = <&usbc0_role_sw>;
- };
- };
-};
-
-&usbdrd31_phy {
- orientation-switch;
- /* TODO: Update these once PMIC is implemented */
- pll-supply = <®_placeholder>;
- dvdd-usb20-supply = <®_placeholder>;
- vddh-usb20-supply = <®_placeholder>;
- vdd33-usb20-supply = <®_placeholder>;
- vdda-usbdp-supply = <®_placeholder>;
- vddh-usbdp-supply = <®_placeholder>;
- status = "okay";
-
- port {
- usbdrd31_phy_orien_switch: endpoint {
- remote-endpoint = <&usbc0_orien_sw>;
- };
- };
-};
-
-&usi_uart {
- samsung,clkreq-on; /* needed for UART mode */
- status = "okay";
-};
-
-&usi8 {
- samsung,mode = <USI_V2_I2C>;
- status = "okay";
};
-&usi12 {
- samsung,mode = <USI_V2_I2C>;
- status = "okay";
+&framebuffer0 {
+ reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
+ width = <1080>;
+ height = <2400>;
+ stride = <(1080 * 4)>;
};
-&watchdog_cl0 {
- timeout-sec = <30>;
- status = "okay";
+&cont_splash_mem {
+ reg = <0x0 0xfac00000 (1080 * 2400 * 4)>;
};
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-raviole.dtsi b/arch/arm64/boot/dts/exynos/google/gs101-raviole.dtsi
new file mode 100644
index 000000000000..90b08c1addbb
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/google/gs101-raviole.dtsi
@@ -0,0 +1,297 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Raviole Device Tree
+ *
+ * Copyright 2021-2023 Google LLC
+ * Copyright 2023 Linaro Ltd - <peter.griffin@linaro.org>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/usb/pd.h>
+#include "gs101-pinctrl.h"
+#include "gs101.dtsi"
+
+/ {
+ aliases {
+ serial0 = &serial_0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ ranges;
+
+ /* Bootloader expects bootargs specified otherwise it crashes */
+ bootargs = "";
+ stdout-path = &serial_0;
+
+ /* Use display framebuffer as setup by bootloader */
+ framebuffer0: framebuffer@fac00000 {
+ compatible = "simple-framebuffer";
+ /* size to be updated by actual board */
+ reg = <0x0 0xfac00000 0x100>;
+ format = "a8r8g8b8";
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&key_voldown>, <&key_volup>, <&key_power>;
+ pinctrl-names = "default";
+
+ 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;
+ };
+ };
+
+ /* TODO: Remove this once PMIC is implemented */
+ reg_placeholder: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "placeholder_reg";
+ };
+
+ /* TODO: Remove this once S2MPG11 slave PMIC is implemented */
+ ufs_0_fixed_vcc_reg: regulator-1 {
+ compatible = "regulator-fixed";
+ regulator-name = "ufs-vcc";
+ gpio = <&gpp0 1 GPIO_ACTIVE_HIGH>;
+ regulator-boot-on;
+ enable-active-high;
+ };
+
+ reserved-memory {
+ cont_splash_mem: splash@fac00000 {
+ /* size to be updated by actual board */
+ reg = <0x0 0xfac00000 0x100>;
+ no-map;
+ };
+ };
+};
+
+&ext_24_5m {
+ clock-frequency = <24576000>;
+};
+
+&ext_200m {
+ clock-frequency = <200000000>;
+};
+
+&hsi2c_8 {
+ status = "okay";
+
+ eeprom: eeprom@50 {
+ compatible = "atmel,24c08";
+ reg = <0x50>;
+ };
+};
+
+&hsi2c_12 {
+ status = "okay";
+ /* TODO: add the devices once drivers exist */
+
+ usb-typec@25 {
+ compatible = "maxim,max77759-tcpci", "maxim,max33359";
+ reg = <0x25>;
+ interrupts-extended = <&gpa8 2 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&typec_int>;
+ pinctrl-names = "default";
+
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "dual";
+ power-role = "dual";
+ self-powered;
+ try-power-role = "sink";
+ op-sink-microwatt = <2600000>;
+ slow-charger-loop;
+ /*
+ * max77759 operating in reverse boost mode (0xA) can
+ * source up to 1.5A while extboost can only do ~1A.
+ * Since extboost is the primary path, advertise 900mA.
+ */
+ source-pdos = <PDO_FIXED(5000, 900,
+ (PDO_FIXED_SUSPEND
+ | PDO_FIXED_USB_COMM
+ | PDO_FIXED_DATA_SWAP
+ | PDO_FIXED_DUAL_ROLE))>;
+ sink-pdos = <PDO_FIXED(5000, 3000,
+ (PDO_FIXED_DATA_SWAP
+ | PDO_FIXED_USB_COMM
+ | PDO_FIXED_HIGHER_CAP
+ | PDO_FIXED_DUAL_ROLE))
+ PDO_FIXED(9000, 2200, 0)
+ PDO_PPS_APDO(5000, 11000, 3000)>;
+ sink-vdos = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
+ IDH_PTYPE_DFP_HOST, 2, 0x18d1)
+ VDO_CERT(0x0)
+ VDO_PRODUCT(0x4ee1, 0x0)
+ VDO_UFP(UFP_VDO_VER1_2,
+ (DEV_USB2_CAPABLE
+ | DEV_USB3_CAPABLE),
+ UFP_RECEPTACLE, 0,
+ AMA_VCONN_NOT_REQ, 0,
+ UFP_ALTMODE_NOT_SUPP,
+ UFP_USB32_GEN1)
+ /* padding */ 0
+ VDO_DFP(DFP_VDO_VER1_1,
+ (HOST_USB2_CAPABLE
+ | HOST_USB3_CAPABLE),
+ DFP_RECEPTACLE, 0)>;
+ sink-vdos-v1 = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
+ 0, 0, 0x18d1)
+ VDO_CERT(0x0)
+ VDO_PRODUCT(0x4ee1, 0x0)>;
+ /*
+ * Until bootloader is updated to set those two when
+ * console is enabled, we disable PD here.
+ */
+ pd-disable;
+ typec-power-opmode = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usbc0_orien_sw: endpoint {
+ remote-endpoint = <&usbdrd31_phy_orien_switch>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ usbc0_role_sw: endpoint {
+ remote-endpoint = <&usbdrd31_dwc3_role_switch>;
+ };
+ };
+ };
+ };
+ };
+};
+
+&pinctrl_far_alive {
+ key_voldown: key-voldown-pins {
+ samsung,pins = "gpa7-3";
+ samsung,pin-function = <GS101_PIN_FUNC_EINT>;
+ samsung,pin-pud = <GS101_PIN_PULL_NONE>;
+ samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
+ };
+
+ key_volup: key-volup-pins {
+ samsung,pins = "gpa8-1";
+ samsung,pin-function = <GS101_PIN_FUNC_EINT>;
+ samsung,pin-pud = <GS101_PIN_PULL_NONE>;
+ samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
+ };
+
+ typec_int: typec-int-pins {
+ samsung,pins = "gpa8-2";
+ samsung,pin-function = <GS101_PIN_FUNC_EINT>;
+ samsung,pin-pud = <GS101_PIN_PULL_UP>;
+ samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
+ };
+};
+
+&pinctrl_gpio_alive {
+ key_power: key-power-pins {
+ samsung,pins = "gpa10-1";
+ samsung,pin-function = <GS101_PIN_FUNC_EINT>;
+ samsung,pin-pud = <GS101_PIN_PULL_NONE>;
+ samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
+ };
+};
+
+&serial_0 {
+ status = "okay";
+};
+
+&ufs_0 {
+ status = "okay";
+ vcc-supply = <&ufs_0_fixed_vcc_reg>;
+};
+
+&ufs_0_phy {
+ status = "okay";
+};
+
+&usbdrd31 {
+ vdd10-supply = <®_placeholder>;
+ vdd33-supply = <®_placeholder>;
+ status = "okay";
+};
+
+&usbdrd31_dwc3 {
+ dr_mode = "otg";
+ usb-role-switch;
+ role-switch-default-mode = "peripheral";
+ maximum-speed = "super-speed-plus";
+ status = "okay";
+
+ port {
+ usbdrd31_dwc3_role_switch: endpoint {
+ remote-endpoint = <&usbc0_role_sw>;
+ };
+ };
+};
+
+&usbdrd31_phy {
+ orientation-switch;
+ /* TODO: Update these once PMIC is implemented */
+ pll-supply = <®_placeholder>;
+ dvdd-usb20-supply = <®_placeholder>;
+ vddh-usb20-supply = <®_placeholder>;
+ vdd33-usb20-supply = <®_placeholder>;
+ vdda-usbdp-supply = <®_placeholder>;
+ vddh-usbdp-supply = <®_placeholder>;
+ status = "okay";
+
+ port {
+ usbdrd31_phy_orien_switch: endpoint {
+ remote-endpoint = <&usbc0_orien_sw>;
+ };
+ };
+};
+
+&usi_uart {
+ samsung,clkreq-on; /* needed for UART mode */
+ status = "okay";
+};
+
+&usi8 {
+ samsung,mode = <USI_V2_I2C>;
+ status = "okay";
+};
+
+&usi12 {
+ samsung,mode = <USI_V2_I2C>;
+ status = "okay";
+};
+
+&watchdog_cl0 {
+ timeout-sec = <30>;
+ status = "okay";
+};
--
2.47.1.613.gc27f4b7a9f-goog
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file
2024-12-16 13:06 [PATCH 0/4] Google Pixel 6 (simple) framebuffer support André Draszik
` (2 preceding siblings ...)
2024-12-16 13:06 ` [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi André Draszik
@ 2024-12-16 13:06 ` André Draszik
2024-12-17 7:39 ` Krzysztof Kozlowski
3 siblings, 1 reply; 15+ messages in thread
From: André Draszik @ 2024-12-16 13:06 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar
Cc: Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, André Draszik
Raven is Google's code name for Pixel 6 Pro. Similar to Pixel 6
(Oriole), this is also based around its Tensor gs101 SoC.
For now, the relevant difference here is the display resolution:
1440 x 3120 instead of 1080 x 2400.
Create a new board file to reflect this difference.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Note: MAINTAINERS doesn't need updating, it covers this whole directory
---
arch/arm64/boot/dts/exynos/google/Makefile | 1 +
arch/arm64/boot/dts/exynos/google/gs101-raven.dts | 27 +++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile
index 0a6d5e1fe4ee..7385f82b03c9 100644
--- a/arch/arm64/boot/dts/exynos/google/Makefile
+++ b/arch/arm64/boot/dts/exynos/google/Makefile
@@ -2,3 +2,4 @@
dtb-$(CONFIG_ARCH_EXYNOS) += \
gs101-oriole.dtb \
+ gs101-raven.dtb
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-raven.dts b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
new file mode 100644
index 000000000000..75fd34797fa9
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Raven Device Tree
+ *
+ * Copyright 2021-2023 Google LLC
+ * Copyright 2023-2024 Linaro Ltd
+ */
+
+/dts-v1/;
+
+#include "gs101-raviole.dtsi"
+
+/ {
+ model = "Raven";
+ compatible = "google,gs101-raven", "google,gs101";
+};
+
+&framebuffer0 {
+ reg = <0x0 0xfac00000 (1440 * 3120 * 4)>;
+ width = <1440>;
+ height = <3120>;
+ stride = <(1440 * 4)>;
+};
+
+&cont_splash_mem {
+ reg = <0x0 0xfac00000 (1440 * 3120 * 4)>;
+};
--
2.47.1.613.gc27f4b7a9f-goog
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-16 13:06 ` [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi André Draszik
@ 2024-12-17 7:38 ` Krzysztof Kozlowski
2024-12-17 8:34 ` André Draszik
2024-12-18 12:14 ` Peter Griffin
1 sibling, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-17 7:38 UTC (permalink / raw)
To: André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar, Will McVicker, kernel-team,
devicetree, linux-kernel, linux-arm-kernel, linux-samsung-soc
On Mon, Dec 16, 2024 at 01:06:28PM +0000, André Draszik wrote:
> In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
> we have to be able to distinguish them properly as we add support for
> more features.
>
> For example, Raven has a larger display. There are other differences,
> like battery design capacity, etc.
>
> Move all the parts that are common for now into a gs101-raviole.dtsi,
> and just leave the display related things in gs101-oriole.dts.
>
> Raviole was chosen as the name because Google uses that when referring
> to the combination of Oriole & Raven, keeping the familiar terminology.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
>
> ---
> Note: MAINTAINERS doesn't need updating, it covers this whole directory
> ---
> arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 290 +-------------------
> .../boot/dts/exynos/google/gs101-raviole.dtsi | 297 +++++++++++++++++++++
> 2 files changed, 305 insertions(+), 282 deletions(-)
>
This looks like move of the code, so -M/-B/-C format patch arguments
would create better diff.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file
2024-12-16 13:06 ` [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file André Draszik
@ 2024-12-17 7:39 ` Krzysztof Kozlowski
2024-12-17 8:35 ` André Draszik
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-17 7:39 UTC (permalink / raw)
To: André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar, Will McVicker, kernel-team,
devicetree, linux-kernel, linux-arm-kernel, linux-samsung-soc
On Mon, Dec 16, 2024 at 01:06:29PM +0000, André Draszik wrote:
> Raven is Google's code name for Pixel 6 Pro. Similar to Pixel 6
> (Oriole), this is also based around its Tensor gs101 SoC.
>
> For now, the relevant difference here is the display resolution:
> 1440 x 3120 instead of 1080 x 2400.
>
> Create a new board file to reflect this difference.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
>
> ---
> Note: MAINTAINERS doesn't need updating, it covers this whole directory
> ---
> arch/arm64/boot/dts/exynos/google/Makefile | 1 +
> arch/arm64/boot/dts/exynos/google/gs101-raven.dts | 27 +++++++++++++++++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile
> index 0a6d5e1fe4ee..7385f82b03c9 100644
> --- a/arch/arm64/boot/dts/exynos/google/Makefile
> +++ b/arch/arm64/boot/dts/exynos/google/Makefile
> @@ -2,3 +2,4 @@
>
> dtb-$(CONFIG_ARCH_EXYNOS) += \
> gs101-oriole.dtb \
> + gs101-raven.dtb
> diff --git a/arch/arm64/boot/dts/exynos/google/gs101-raven.dts b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
> new file mode 100644
> index 000000000000..75fd34797fa9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Raven Device Tree
> + *
> + * Copyright 2021-2023 Google LLC
> + * Copyright 2023-2024 Linaro Ltd
> + */
> +
> +/dts-v1/;
> +
> +#include "gs101-raviole.dtsi"
> +
> +/ {
> + model = "Raven";
> + compatible = "google,gs101-raven", "google,gs101";
> +};
> +
> +&framebuffer0 {
> + reg = <0x0 0xfac00000 (1440 * 3120 * 4)>;
> + width = <1440>;
> + height = <3120>;
> + stride = <(1440 * 4)>;
> +};
> +
> +&cont_splash_mem {
Keep overriding/extending nodes ordered by label name.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-17 7:38 ` Krzysztof Kozlowski
@ 2024-12-17 8:34 ` André Draszik
2024-12-18 19:16 ` Rob Herring
0 siblings, 1 reply; 15+ messages in thread
From: André Draszik @ 2024-12-17 8:34 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar, Will McVicker, kernel-team,
devicetree, linux-kernel, linux-arm-kernel, linux-samsung-soc
On Tue, 2024-12-17 at 08:38 +0100, Krzysztof Kozlowski wrote:
> On Mon, Dec 16, 2024 at 01:06:28PM +0000, André Draszik wrote:
> > In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
> > we have to be able to distinguish them properly as we add support for
> > more features.
> >
> > For example, Raven has a larger display. There are other differences,
> > like battery design capacity, etc.
> >
> > Move all the parts that are common for now into a gs101-raviole.dtsi,
> > and just leave the display related things in gs101-oriole.dts.
> >
> > Raviole was chosen as the name because Google uses that when referring
> > to the combination of Oriole & Raven, keeping the familiar terminology.
> >
> > Signed-off-by: André Draszik <andre.draszik@linaro.org>
> >
> > ---
> > Note: MAINTAINERS doesn't need updating, it covers this whole directory
> > ---
> > arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 290 +-------------------
> > .../boot/dts/exynos/google/gs101-raviole.dtsi | 297 +++++++++++++++++++++
> > 2 files changed, 305 insertions(+), 282 deletions(-)
> >
>
> This looks like move of the code, so -M/-B/-C format patch arguments
> would create better diff.
Ah, yes, forgot about those when I switched to using b4 instead of
custom scripts...
Cheers,
Andre
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file
2024-12-17 7:39 ` Krzysztof Kozlowski
@ 2024-12-17 8:35 ` André Draszik
0 siblings, 0 replies; 15+ messages in thread
From: André Draszik @ 2024-12-17 8:35 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Peter Griffin,
Tudor Ambarus, Alim Akhtar, Will McVicker, kernel-team,
devicetree, linux-kernel, linux-arm-kernel, linux-samsung-soc
On Tue, 2024-12-17 at 08:39 +0100, Krzysztof Kozlowski wrote:
> On Mon, Dec 16, 2024 at 01:06:29PM +0000, André Draszik wrote:
> > Raven is Google's code name for Pixel 6 Pro. Similar to Pixel 6
> > (Oriole), this is also based around its Tensor gs101 SoC.
> >
> > For now, the relevant difference here is the display resolution:
> > 1440 x 3120 instead of 1080 x 2400.
> >
> > Create a new board file to reflect this difference.
> >
> > Signed-off-by: André Draszik <andre.draszik@linaro.org>
> >
> > ---
> > Note: MAINTAINERS doesn't need updating, it covers this whole directory
> > ---
> > arch/arm64/boot/dts/exynos/google/Makefile | 1 +
> > arch/arm64/boot/dts/exynos/google/gs101-raven.dts | 27 +++++++++++++++++++++++
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/exynos/google/Makefile b/arch/arm64/boot/dts/exynos/google/Makefile
> > index 0a6d5e1fe4ee..7385f82b03c9 100644
> > --- a/arch/arm64/boot/dts/exynos/google/Makefile
> > +++ b/arch/arm64/boot/dts/exynos/google/Makefile
> > @@ -2,3 +2,4 @@
> >
> > dtb-$(CONFIG_ARCH_EXYNOS) += \
> > gs101-oriole.dtb \
> > + gs101-raven.dtb
> > diff --git a/arch/arm64/boot/dts/exynos/google/gs101-raven.dts b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
> > new file mode 100644
> > index 000000000000..75fd34797fa9
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/exynos/google/gs101-raven.dts
> > @@ -0,0 +1,27 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +/*
> > + * Raven Device Tree
> > + *
> > + * Copyright 2021-2023 Google LLC
> > + * Copyright 2023-2024 Linaro Ltd
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "gs101-raviole.dtsi"
> > +
> > +/ {
> > + model = "Raven";
> > + compatible = "google,gs101-raven", "google,gs101";
> > +};
> > +
> > +&framebuffer0 {
> > + reg = <0x0 0xfac00000 (1440 * 3120 * 4)>;
> > + width = <1440>;
> > + height = <3120>;
> > + stride = <(1440 * 4)>;
> > +};
> > +
> > +&cont_splash_mem {
>
> Keep overriding/extending nodes ordered by label name.
OK - I had kept the original order (from dtsi), but will change.
Cheers,
Andre'
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-16 13:06 ` [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi André Draszik
2024-12-17 7:38 ` Krzysztof Kozlowski
@ 2024-12-18 12:14 ` Peter Griffin
2024-12-18 12:36 ` Krzysztof Kozlowski
1 sibling, 1 reply; 15+ messages in thread
From: Peter Griffin @ 2024-12-18 12:14 UTC (permalink / raw)
To: André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tudor Ambarus,
Alim Akhtar, Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
Hi André,
On Mon, 16 Dec 2024 at 13:06, André Draszik <andre.draszik@linaro.org> wrote:
>
> In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
> we have to be able to distinguish them properly as we add support for
> more features.
>
> For example, Raven has a larger display. There are other differences,
> like battery design capacity, etc.
>
> Move all the parts that are common for now into a gs101-raviole.dtsi,
> and just leave the display related things in gs101-oriole.dts.
>
> Raviole was chosen as the name because Google uses that when referring
> to the combination of Oriole & Raven, keeping the familiar terminology.
As discussed off list lets not use the "raviole" terminology (as it
precludes Pixel 6a / Bluejay which is also based on gs101). I think
something like gs101-board-common.dtsi would be better.
Additionally I tested this series on a Pixel 6 Oriole device (with the
latest Yocto initramfs) and the frame-buffer was functional.
With the above comments addressed
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
regards,
Peter
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] dt-bindings: arm: google: add gs101-raven
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
@ 2024-12-18 12:15 ` Peter Griffin
2024-12-18 19:17 ` Rob Herring (Arm)
1 sibling, 0 replies; 15+ messages in thread
From: Peter Griffin @ 2024-12-18 12:15 UTC (permalink / raw)
To: André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tudor Ambarus,
Alim Akhtar, Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
Hi André,
On Mon, 16 Dec 2024 at 13:06, André Draszik <andre.draszik@linaro.org> wrote:
>
> Raven is Google's code name for Pixel 6 Pro. Since there are
> differences compared to Pixel 6 (Oriole), we need to add a separate
> compatible for it.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
regards,
Peter
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer
2024-12-16 13:06 ` [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer André Draszik
@ 2024-12-18 12:17 ` Peter Griffin
0 siblings, 0 replies; 15+ messages in thread
From: Peter Griffin @ 2024-12-18 12:17 UTC (permalink / raw)
To: André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tudor Ambarus,
Alim Akhtar, Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
Hi Andre
On Mon, 16 Dec 2024 at 13:06, André Draszik <andre.draszik@linaro.org> wrote:
>
> The bootloader configures the display hardware for a framebuffer at the
> given address, let's add a simple-framebuffer node here until we get a
> proper DRM driver.
>
> This has several benefits since it's an OLED display:
> * energy consumption goes down significantly, as it changes from white
> (as left by bootloader) to black (linux console), and we generally
> don't run out of battery anymore when plugged into a USB port
> * less of a burn-in effect I assume
> * phone stays cooler due to reduced energy consumption by display
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Tested on Oriole device, with latest initramfs and framebuffer was functional.
regards,
Peter
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-18 12:14 ` Peter Griffin
@ 2024-12-18 12:36 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-18 12:36 UTC (permalink / raw)
To: Peter Griffin, André Draszik
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Tudor Ambarus,
Alim Akhtar, Will McVicker, kernel-team, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
On 18/12/2024 13:14, Peter Griffin wrote:
> Hi André,
>
> On Mon, 16 Dec 2024 at 13:06, André Draszik <andre.draszik@linaro.org> wrote:
>>
>> In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
>> we have to be able to distinguish them properly as we add support for
>> more features.
>>
>> For example, Raven has a larger display. There are other differences,
>> like battery design capacity, etc.
>>
>> Move all the parts that are common for now into a gs101-raviole.dtsi,
>> and just leave the display related things in gs101-oriole.dts.
>>
>> Raviole was chosen as the name because Google uses that when referring
>> to the combination of Oriole & Raven, keeping the familiar terminology.
>
> As discussed off list lets not use the "raviole" terminology (as it
> precludes Pixel 6a / Bluejay which is also based on gs101). I think
> something like gs101-board-common.dtsi would be better.
gs101 is a SoC not a phone and you need here something common for
boards. Choose whatever name you like, but there should be a name (so
gs101-foo-common).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi
2024-12-17 8:34 ` André Draszik
@ 2024-12-18 19:16 ` Rob Herring
0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2024-12-18 19:16 UTC (permalink / raw)
To: André Draszik
Cc: Krzysztof Kozlowski, Krzysztof Kozlowski, Conor Dooley,
Peter Griffin, Tudor Ambarus, Alim Akhtar, Will McVicker,
kernel-team, devicetree, linux-kernel, linux-arm-kernel,
linux-samsung-soc
On Tue, Dec 17, 2024 at 08:34:50AM +0000, André Draszik wrote:
> On Tue, 2024-12-17 at 08:38 +0100, Krzysztof Kozlowski wrote:
> > On Mon, Dec 16, 2024 at 01:06:28PM +0000, André Draszik wrote:
> > > In order to support Pixel 6 (Oriole) and Pixel 6 Pro (Raven) properly,
> > > we have to be able to distinguish them properly as we add support for
> > > more features.
> > >
> > > For example, Raven has a larger display. There are other differences,
> > > like battery design capacity, etc.
> > >
> > > Move all the parts that are common for now into a gs101-raviole.dtsi,
> > > and just leave the display related things in gs101-oriole.dts.
> > >
> > > Raviole was chosen as the name because Google uses that when referring
> > > to the combination of Oriole & Raven, keeping the familiar terminology.
> > >
> > > Signed-off-by: André Draszik <andre.draszik@linaro.org>
> > >
> > > ---
> > > Note: MAINTAINERS doesn't need updating, it covers this whole directory
> > > ---
> > > arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 290 +-------------------
> > > .../boot/dts/exynos/google/gs101-raviole.dtsi | 297 +++++++++++++++++++++
> > > 2 files changed, 305 insertions(+), 282 deletions(-)
> > >
> >
> > This looks like move of the code, so -M/-B/-C format patch arguments
> > would create better diff.
>
> Ah, yes, forgot about those when I switched to using b4 instead of
> custom scripts...
If b4 does not do that by default, then it should set the option. One
less thing to get right for users. I sent a patch for that.
Rob
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] dt-bindings: arm: google: add gs101-raven
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
2024-12-18 12:15 ` Peter Griffin
@ 2024-12-18 19:17 ` Rob Herring (Arm)
1 sibling, 0 replies; 15+ messages in thread
From: Rob Herring (Arm) @ 2024-12-18 19:17 UTC (permalink / raw)
To: André Draszik
Cc: devicetree, Peter Griffin, linux-kernel, Will McVicker,
Conor Dooley, linux-samsung-soc, linux-arm-kernel,
Krzysztof Kozlowski, Alim Akhtar, kernel-team, Tudor Ambarus
On Mon, 16 Dec 2024 13:06:26 +0000, André Draszik wrote:
> Raven is Google's code name for Pixel 6 Pro. Since there are
> differences compared to Pixel 6 (Oriole), we need to add a separate
> compatible for it.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
> Documentation/devicetree/bindings/arm/google.yaml | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-12-18 19:17 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-16 13:06 [PATCH 0/4] Google Pixel 6 (simple) framebuffer support André Draszik
2024-12-16 13:06 ` [PATCH 1/4] dt-bindings: arm: google: add gs101-raven André Draszik
2024-12-18 12:15 ` Peter Griffin
2024-12-18 19:17 ` Rob Herring (Arm)
2024-12-16 13:06 ` [PATCH 2/4] arm64: dts: exynos: gs101-oriole: configure simple-framebuffer André Draszik
2024-12-18 12:17 ` Peter Griffin
2024-12-16 13:06 ` [PATCH 3/4] arm64: dts: exynos: gs101-oriole: move common Pixel6 & 6Pro parts into a .dtsi André Draszik
2024-12-17 7:38 ` Krzysztof Kozlowski
2024-12-17 8:34 ` André Draszik
2024-12-18 19:16 ` Rob Herring
2024-12-18 12:14 ` Peter Griffin
2024-12-18 12:36 ` Krzysztof Kozlowski
2024-12-16 13:06 ` [PATCH 4/4] arm64: dts: exynos: gs101-raven: add new board file André Draszik
2024-12-17 7:39 ` Krzysztof Kozlowski
2024-12-17 8:35 ` André Draszik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).