* [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
* 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 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
* [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
* 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
* [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
* 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 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 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 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 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
* [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 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 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
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).