blob: 6ccfcb2d2595729fe47a3031ed8e69ce473c8ed7 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Common device tree for all gs101 boards.
*
* Copyright 2019 Google LLC
*
*/
#include <dt-bindings/gpio/gpio.h>
#include "gs101-common-bluetooth.dtsi"
#include "gs101-common-gps.dtsi"
#include "gs101-common-trusty.dtsi"
#include "gs101-common-typec.dtsi"
#include "gs101-common-wlan.dtsi"
#include "gs101-pmic.dtsi"
#include <dt-bindings/pci/pci.h>
&serial_0 {
status = "okay";
};
&pinctrl_1 {
key_voldown: key-voldown {
samsung,pins = "gpa7-3";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
key_volup: key-volup {
samsung,pins = "gpa8-1";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
};
&pinctrl_0 {
key_power: key-power {
samsung,pins = "gpa10-1";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
};
&gpio_keys {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&key_voldown &key_volup &key_power>;
button@1 {
label = "gpio-keys: KEY_VOLUMEDOWN";
linux,code = <114>;
gpios = <&gpa7 3 0xf>;
wakeup-source;
};
button@2 {
label = "gpio-keys: KEY_VOLUMEUP";
linux,code = <115>;
gpios = <&gpa8 1 0xf>;
wakeup-source;
};
button@3 {
label = "gpio-keys: KEY_POWER";
linux,code = <116>;
gpios = <&gpa10 1 0xf>;
wakeup-source;
};
};
&udc {
usb3-lpm-capable;
adj-sof-accuracy = <1>;
samsung,no-extra-delay;
usb_host_device_timeout = <0x7ff>; /* Max value */
extcon = <&fusb307b>;
u1u2_exitfail_quirk;
/* ux_exit_in_px should be defined in MK, LT */
ux_exit_in_px_quirk;
/* elastic_buf_mode_quirk should be defined in MK */
elastic_buf_mode_quirk;
xhci_l2_support = <1>;
usbdrd_dwc3: dwc3 {
dr_mode = "peripheral";
maximum-speed = "super-speed-plus";
usb3-lpm-capable;
usb-psy-name = "usb";
snps,quirk-frame-length-adjustment = <0x20>;
snps,usb3_lpm_capable;
snps,has-lpm-erratum;
snps,lpm-nyet-threshold = <0>;
/*
* dis-u2-freeclk-exists-quirk, dis_u2_susphy_quirk are alternative.
* One of them should be selected
*/
snps,dis-u2-freeclk-exists-quirk;
/*snps,dis_u2_susphy_quirk;*/
/* http://b/171478776 : disabling U1/U2 speed up NCM tethering by >2x */
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
xhci_l2_support = <1>;
};
};
&usbdrd_phy0 {
usb_hs_tune:hs_tune {
status = "disabled";
hs_tune_cnt = <6>;
/* value = <device host> */
hs_tune1 {
tune_name = "tx_pre_emp";
tune_value = <0x3 0x3>;
};
hs_tune2 {
tune_name = "tx_vref";
tune_value = <0xf 0xf>;
};
hs_tune3 {
tune_name = "rx_sqrx";
tune_value = <0x5 0x5>;
};
hs_tune4 {
tune_name = "utmi_clk";
tune_value = <0x1 0x1>;
};
hs_tune5 {
tune_name = "compdis";
tune_value = <0x7 0x7>;
};
hs_tune6 {
tune_name = "tx_res";
tune_value = <0x3 0x3>;
};
};
usb_ss_tune:ss_tune {
status = "disabled";
ss_tune_cnt = <36>;
/* value = <device host> */
/* 0xffffffff means using default value */
ss_tune1 {
tune_name = "ssrx_sqhs_th_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune2 {
tune_name = "ssrx_sqhs_th_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune3 {
tune_name = "ssrx_lfps_th";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune4 {
tune_name = "ssrx_adap_coef_sel";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune5 {
tune_name = "ssrx_mf_eq_psel_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune6 {
tune_name = "ssrx_mf_eq_psel_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune7 {
tune_name = "ssrx_mf_eq_zsel_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune8 {
tune_name = "ssrx_mf_eq_zsel_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune9 {
tune_name = "ssrx_hf_eq_rsel_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune10 {
tune_name = "ssrx_hf_eq_rsel_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune11 {
tune_name = "ssrx_hf_eq_csel_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune12 {
tune_name = "ssrx_hf_eq_csel_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune13 {
tune_name = "ssrx_dfe_1tap_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune14 {
tune_name = "ssrx_dfe_1tap_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune15 {
tune_name = "ssrx_dfe_2tap_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune16 {
tune_name = "ssrx_dfe_2tap_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune17 {
tune_name = "ssrx_dfe_3tap_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune18 {
tune_name = "ssrx_dfe_3tap_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune19 {
tune_name = "ssrx_dfe_4tap_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune20 {
tune_name = "ssrx_dfe_4tap_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune21 {
tune_name = "ssrx_dfe_5tap_ctrl_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune22 {
tune_name = "ssrx_dfe_5tap_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune23 {
tune_name = "ssrx_term_cal";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune24 {
tune_name = "sstx_amp_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune25 {
tune_name = "sstx_deemp_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune26 {
tune_name = "sstx_pre_shoot_ss";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune27 {
tune_name = "sstx_amp_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune28 {
tune_name = "sstx_deemp_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune29 {
tune_name = "sstx_pre_shoot_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune30 {
tune_name = "sstx_idrv_up";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune31 {
tune_name = "sstx_lfps_idrv_up";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune32 {
tune_name = "sstx_up_term";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune33 {
tune_name = "sstx_dn_term";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune34 {
tune_name = "rext_ovrd";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune35 {
tune_name = "ssrx_cdr_fbb_fine_ctrl_sp";
tune_value = <0xffffffff 0xffffffff>;
};
ss_tune36 {
tune_name = "ssrx_cdr_fbb_fine_ctrl_ssp";
tune_value = <0xffffffff 0xffffffff>;
};
};
};
&usbdrd_phy0 {
status = "okay";
hs_tune_param = <&usb_hs_tune>;
ss_tune_param = <&usb_ss_tune>;
extcon = <&fusb307b>;
vdd085-supply = <&m_ldo8_reg>;
vdd18-supply = <&m_ldo9_reg>;
vdd30-supply = <&m_ldo10_reg>;
};
&pcie_0 { /* pcie ch0 used for the connection with CP on Slider */
status = "okay";
use-cache-coherency = "true";
use-msi = "true";
use-sicd = "true";
use-ia = "true";
use-l1ss = "true";
phy-power-off = "false";
use-pcieon-sleep = "true";
ep-device-type = <EP_SAMSUNG_MODEM>;
vreg1-supply = <&m_ldo16_reg>;
vreg2-supply = <&m_ldo18_reg>;
};
&pcie_1 { /* pcie ch1 used for the connection with WiFi on Slider */
status = "okay";
num-lanes = <1>;
use-sicd = "true";
use-ia = "true";
use-l1ss = "true";
max-link-speed = <LINK_SPEED_GEN2>;
ep-device-type = <EP_BCM_WIFI>;
pcie,wlan-gpio = <&gpp14 2 0x1 /* WLAN_EN */ >;
vreg1-supply = <&m_ldo17_reg>;
vreg2-supply = <&m_ldo19_reg>;
};