| // 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>; |
| }; |
| |
| |