Files
2026-09-06 12:53:21 -06:00

924 lines
22 KiB
Devicetree

// SPDX-License-Identifier: GPL-2.0-only
/*
* Device Tree nodes common for all GS101-based Pixel
*
* 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/regulator/samsung,s2mpg10-regulator.h>
#include <dt-bindings/usb/pd.h>
#include "gs101-pinctrl.h"
#include "gs101.dtsi"
/ {
aliases {
serial0 = &serial_0;
};
chosen {
/* Bootloader expects bootargs specified otherwise it crashes */
bootargs = "";
stdout-path = &serial_0;
/* Use display framebuffer as setup by bootloader */
framebuffer0: framebuffer-0 {
compatible = "simple-framebuffer";
memory-region = <&cont_splash_mem>;
vci-supply = <&s2mpg10_ldo22m>;
vddi-supply = <&s2mpg11_bucka>;
/* format properties to be added by actual board */
status = "disabled";
};
};
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;
};
};
reboot-mode {
compatible = "nvmem-reboot-mode";
nvmem-cells = <&nvmem_reboot_mode>;
nvmem-cell-names = "reboot-mode";
mode-bootloader = <0x800000fc>;
mode-charge = <0x8000000a>;
mode-dm-verity-device-corrupted = <0x80000050>;
mode-fastboot = <0x800000fa>;
mode-reboot-ab-update = <0x80000052>;
mode-recovery = <0x800000ff>;
mode-rescue = <0x800000f9>;
mode-shutdown-thermal = <0x80000051>;
mode-shutdown-thermal-battery = <0x80000051>;
};
/* 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 0x0>;
no-map;
status = "disabled";
};
};
};
&acpm_ipc {
pmic-1 {
compatible = "samsung,s2mpg10-pmic";
interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int>;
system-power-controller;
wakeup-source;
vinl1m-supply = <&s2mpg11_buck3s>;
vinl2m-supply = <&s2mpg11_buck3s>;
vinl3m-supply = <&s2mpg10_buck8m>;
vinl4m-supply = <&s2mpg10_buck9m>;
vinl5m-supply = <&s2mpg10_buck9m>;
vinl6m-supply = <&s2mpg10_buck9m>;
vinl7m-supply = <&s2mpg11_buck6s>;
vinl8m-supply = <&s2mpg11_buck6s>;
vinl9m-supply = <&s2mpg11_buck7s>;
vinl10m-supply = <&s2mpg11_buck7s>;
vinl11m-supply = <&s2mpg11_buck7s>;
vinl12m-supply = <&s2mpg11_bucka>;
vinl13m-supply = <&s2mpg11_bucka>;
vinl14m-supply = <&s2mpg11_buckboost>;
vinl15m-supply = <&s2mpg11_buckboost>;
clocks {
compatible = "samsung,s2mpg10-clk";
#clock-cells = <1>;
clock-output-names = "rtc32k_ap", "peri32k1",
"peri32k2";
};
regulators {
buck1m {
regulator-name = "vdd_mif";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
buck2m {
regulator-name = "vdd_cpucl2";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_CPUCL2_EN2>;
};
buck3m {
regulator-name = "vdd_cpucl1";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_CPUCL1_EN2>;
};
buck4m {
regulator-name = "vdd_cpucl0";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN>;
};
buck5m {
regulator-name = "vdd_int";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
buck6m {
regulator-name = "vdd_cpucl2_m";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_CPUCL2_EN2>;
};
buck7m {
/* GPU */
regulator-name = "vdd_int_m";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
s2mpg10_buck8m: buck8m {
regulator-name = "lldo2";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
};
s2mpg10_buck9m: buck9m {
regulator-name = "lldo3";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
};
buck10m {
regulator-name = "vdd_tpu";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_TPU_EN>;
};
ldo1m {
/* ALIVE, AOC PLL */
regulator-name = "vdd_l1m_alive";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
};
ldo2m {
/* lots, DDR */
regulator-name = "vdd_l2m_alive";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
};
ldo3m {
/* AVDD: MIPI CSI & DSI, PLL: CPUCL SHARED TPU UFS */
regulator-name = "ldo3m";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
ldo4m {
/* AVDD: MIPI CSI & DSI, UFS, OTP, TS_SUB, TS_TOP, XOTP */
regulator-name = "ldo4m";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
ldo5m {
/* VDD: ADD, AVDD: TCXO & TCXO_FAR */
regulator-name = "avdd075_tcxo";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_TCXO_ON>;
};
ldo6m {
/* PLL CPUCL & MIFx, UFS clk, MIPI DSI */
regulator-name = "vdd_pll";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN_MIF>;
};
ldo7m {
/* IO (HSI (USB)) */
regulator-name = "vdd_hsi";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <6250>;
/*
* TODO: link to HSI power domain, without this,
* Linux hangs during USB access.
*/
regulator-always-on;
};
ldo8m {
regulator-name = "vdd085_usb";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
};
ldo9m {
regulator-name = "vdd18_usb";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
};
ldo10m {
regulator-name = "vdd33_usb";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3350000>;
regulator-always-on;
};
ldo11m {
regulator-name = "vdd_cpucl1_m";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_CPUCL1_EN2>;
};
ldo12m {
regulator-name = "vdd_cpucl0_m";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_PWREN>;
};
ldo13m {
regulator-name = "vdd_tpu_m";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_TPU_EN>;
};
/* ldo14m is board specific */
ldo15m {
regulator-name = "vdd_slc_m";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
};
ldo16m {
regulator-name = "vdd085_pcie0";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
};
ldo17m {
regulator-name = "vdd085_pcie1";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
};
ldo18m {
regulator-name = "vdd18_pcie0";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
ldo19m {
regulator-name = "vdd18_pcie1";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
ldo20m {
/* DMIC, memory power */
regulator-name = "vddq_aoc_pdm";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
samsung,ext-control = <S2MPG10_EXTCTRL_LDO20M_EN2>;
};
ldo21m {
/* Dauntless */
regulator-name = "vdd_dtls";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
s2mpg10_ldo22m: ldo22m {
/* display */
regulator-name = "vci_disp";
regulator-min-microvolt = <3025000>;
regulator-max-microvolt = <3025000>;
};
/* ldo23m & ldo24m are unused */
ldo25m {
/* touch */
regulator-name = "dvdd_tsp";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
ldo26m {
/* touch */
regulator-name = "avdd_ts";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
};
ldo27m {
/* under-display fingerprint scanner */
regulator-name = "avdd_udfps";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
};
/*
*ldo28m .. ldo30m are unused, ldo31m is board specific
*/
};
};
pmic-2 {
compatible = "samsung,s2mpg11-pmic";
interrupts-extended = <&gpa0 7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&sub_pmic_int>;
wakeup-source;
vinl1s-supply = <&s2mpg10_buck8m>;
vinl2s-supply = <&s2mpg11_buck6s>;
vinl3s-supply = <&s2mpg11_buck7s>;
vinl4s-supply = <&s2mpg11_buck7s>;
vinl5s-supply = <&s2mpg11_buckboost>;
vinl6s-supply = <&s2mpg11_buckboost>;
vinbd-supply = <&s2mpg11_buckboost>;
regulators {
buck1s {
/* multimedia */
regulator-name = "vdd_cam";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_PWREN_MIF>;
};
buck2s {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_G3D_EN>;
};
s2mpg11_buck3s: buck3s {
regulator-name = "lldo1";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
};
buck4s {
/* DDR */
regulator-name = "vdd2h_mem";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
};
buck5s {
/* DDR */
regulator-name = "vddq_mem";
regulator-min-microvolt = <400000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_PWREN_MIF>;
};
s2mpg11_buck6s: buck6s {
regulator-name = "lldo4";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1500000>;
regulator-ramp-delay = <6250>;
};
s2mpg11_buck7s: buck7s {
regulator-name = "mldo";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <2200000>;
regulator-ramp-delay = <6250>;
};
buck8s {
regulator-name = "vdd_g3d_l2";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_G3D_EN>;
};
buck9s {
regulator-name = "vdd_aoc";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
};
buck10s {
/* DDR */
regulator-name = "vdd2l_mem";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
};
buckd {
regulator-name = "vcc_ufs";
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_UFS_EN>;
};
s2mpg11_bucka: bucka {
/* lots, IO */
regulator-name = "bucka";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <2100000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
};
s2mpg11_buckboost: buckboost {
regulator-name = "buckboost";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3600000>;
};
ldo1s {
regulator-name = "vdd_g3d_m";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <6250>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_G3D_EN>;
};
ldo2s {
regulator-name = "vdd_aoc_ret";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
regulator-always-on;
};
/* ldo3s & ldo5s are unused, ldo4s is board specific */
ldo6s {
/* sensors */
regulator-name = "vdd_prox";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
};
ldo7s {
/* sensors */
regulator-name = "vdd_sensors";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
ldo8s {
regulator-name = "vccq_ufs";
regulator-min-microvolt = <1130400>;
regulator-max-microvolt = <1281200>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_UFS_EN>;
};
ldo9s {
regulator-name = "vdd_gnss";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1300000>;
};
ldo10s {
regulator-name = "vdd_gnss_rf";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
ldo11s {
regulator-name = "vdd_gnss_aux";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <1950000>;
};
/* ldo12s is unused */
ldo13s {
regulator-name = "vddq_mmc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3350000>;
regulator-always-on;
samsung,ext-control = <S2MPG11_EXTCTRL_LDO13S_EN>;
};
/* ldo14s is board specific, ldo15s is unused */
};
};
};
&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>;
};
};
};
};
};
fuel-gauge@36 {
compatible = "maxim,max77759-fg";
reg = <0x36>;
pinctrl-0 = <&if_pmic_fg_int>;
pinctrl-names = "default";
interrupts-extended = <&gpa9 3 IRQ_TYPE_LEVEL_LOW>;
shunt-resistor-micro-ohms = <5000>;
};
pmic@66 {
compatible = "maxim,max77759";
reg = <0x66>;
pinctrl-0 = <&if_pmic_int>;
pinctrl-names = "default";
interrupts-extended = <&gpa8 3 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <2>;
gpio {
compatible = "maxim,max77759-gpio";
gpio-controller;
#gpio-cells = <2>;
/*
* "Human-readable name [SIGNAL_LABEL]" where the
* latter comes from the schematic
*/
gpio-line-names = "OTG boost [OTG_BOOST_EN]",
"max20339 IRQ [MW_OVP_INT_L]";
interrupt-controller;
#interrupt-cells = <2>;
};
nvmem-0 {
compatible = "maxim,max77759-nvmem";
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
nvmem_reboot_mode: reboot-mode@0 {
reg = <0x0 0x4>;
};
boot-reason@4 {
reg = <0x4 0x4>;
};
shutdown-user-flag@8 {
reg = <0x8 0x1>;
};
rsoc@a {
reg = <0xa 0x2>;
};
};
};
};
};
&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>;
};
if_pmic_int: if-pmic-int-pins {
samsung,pins = "gpa8-3";
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 {
pmic_int: pmic-int-pins {
samsung,pins = "gpa0-6";
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
};
sub_pmic_int: sub-pmic-int-pins {
samsung,pins = "gpa0-7";
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
};
if_pmic_fg_int: if-pmic-fg-int-pins {
samsung,pins = "gpa9-3";
samsung,pin-function = <GS101_PIN_FUNC_EINT>;
samsung,pin-pud = <GS101_PIN_PULL_UP>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
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 = <&reg_placeholder>;
vdd33-supply = <&reg_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 = <&reg_placeholder>;
dvdd-usb20-supply = <&reg_placeholder>;
vddh-usb20-supply = <&reg_placeholder>;
vdd33-usb20-supply = <&reg_placeholder>;
vdda-usbdp-supply = <&reg_placeholder>;
vddh-usbdp-supply = <&reg_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_MODE_I2C>;
status = "okay";
};
&usi12 {
samsung,mode = <USI_MODE_I2C>;
status = "okay";
};
&watchdog_cl0 {
timeout-sec = <30>;
status = "okay";
};