120dea72aSBjorn Andersson// SPDX-License-Identifier: BSD-3-Clause 220dea72aSBjorn Andersson/* 320dea72aSBjorn Andersson * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. 420dea72aSBjorn Andersson * Copyright (c) 2020-2023, Linaro Limited 520dea72aSBjorn Andersson */ 620dea72aSBjorn Andersson 720dea72aSBjorn Andersson/dts-v1/; 820dea72aSBjorn Andersson 920dea72aSBjorn Andersson#include <dt-bindings/gpio/gpio.h> 1020dea72aSBjorn Andersson#include <dt-bindings/input/gpio-keys.h> 1120dea72aSBjorn Andersson#include <dt-bindings/input/input.h> 1220dea72aSBjorn Andersson#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 1320dea72aSBjorn Andersson#include "sc8180x.dtsi" 1420dea72aSBjorn Andersson#include "sc8180x-pmics.dtsi" 1520dea72aSBjorn Andersson 1620dea72aSBjorn Andersson/ { 1720dea72aSBjorn Andersson model = "Lenovo Flex 5G"; 1820dea72aSBjorn Andersson compatible = "lenovo,flex-5g", "qcom,sc8180x"; 1920dea72aSBjorn Andersson 2020dea72aSBjorn Andersson aliases { 2120dea72aSBjorn Andersson serial0 = &uart13; 2220dea72aSBjorn Andersson }; 2320dea72aSBjorn Andersson 2420dea72aSBjorn Andersson backlight: backlight { 2520dea72aSBjorn Andersson compatible = "pwm-backlight"; 2620dea72aSBjorn Andersson pwms = <&pmc8180c_lpg 4 1000000>; 2720dea72aSBjorn Andersson enable-gpios = <&pmc8180c_gpios 8 GPIO_ACTIVE_HIGH>; 2820dea72aSBjorn Andersson 2920dea72aSBjorn Andersson pinctrl-0 = <&bl_pwm_default>; 3020dea72aSBjorn Andersson pinctrl-names = "default"; 3120dea72aSBjorn Andersson }; 3220dea72aSBjorn Andersson 3320dea72aSBjorn Andersson gpio-keys { 3420dea72aSBjorn Andersson compatible = "gpio-keys"; 3520dea72aSBjorn Andersson 3620dea72aSBjorn Andersson pinctrl-0 = <&hall_int_active_state>; 3720dea72aSBjorn Andersson pinctrl-names = "default"; 3820dea72aSBjorn Andersson 39adc2ee32SKrzysztof Kozlowski lid-switch { 4020dea72aSBjorn Andersson gpios = <&tlmm 121 GPIO_ACTIVE_LOW>; 4120dea72aSBjorn Andersson linux,input-type = <EV_SW>; 4220dea72aSBjorn Andersson linux,code = <SW_LID>; 4320dea72aSBjorn Andersson wakeup-source; 4420dea72aSBjorn Andersson wakeup-event-action = <EV_ACT_DEASSERTED>; 4520dea72aSBjorn Andersson }; 4620dea72aSBjorn Andersson }; 4720dea72aSBjorn Andersson 48*36bd9fadSBjorn Andersson pmic-glink { 49*36bd9fadSBjorn Andersson compatible = "qcom,sc8180x-pmic-glink", "qcom,pmic-glink"; 50*36bd9fadSBjorn Andersson 51*36bd9fadSBjorn Andersson #address-cells = <1>; 52*36bd9fadSBjorn Andersson #size-cells = <0>; 53*36bd9fadSBjorn Andersson 54*36bd9fadSBjorn Andersson connector@0 { 55*36bd9fadSBjorn Andersson compatible = "usb-c-connector"; 56*36bd9fadSBjorn Andersson reg = <0>; 57*36bd9fadSBjorn Andersson power-role = "dual"; 58*36bd9fadSBjorn Andersson data-role = "dual"; 59*36bd9fadSBjorn Andersson 60*36bd9fadSBjorn Andersson ports { 61*36bd9fadSBjorn Andersson #address-cells = <1>; 62*36bd9fadSBjorn Andersson #size-cells = <0>; 63*36bd9fadSBjorn Andersson 64*36bd9fadSBjorn Andersson port@0 { 65*36bd9fadSBjorn Andersson reg = <0>; 66*36bd9fadSBjorn Andersson 67*36bd9fadSBjorn Andersson pmic_glink_con0_hs: endpoint { 68*36bd9fadSBjorn Andersson remote-endpoint = <&usb_prim_role_switch>; 69*36bd9fadSBjorn Andersson }; 70*36bd9fadSBjorn Andersson }; 71*36bd9fadSBjorn Andersson 72*36bd9fadSBjorn Andersson port@1 { 73*36bd9fadSBjorn Andersson reg = <1>; 74*36bd9fadSBjorn Andersson 75*36bd9fadSBjorn Andersson pmic_glink_con0_ss: endpoint { 76*36bd9fadSBjorn Andersson remote-endpoint = <&usb_prim_qmpphy_out>; 77*36bd9fadSBjorn Andersson }; 78*36bd9fadSBjorn Andersson }; 79*36bd9fadSBjorn Andersson 80*36bd9fadSBjorn Andersson port@2 { 81*36bd9fadSBjorn Andersson reg = <2>; 82*36bd9fadSBjorn Andersson 83*36bd9fadSBjorn Andersson pmic_glink_con0_sbu: endpoint { 84*36bd9fadSBjorn Andersson remote-endpoint = <&usbprim_sbu_mux>; 85*36bd9fadSBjorn Andersson }; 86*36bd9fadSBjorn Andersson }; 87*36bd9fadSBjorn Andersson }; 88*36bd9fadSBjorn Andersson }; 89*36bd9fadSBjorn Andersson 90*36bd9fadSBjorn Andersson connector@1 { 91*36bd9fadSBjorn Andersson compatible = "usb-c-connector"; 92*36bd9fadSBjorn Andersson reg = <1>; 93*36bd9fadSBjorn Andersson power-role = "dual"; 94*36bd9fadSBjorn Andersson data-role = "dual"; 95*36bd9fadSBjorn Andersson 96*36bd9fadSBjorn Andersson ports { 97*36bd9fadSBjorn Andersson #address-cells = <1>; 98*36bd9fadSBjorn Andersson #size-cells = <0>; 99*36bd9fadSBjorn Andersson port@0 { 100*36bd9fadSBjorn Andersson reg = <0>; 101*36bd9fadSBjorn Andersson 102*36bd9fadSBjorn Andersson pmic_glink_con1_hs: endpoint { 103*36bd9fadSBjorn Andersson remote-endpoint = <&usb_sec_role_switch>; 104*36bd9fadSBjorn Andersson }; 105*36bd9fadSBjorn Andersson }; 106*36bd9fadSBjorn Andersson 107*36bd9fadSBjorn Andersson port@1 { 108*36bd9fadSBjorn Andersson reg = <1>; 109*36bd9fadSBjorn Andersson 110*36bd9fadSBjorn Andersson pmic_glink_con1_ss: endpoint { 111*36bd9fadSBjorn Andersson remote-endpoint = <&usb_sec_qmpphy_out>; 112*36bd9fadSBjorn Andersson }; 113*36bd9fadSBjorn Andersson }; 114*36bd9fadSBjorn Andersson 115*36bd9fadSBjorn Andersson port@2 { 116*36bd9fadSBjorn Andersson reg = <2>; 117*36bd9fadSBjorn Andersson 118*36bd9fadSBjorn Andersson pmic_glink_con1_sbu: endpoint { 119*36bd9fadSBjorn Andersson remote-endpoint = <&usbsec_sbu_mux>; 120*36bd9fadSBjorn Andersson }; 121*36bd9fadSBjorn Andersson }; 122*36bd9fadSBjorn Andersson }; 123*36bd9fadSBjorn Andersson }; 124*36bd9fadSBjorn Andersson }; 125*36bd9fadSBjorn Andersson 12620dea72aSBjorn Andersson reserved-memory { 12720dea72aSBjorn Andersson rmtfs_mem: rmtfs-region@85500000 { 12820dea72aSBjorn Andersson compatible = "qcom,rmtfs-mem"; 12920dea72aSBjorn Andersson reg = <0x0 0x85500000 0x0 0x200000>; 13020dea72aSBjorn Andersson no-map; 13120dea72aSBjorn Andersson 13220dea72aSBjorn Andersson qcom,client-id = <1>; 13320dea72aSBjorn Andersson qcom,vmid = <15>; 13420dea72aSBjorn Andersson }; 13520dea72aSBjorn Andersson 13620dea72aSBjorn Andersson wlan_mem: wlan-region@8bc00000 { 13720dea72aSBjorn Andersson reg = <0x0 0x8bc00000 0x0 0x180000>; 13820dea72aSBjorn Andersson no-map; 13920dea72aSBjorn Andersson }; 14020dea72aSBjorn Andersson 14120dea72aSBjorn Andersson mpss_mem: mpss-region@8d800000 { 14220dea72aSBjorn Andersson reg = <0x0 0x8d800000 0x0 0x3000000>; 14320dea72aSBjorn Andersson no-map; 14420dea72aSBjorn Andersson }; 14520dea72aSBjorn Andersson 14620dea72aSBjorn Andersson adsp_mem: adsp-region@90800000 { 14720dea72aSBjorn Andersson reg = <0x0 0x90800000 0x0 0x1c00000>; 14820dea72aSBjorn Andersson no-map; 14920dea72aSBjorn Andersson }; 15020dea72aSBjorn Andersson 15120dea72aSBjorn Andersson gpu_mem: gpu-region@98715000 { 15220dea72aSBjorn Andersson reg = <0x0 0x98715000 0x0 0x2000>; 15320dea72aSBjorn Andersson no-map; 15420dea72aSBjorn Andersson }; 15520dea72aSBjorn Andersson 15620dea72aSBjorn Andersson cdsp_mem: cdsp-region@98900000 { 15720dea72aSBjorn Andersson reg = <0x0 0x98900000 0x0 0x1400000>; 15820dea72aSBjorn Andersson no-map; 15920dea72aSBjorn Andersson }; 16020dea72aSBjorn Andersson }; 16120dea72aSBjorn Andersson 16220dea72aSBjorn Andersson vph_pwr: vph-pwr-regulator { 16320dea72aSBjorn Andersson compatible = "regulator-fixed"; 16420dea72aSBjorn Andersson regulator-name = "vph_pwr"; 16520dea72aSBjorn Andersson regulator-min-microvolt = <3700000>; 16620dea72aSBjorn Andersson regulator-max-microvolt = <3700000>; 16720dea72aSBjorn Andersson }; 16820dea72aSBjorn Andersson 16920dea72aSBjorn Andersson vreg_s4a_1p8: pm8150-s4-regulator { 17020dea72aSBjorn Andersson compatible = "regulator-fixed"; 17120dea72aSBjorn Andersson regulator-name = "vreg_s4a_1p8"; 17220dea72aSBjorn Andersson 17320dea72aSBjorn Andersson regulator-min-microvolt = <1800000>; 17420dea72aSBjorn Andersson regulator-max-microvolt = <1800000>; 17520dea72aSBjorn Andersson 17620dea72aSBjorn Andersson regulator-always-on; 17720dea72aSBjorn Andersson regulator-boot-on; 17820dea72aSBjorn Andersson 17920dea72aSBjorn Andersson vin-supply = <&vph_pwr>; 18020dea72aSBjorn Andersson }; 181*36bd9fadSBjorn Andersson 182*36bd9fadSBjorn Andersson usbprim-sbu-mux { 183*36bd9fadSBjorn Andersson compatible = "pericom,pi3usb102", "gpio-sbu-mux"; 184*36bd9fadSBjorn Andersson 185*36bd9fadSBjorn Andersson enable-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; 186*36bd9fadSBjorn Andersson select-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; 187*36bd9fadSBjorn Andersson 188*36bd9fadSBjorn Andersson pinctrl-names = "default"; 189*36bd9fadSBjorn Andersson pinctrl-0 = <&usbprim_sbu_default>; 190*36bd9fadSBjorn Andersson 191*36bd9fadSBjorn Andersson mode-switch; 192*36bd9fadSBjorn Andersson orientation-switch; 193*36bd9fadSBjorn Andersson 194*36bd9fadSBjorn Andersson port { 195*36bd9fadSBjorn Andersson usbprim_sbu_mux: endpoint { 196*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con0_sbu>; 197*36bd9fadSBjorn Andersson }; 198*36bd9fadSBjorn Andersson }; 199*36bd9fadSBjorn Andersson }; 200*36bd9fadSBjorn Andersson 201*36bd9fadSBjorn Andersson usbsec-sbu-mux { 202*36bd9fadSBjorn Andersson compatible = "pericom,pi3usb102", "gpio-sbu-mux"; 203*36bd9fadSBjorn Andersson 204*36bd9fadSBjorn Andersson enable-gpios = <&tlmm 188 GPIO_ACTIVE_LOW>; 205*36bd9fadSBjorn Andersson select-gpios = <&tlmm 187 GPIO_ACTIVE_HIGH>; 206*36bd9fadSBjorn Andersson 207*36bd9fadSBjorn Andersson pinctrl-names = "default"; 208*36bd9fadSBjorn Andersson pinctrl-0 = <&usbsec_sbu_default>; 209*36bd9fadSBjorn Andersson 210*36bd9fadSBjorn Andersson mode-switch; 211*36bd9fadSBjorn Andersson orientation-switch; 212*36bd9fadSBjorn Andersson 213*36bd9fadSBjorn Andersson port { 214*36bd9fadSBjorn Andersson usbsec_sbu_mux: endpoint { 215*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con1_sbu>; 216*36bd9fadSBjorn Andersson }; 217*36bd9fadSBjorn Andersson }; 218*36bd9fadSBjorn Andersson }; 21920dea72aSBjorn Andersson}; 22020dea72aSBjorn Andersson 22120dea72aSBjorn Andersson&apps_rsc { 22220dea72aSBjorn Andersson regulators-0 { 22320dea72aSBjorn Andersson compatible = "qcom,pmc8180-rpmh-regulators"; 22420dea72aSBjorn Andersson qcom,pmic-id = "a"; 22520dea72aSBjorn Andersson 22620dea72aSBjorn Andersson vdd-s5-supply = <&vph_pwr>; 22720dea72aSBjorn Andersson vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>; 22820dea72aSBjorn Andersson 22920dea72aSBjorn Andersson vreg_s5a_2p0: smps5 { 23020dea72aSBjorn Andersson regulator-min-microvolt = <2040000>; 23120dea72aSBjorn Andersson regulator-max-microvolt = <2100000>; 23220dea72aSBjorn Andersson }; 23320dea72aSBjorn Andersson 23420dea72aSBjorn Andersson vreg_l7a_1p8: ldo7 { 23520dea72aSBjorn Andersson regulator-min-microvolt = <1800000>; 23620dea72aSBjorn Andersson regulator-max-microvolt = <1800000>; 23720dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 23820dea72aSBjorn Andersson }; 23920dea72aSBjorn Andersson 24020dea72aSBjorn Andersson vreg_l9a_1p3: ldo9 { 24120dea72aSBjorn Andersson regulator-min-microvolt = <1296000>; 24220dea72aSBjorn Andersson regulator-max-microvolt = <1304000>; 24320dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 24420dea72aSBjorn Andersson }; 24520dea72aSBjorn Andersson 24620dea72aSBjorn Andersson vreg_l12a_1p8: ldo12 { 24720dea72aSBjorn Andersson regulator-min-microvolt = <1800000>; 24820dea72aSBjorn Andersson regulator-max-microvolt = <1800000>; 24920dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 25020dea72aSBjorn Andersson }; 25120dea72aSBjorn Andersson }; 25220dea72aSBjorn Andersson 25320dea72aSBjorn Andersson regulators-1 { 25420dea72aSBjorn Andersson compatible = "qcom,pmc8180c-rpmh-regulators"; 25520dea72aSBjorn Andersson qcom,pmic-id = "c"; 25620dea72aSBjorn Andersson 25720dea72aSBjorn Andersson vdd-s6-supply = <&vph_pwr>; 25820dea72aSBjorn Andersson vdd-l2-l3-supply = <&vreg_s6c_1p35>; 25920dea72aSBjorn Andersson vdd-bob-supply = <&vph_pwr>; 26020dea72aSBjorn Andersson 26120dea72aSBjorn Andersson vreg_s6c_1p35: smps6 { 26220dea72aSBjorn Andersson regulator-min-microvolt = <1350000>; 26320dea72aSBjorn Andersson regulator-max-microvolt = <1372000>; 26420dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 26520dea72aSBjorn Andersson }; 26620dea72aSBjorn Andersson 26720dea72aSBjorn Andersson vreg_l3c_1p2: ldo3 { 26820dea72aSBjorn Andersson regulator-min-microvolt = <1200000>; 26920dea72aSBjorn Andersson regulator-max-microvolt = <1200000>; 27020dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 27120dea72aSBjorn Andersson }; 27220dea72aSBjorn Andersson 27320dea72aSBjorn Andersson vreg_l10c_3p3: ldo10 { 27420dea72aSBjorn Andersson regulator-min-microvolt = <3000000>; 27520dea72aSBjorn Andersson regulator-max-microvolt = <3312000>; 27620dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 27720dea72aSBjorn Andersson }; 27820dea72aSBjorn Andersson 27920dea72aSBjorn Andersson vreg_l11c_3p3: ldo11 { 28020dea72aSBjorn Andersson regulator-min-microvolt = <3296000>; 28120dea72aSBjorn Andersson regulator-max-microvolt = <3304000>; 28220dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 28320dea72aSBjorn Andersson }; 28420dea72aSBjorn Andersson 28520dea72aSBjorn Andersson vreg_bob: bob { 28620dea72aSBjorn Andersson regulator-min-microvolt = <3296000>; 28720dea72aSBjorn Andersson regulator-max-microvolt = <3350000>; 28820dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 28920dea72aSBjorn Andersson }; 29020dea72aSBjorn Andersson }; 29120dea72aSBjorn Andersson 29220dea72aSBjorn Andersson regulators-2 { 29320dea72aSBjorn Andersson compatible = "qcom,pmc8180-rpmh-regulators"; 29420dea72aSBjorn Andersson qcom,pmic-id = "e"; 29520dea72aSBjorn Andersson 29620dea72aSBjorn Andersson vdd-s4-supply = <&vph_pwr>; 29720dea72aSBjorn Andersson vdd-s5-supply = <&vph_pwr>; 29820dea72aSBjorn Andersson vdd-l2-l10-supply = <&vreg_bob>; 29920dea72aSBjorn Andersson vdd-l3-l4-l5-l18-supply = <&vreg_s4e_0p98>; 30020dea72aSBjorn Andersson vdd-l7-l12-l14-l15-supply = <&vreg_s5e_2p05>; 30120dea72aSBjorn Andersson vdd-l13-l16-l17-supply = <&vreg_bob>; 30220dea72aSBjorn Andersson 30320dea72aSBjorn Andersson vreg_s4e_0p98: smps4 { 30420dea72aSBjorn Andersson regulator-min-microvolt = <992000>; 30520dea72aSBjorn Andersson regulator-max-microvolt = <992000>; 30620dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 30720dea72aSBjorn Andersson }; 30820dea72aSBjorn Andersson 30920dea72aSBjorn Andersson vreg_s5e_2p05: smps5 { 31020dea72aSBjorn Andersson regulator-min-microvolt = <2040000>; 31120dea72aSBjorn Andersson regulator-max-microvolt = <2040000>; 31220dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 31320dea72aSBjorn Andersson }; 31420dea72aSBjorn Andersson 31520dea72aSBjorn Andersson vreg_l1e_0p75: ldo1 { 31620dea72aSBjorn Andersson regulator-min-microvolt = <752000>; 31720dea72aSBjorn Andersson regulator-max-microvolt = <752000>; 31820dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 31920dea72aSBjorn Andersson }; 32020dea72aSBjorn Andersson 32120dea72aSBjorn Andersson vreg_l5e_0p88: ldo5 { 32220dea72aSBjorn Andersson regulator-min-microvolt = <880000>; 32320dea72aSBjorn Andersson regulator-max-microvolt = <880000>; 32420dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 32520dea72aSBjorn Andersson }; 32620dea72aSBjorn Andersson 32720dea72aSBjorn Andersson vreg_l7e_1p8: ldo7 { 32820dea72aSBjorn Andersson regulator-min-microvolt = <1800000>; 32920dea72aSBjorn Andersson regulator-max-microvolt = <1800000>; 33020dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 33120dea72aSBjorn Andersson }; 33220dea72aSBjorn Andersson 33320dea72aSBjorn Andersson vreg_l10e_2p9: ldo10 { 33420dea72aSBjorn Andersson regulator-min-microvolt = <2904000>; 33520dea72aSBjorn Andersson regulator-max-microvolt = <2904000>; 33620dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 33720dea72aSBjorn Andersson }; 33820dea72aSBjorn Andersson 33920dea72aSBjorn Andersson vreg_l16e_3p0: ldo16 { 34020dea72aSBjorn Andersson regulator-min-microvolt = <3072000>; 34120dea72aSBjorn Andersson regulator-max-microvolt = <3072000>; 34220dea72aSBjorn Andersson regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 34320dea72aSBjorn Andersson }; 34420dea72aSBjorn Andersson }; 34520dea72aSBjorn Andersson}; 34620dea72aSBjorn Andersson 34720dea72aSBjorn Andersson&gpu { 34820dea72aSBjorn Andersson status = "okay"; 34920dea72aSBjorn Andersson 35020dea72aSBjorn Andersson zap-shader { 35120dea72aSBjorn Andersson memory-region = <&gpu_mem>; 35220dea72aSBjorn Andersson firmware-name = "qcom/sc8180x/qcdxkmsuc8180.mbn"; 35320dea72aSBjorn Andersson }; 35420dea72aSBjorn Andersson}; 35520dea72aSBjorn Andersson 35620dea72aSBjorn Andersson&i2c1 { 35720dea72aSBjorn Andersson clock-frequency = <100000>; 35820dea72aSBjorn Andersson 35920dea72aSBjorn Andersson pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>; 36020dea72aSBjorn Andersson pinctrl-names = "default"; 36120dea72aSBjorn Andersson 36220dea72aSBjorn Andersson status = "okay"; 36320dea72aSBjorn Andersson 36420dea72aSBjorn Andersson hid@10 { 36520dea72aSBjorn Andersson compatible = "hid-over-i2c"; 36620dea72aSBjorn Andersson reg = <0x10>; 36720dea72aSBjorn Andersson hid-descr-addr = <0x1>; 36820dea72aSBjorn Andersson 36920dea72aSBjorn Andersson interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>; 37020dea72aSBjorn Andersson }; 37120dea72aSBjorn Andersson}; 37220dea72aSBjorn Andersson 37320dea72aSBjorn Andersson&i2c7 { 37420dea72aSBjorn Andersson clock-frequency = <100000>; 37520dea72aSBjorn Andersson 37620dea72aSBjorn Andersson pinctrl-0 = <&i2c7_active>, <&i2c7_hid_active>; 37720dea72aSBjorn Andersson pinctrl-names = "default"; 37820dea72aSBjorn Andersson 37920dea72aSBjorn Andersson status = "okay"; 38020dea72aSBjorn Andersson 38120dea72aSBjorn Andersson hid@5 { 38220dea72aSBjorn Andersson compatible = "hid-over-i2c"; 38320dea72aSBjorn Andersson reg = <0x5>; 38420dea72aSBjorn Andersson hid-descr-addr = <0x20>; 38520dea72aSBjorn Andersson 38620dea72aSBjorn Andersson interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>; 38720dea72aSBjorn Andersson }; 38820dea72aSBjorn Andersson 38920dea72aSBjorn Andersson hid@2c { 39020dea72aSBjorn Andersson compatible = "hid-over-i2c"; 39120dea72aSBjorn Andersson reg = <0x2c>; 39220dea72aSBjorn Andersson hid-descr-addr = <0x20>; 39320dea72aSBjorn Andersson 39420dea72aSBjorn Andersson interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>; 39520dea72aSBjorn Andersson }; 39620dea72aSBjorn Andersson}; 39720dea72aSBjorn Andersson 39820dea72aSBjorn Andersson&mdss { 39920dea72aSBjorn Andersson status = "okay"; 40020dea72aSBjorn Andersson}; 40120dea72aSBjorn Andersson 402*36bd9fadSBjorn Andersson&mdss_dp0 { 403*36bd9fadSBjorn Andersson status = "okay"; 404*36bd9fadSBjorn Andersson}; 405*36bd9fadSBjorn Andersson 406*36bd9fadSBjorn Andersson&mdss_dp0_out { 407*36bd9fadSBjorn Andersson data-lanes = <0 1>; 408*36bd9fadSBjorn Andersson remote-endpoint = <&usb_prim_qmpphy_dp_in>; 409*36bd9fadSBjorn Andersson}; 410*36bd9fadSBjorn Andersson 411*36bd9fadSBjorn Andersson&mdss_dp1 { 412*36bd9fadSBjorn Andersson status = "okay"; 413*36bd9fadSBjorn Andersson}; 414*36bd9fadSBjorn Andersson 415*36bd9fadSBjorn Andersson&mdss_dp1_out { 416*36bd9fadSBjorn Andersson data-lanes = <0 1>; 417*36bd9fadSBjorn Andersson remote-endpoint = <&usb_sec_qmpphy_dp_in>; 418*36bd9fadSBjorn Andersson}; 419*36bd9fadSBjorn Andersson 42020dea72aSBjorn Andersson&mdss_edp { 42120dea72aSBjorn Andersson data-lanes = <0 1 2 3>; 42220dea72aSBjorn Andersson 42320dea72aSBjorn Andersson pinctrl-0 = <&edp_hpd_active>; 42420dea72aSBjorn Andersson pinctrl-names = "default"; 42520dea72aSBjorn Andersson 42620dea72aSBjorn Andersson status = "okay"; 42720dea72aSBjorn Andersson 42820dea72aSBjorn Andersson aux-bus { 42920dea72aSBjorn Andersson panel { 43020dea72aSBjorn Andersson compatible = "edp-panel"; 43120dea72aSBjorn Andersson no-hpd; 43220dea72aSBjorn Andersson 43320dea72aSBjorn Andersson backlight = <&backlight>; 43420dea72aSBjorn Andersson 43520dea72aSBjorn Andersson port { 43620dea72aSBjorn Andersson auo_b140han06_in: endpoint { 43720dea72aSBjorn Andersson remote-endpoint = <&mdss_edp_out>; 43820dea72aSBjorn Andersson }; 43920dea72aSBjorn Andersson }; 44020dea72aSBjorn Andersson }; 44120dea72aSBjorn Andersson }; 44220dea72aSBjorn Andersson 44320dea72aSBjorn Andersson ports { 44420dea72aSBjorn Andersson port@1 { 44520dea72aSBjorn Andersson reg = <1>; 44620dea72aSBjorn Andersson mdss_edp_out: endpoint { 44720dea72aSBjorn Andersson remote-endpoint = <&auo_b140han06_in>; 44820dea72aSBjorn Andersson }; 44920dea72aSBjorn Andersson }; 45020dea72aSBjorn Andersson }; 45120dea72aSBjorn Andersson}; 45220dea72aSBjorn Andersson 45320dea72aSBjorn Andersson&pcie3 { 45420dea72aSBjorn Andersson perst-gpio = <&tlmm 178 GPIO_ACTIVE_LOW>; 45520dea72aSBjorn Andersson wake-gpio = <&tlmm 180 GPIO_ACTIVE_HIGH>; 45620dea72aSBjorn Andersson pinctrl-0 = <&pcie3_default_state>; 45720dea72aSBjorn Andersson pinctrl-names = "default"; 45820dea72aSBjorn Andersson 45920dea72aSBjorn Andersson status = "okay"; 46020dea72aSBjorn Andersson}; 46120dea72aSBjorn Andersson 46220dea72aSBjorn Andersson&pcie3_phy { 46320dea72aSBjorn Andersson vdda-phy-supply = <&vreg_l5e_0p88>; 46420dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l3c_1p2>; 46520dea72aSBjorn Andersson 46620dea72aSBjorn Andersson status = "okay"; 46720dea72aSBjorn Andersson}; 46820dea72aSBjorn Andersson 46920dea72aSBjorn Andersson&pmc8180c_lpg { 47020dea72aSBjorn Andersson status = "okay"; 47120dea72aSBjorn Andersson}; 47220dea72aSBjorn Andersson 47320dea72aSBjorn Andersson&qupv3_id_0 { 47420dea72aSBjorn Andersson status = "okay"; 47520dea72aSBjorn Andersson}; 47620dea72aSBjorn Andersson 47720dea72aSBjorn Andersson&qupv3_id_1 { 47820dea72aSBjorn Andersson status = "okay"; 47920dea72aSBjorn Andersson}; 48020dea72aSBjorn Andersson 48120dea72aSBjorn Andersson&qupv3_id_2 { 48220dea72aSBjorn Andersson status = "okay"; 48320dea72aSBjorn Andersson}; 48420dea72aSBjorn Andersson 48520dea72aSBjorn Andersson&remoteproc_adsp { 48620dea72aSBjorn Andersson memory-region = <&adsp_mem>; 48720dea72aSBjorn Andersson firmware-name = "qcom/sc8180x/LENOVO/82AK/qcadsp8180.mbn"; 48820dea72aSBjorn Andersson 48920dea72aSBjorn Andersson status = "okay"; 49020dea72aSBjorn Andersson}; 49120dea72aSBjorn Andersson 49220dea72aSBjorn Andersson&remoteproc_cdsp { 49320dea72aSBjorn Andersson memory-region = <&cdsp_mem>; 49420dea72aSBjorn Andersson firmware-name = "qcom/sc8180x/LENOVO/82AK/qccdsp8180.mbn"; 49520dea72aSBjorn Andersson 49620dea72aSBjorn Andersson status = "okay"; 49720dea72aSBjorn Andersson}; 49820dea72aSBjorn Andersson 49920dea72aSBjorn Andersson&remoteproc_mpss { 50020dea72aSBjorn Andersson memory-region = <&mpss_mem>; 50120dea72aSBjorn Andersson firmware-name = "qcom/sc8180x/LENOVO/82AK/qcmpss8180_nm.mbn"; 50220dea72aSBjorn Andersson 50320dea72aSBjorn Andersson status = "okay"; 50420dea72aSBjorn Andersson}; 50520dea72aSBjorn Andersson 50620dea72aSBjorn Andersson&uart13 { 50720dea72aSBjorn Andersson pinctrl-0 = <&uart13_state>; 50820dea72aSBjorn Andersson pinctrl-names = "default"; 50920dea72aSBjorn Andersson 51020dea72aSBjorn Andersson status = "okay"; 51120dea72aSBjorn Andersson 51220dea72aSBjorn Andersson bluetooth { 51320dea72aSBjorn Andersson compatible = "qcom,wcn3998-bt"; 51420dea72aSBjorn Andersson 51520dea72aSBjorn Andersson vddio-supply = <&vreg_s4a_1p8>; 51620dea72aSBjorn Andersson vddxo-supply = <&vreg_l7a_1p8>; 51720dea72aSBjorn Andersson vddrf-supply = <&vreg_l9a_1p3>; 51820dea72aSBjorn Andersson vddch0-supply = <&vreg_l11c_3p3>; 51920dea72aSBjorn Andersson max-speed = <3200000>; 52020dea72aSBjorn Andersson }; 52120dea72aSBjorn Andersson}; 52220dea72aSBjorn Andersson 52320dea72aSBjorn Andersson&ufs_mem_hc { 52420dea72aSBjorn Andersson reset-gpios = <&tlmm 190 GPIO_ACTIVE_LOW>; 52520dea72aSBjorn Andersson 52620dea72aSBjorn Andersson vcc-supply = <&vreg_l10e_2p9>; 52720dea72aSBjorn Andersson vcc-max-microamp = <155000>; 52820dea72aSBjorn Andersson 52920dea72aSBjorn Andersson vccq2-supply = <&vreg_l7e_1p8>; 53020dea72aSBjorn Andersson vccq2-max-microamp = <425000>; 53120dea72aSBjorn Andersson 53220dea72aSBjorn Andersson status = "okay"; 53320dea72aSBjorn Andersson}; 53420dea72aSBjorn Andersson 53520dea72aSBjorn Andersson&ufs_mem_phy { 53620dea72aSBjorn Andersson vdda-phy-supply = <&vreg_l5e_0p88>; 53720dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l3c_1p2>; 53820dea72aSBjorn Andersson 53920dea72aSBjorn Andersson status = "okay"; 54020dea72aSBjorn Andersson}; 54120dea72aSBjorn Andersson 54220dea72aSBjorn Andersson&usb_prim_hsphy { 54320dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l5e_0p88>; 54420dea72aSBjorn Andersson vdda18-supply = <&vreg_l12a_1p8>; 54520dea72aSBjorn Andersson vdda33-supply = <&vreg_l16e_3p0>; 54620dea72aSBjorn Andersson 54720dea72aSBjorn Andersson status = "okay"; 54820dea72aSBjorn Andersson}; 54920dea72aSBjorn Andersson 55020dea72aSBjorn Andersson&usb_prim_qmpphy { 55120dea72aSBjorn Andersson vdda-phy-supply = <&vreg_l3c_1p2>; 55220dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l5e_0p88>; 55320dea72aSBjorn Andersson 554*36bd9fadSBjorn Andersson orientation-switch; 555*36bd9fadSBjorn Andersson 55620dea72aSBjorn Andersson status = "okay"; 55720dea72aSBjorn Andersson}; 55820dea72aSBjorn Andersson 55920dea72aSBjorn Andersson&usb_prim { 56020dea72aSBjorn Andersson status = "okay"; 56120dea72aSBjorn Andersson}; 56220dea72aSBjorn Andersson 56320dea72aSBjorn Andersson&usb_prim_dwc3 { 56420dea72aSBjorn Andersson dr_mode = "host"; 56520dea72aSBjorn Andersson}; 56620dea72aSBjorn Andersson 567*36bd9fadSBjorn Andersson&usb_prim_qmpphy_dp_in { 568*36bd9fadSBjorn Andersson remote-endpoint = <&mdss_dp0_out>; 569*36bd9fadSBjorn Andersson}; 570*36bd9fadSBjorn Andersson 571*36bd9fadSBjorn Andersson&usb_prim_qmpphy_out { 572*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con0_ss>; 573*36bd9fadSBjorn Andersson}; 574*36bd9fadSBjorn Andersson 575*36bd9fadSBjorn Andersson&usb_prim_role_switch { 576*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con0_hs>; 577*36bd9fadSBjorn Andersson}; 578*36bd9fadSBjorn Andersson 57920dea72aSBjorn Andersson&usb_sec_hsphy { 58020dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l5e_0p88>; 58120dea72aSBjorn Andersson vdda18-supply = <&vreg_l12a_1p8>; 58220dea72aSBjorn Andersson vdda33-supply = <&vreg_l16e_3p0>; 58320dea72aSBjorn Andersson 58420dea72aSBjorn Andersson status = "okay"; 58520dea72aSBjorn Andersson}; 58620dea72aSBjorn Andersson 58720dea72aSBjorn Andersson&usb_sec_qmpphy { 58820dea72aSBjorn Andersson vdda-phy-supply = <&vreg_l3c_1p2>; 58920dea72aSBjorn Andersson vdda-pll-supply = <&vreg_l5e_0p88>; 59020dea72aSBjorn Andersson 591*36bd9fadSBjorn Andersson orientation-switch; 592*36bd9fadSBjorn Andersson 59320dea72aSBjorn Andersson status = "okay"; 59420dea72aSBjorn Andersson}; 59520dea72aSBjorn Andersson 596*36bd9fadSBjorn Andersson&usb_sec_qmpphy_dp_in { 597*36bd9fadSBjorn Andersson remote-endpoint = <&mdss_dp1_out>; 598*36bd9fadSBjorn Andersson}; 599*36bd9fadSBjorn Andersson 600*36bd9fadSBjorn Andersson&usb_sec_qmpphy_out { 601*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con1_ss>; 602*36bd9fadSBjorn Andersson}; 603*36bd9fadSBjorn Andersson 604*36bd9fadSBjorn Andersson&usb_sec_role_switch { 605*36bd9fadSBjorn Andersson remote-endpoint = <&pmic_glink_con1_hs>; 606*36bd9fadSBjorn Andersson}; 607*36bd9fadSBjorn Andersson 60820dea72aSBjorn Andersson&usb_sec { 60920dea72aSBjorn Andersson status = "okay"; 61020dea72aSBjorn Andersson}; 61120dea72aSBjorn Andersson 61220dea72aSBjorn Andersson&usb_sec_dwc3 { 61320dea72aSBjorn Andersson dr_mode = "host"; 61420dea72aSBjorn Andersson}; 61520dea72aSBjorn Andersson 61620dea72aSBjorn Andersson&wifi { 61720dea72aSBjorn Andersson memory-region = <&wlan_mem>; 61820dea72aSBjorn Andersson 61920dea72aSBjorn Andersson vdd-0.8-cx-mx-supply = <&vreg_l1e_0p75>; 62020dea72aSBjorn Andersson vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 62120dea72aSBjorn Andersson vdd-1.3-rfa-supply = <&vreg_l9a_1p3>; 62220dea72aSBjorn Andersson vdd-3.3-ch0-supply = <&vreg_l11c_3p3>; 62320dea72aSBjorn Andersson vdd-3.3-ch1-supply = <&vreg_l10c_3p3>; 62420dea72aSBjorn Andersson 62520dea72aSBjorn Andersson status = "okay"; 62620dea72aSBjorn Andersson}; 62720dea72aSBjorn Andersson 62820dea72aSBjorn Andersson&xo_board_clk { 62920dea72aSBjorn Andersson clock-frequency = <38400000>; 63020dea72aSBjorn Andersson}; 63120dea72aSBjorn Andersson 63220dea72aSBjorn Andersson/* PINCTRL */ 63320dea72aSBjorn Andersson 63420dea72aSBjorn Andersson&pmc8180c_gpios { 63520dea72aSBjorn Andersson bl_pwm_default: bl-pwm-default-state { 63620dea72aSBjorn Andersson en-pins { 63720dea72aSBjorn Andersson pins = "gpio8"; 63820dea72aSBjorn Andersson function = "normal"; 63920dea72aSBjorn Andersson }; 64020dea72aSBjorn Andersson 64120dea72aSBjorn Andersson pwm-pins { 64220dea72aSBjorn Andersson pins = "gpio10"; 64320dea72aSBjorn Andersson function = "func1"; 64420dea72aSBjorn Andersson }; 64520dea72aSBjorn Andersson }; 64620dea72aSBjorn Andersson}; 64720dea72aSBjorn Andersson 64820dea72aSBjorn Andersson&tlmm { 64920dea72aSBjorn Andersson gpio-reserved-ranges = <0 4>, <47 4>, <126 4>; 65020dea72aSBjorn Andersson 65120dea72aSBjorn Andersson edp_hpd_active: epd-hpd-active-state { 65220dea72aSBjorn Andersson pins = "gpio10"; 65320dea72aSBjorn Andersson function = "edp_hot"; 65420dea72aSBjorn Andersson }; 65520dea72aSBjorn Andersson 65620dea72aSBjorn Andersson hall_int_active_state: hall-int-active-state { 65720dea72aSBjorn Andersson pins = "gpio121"; 65820dea72aSBjorn Andersson function = "gpio"; 65920dea72aSBjorn Andersson 66020dea72aSBjorn Andersson bias-disable; 66120dea72aSBjorn Andersson }; 66220dea72aSBjorn Andersson 66320dea72aSBjorn Andersson i2c1_active: i2c1-active-state { 66420dea72aSBjorn Andersson pins = "gpio114", "gpio115"; 66520dea72aSBjorn Andersson function = "qup1"; 66620dea72aSBjorn Andersson 66720dea72aSBjorn Andersson bias-pull-up = <1>; 66820dea72aSBjorn Andersson drive-strength = <2>; 66920dea72aSBjorn Andersson }; 67020dea72aSBjorn Andersson 67120dea72aSBjorn Andersson i2c1_hid_active: i2c1-hid-active-state { 67220dea72aSBjorn Andersson pins = "gpio122"; 67320dea72aSBjorn Andersson function = "gpio"; 67420dea72aSBjorn Andersson 67520dea72aSBjorn Andersson bias-pull-up; 67620dea72aSBjorn Andersson drive-strength = <2>; 67720dea72aSBjorn Andersson }; 67820dea72aSBjorn Andersson 67920dea72aSBjorn Andersson i2c7_active: i2c7-active-state { 68020dea72aSBjorn Andersson pins = "gpio98", "gpio99"; 68120dea72aSBjorn Andersson function = "qup7"; 68220dea72aSBjorn Andersson 68320dea72aSBjorn Andersson bias-pull-up; 68420dea72aSBjorn Andersson drive-strength = <2>; 68520dea72aSBjorn Andersson }; 68620dea72aSBjorn Andersson 68720dea72aSBjorn Andersson i2c7_hid_active: i2c7-hid-active-state { 68820dea72aSBjorn Andersson pins = "gpio37", "gpio24"; 68920dea72aSBjorn Andersson function = "gpio"; 69020dea72aSBjorn Andersson 69120dea72aSBjorn Andersson bias-pull-up; 69220dea72aSBjorn Andersson drive-strength = <2>; 69320dea72aSBjorn Andersson }; 69420dea72aSBjorn Andersson 69520dea72aSBjorn Andersson pcie3_default_state: pcie3-default-state { 69620dea72aSBjorn Andersson clkreq-pins { 69720dea72aSBjorn Andersson pins = "gpio179"; 69820dea72aSBjorn Andersson function = "pci_e3"; 69920dea72aSBjorn Andersson bias-pull-up; 70020dea72aSBjorn Andersson }; 70120dea72aSBjorn Andersson 70220dea72aSBjorn Andersson reset-n-pins { 70320dea72aSBjorn Andersson pins = "gpio178"; 70420dea72aSBjorn Andersson function = "gpio"; 70520dea72aSBjorn Andersson 70620dea72aSBjorn Andersson drive-strength = <2>; 70720dea72aSBjorn Andersson output-low; 70820dea72aSBjorn Andersson bias-pull-down; 70920dea72aSBjorn Andersson }; 71020dea72aSBjorn Andersson 71120dea72aSBjorn Andersson wake-n-pins { 71220dea72aSBjorn Andersson pins = "gpio180"; 71320dea72aSBjorn Andersson function = "gpio"; 71420dea72aSBjorn Andersson 71520dea72aSBjorn Andersson drive-strength = <2>; 71620dea72aSBjorn Andersson bias-pull-up; 71720dea72aSBjorn Andersson }; 71820dea72aSBjorn Andersson }; 71920dea72aSBjorn Andersson 720*36bd9fadSBjorn Andersson usbprim_sbu_default: usbprim-sbu-state { 721*36bd9fadSBjorn Andersson oe-n-pins { 722*36bd9fadSBjorn Andersson pins = "gpio152"; 723*36bd9fadSBjorn Andersson function = "gpio"; 724*36bd9fadSBjorn Andersson bias-disable; 725*36bd9fadSBjorn Andersson drive-strength = <16>; 726*36bd9fadSBjorn Andersson output-high; 727*36bd9fadSBjorn Andersson }; 728*36bd9fadSBjorn Andersson 729*36bd9fadSBjorn Andersson sel-pins { 730*36bd9fadSBjorn Andersson pins = "gpio100"; 731*36bd9fadSBjorn Andersson function = "gpio"; 732*36bd9fadSBjorn Andersson bias-disable; 733*36bd9fadSBjorn Andersson drive-strength = <16>; 734*36bd9fadSBjorn Andersson }; 735*36bd9fadSBjorn Andersson }; 736*36bd9fadSBjorn Andersson 737*36bd9fadSBjorn Andersson usbsec_sbu_default: usbsec-sbu-state { 738*36bd9fadSBjorn Andersson oe-n-pins { 739*36bd9fadSBjorn Andersson pins = "gpio188"; 740*36bd9fadSBjorn Andersson function = "gpio"; 741*36bd9fadSBjorn Andersson bias-disable; 742*36bd9fadSBjorn Andersson drive-strength = <16>; 743*36bd9fadSBjorn Andersson output-high; 744*36bd9fadSBjorn Andersson }; 745*36bd9fadSBjorn Andersson 746*36bd9fadSBjorn Andersson sel-pins { 747*36bd9fadSBjorn Andersson pins = "gpio187"; 748*36bd9fadSBjorn Andersson function = "gpio"; 749*36bd9fadSBjorn Andersson bias-disable; 750*36bd9fadSBjorn Andersson drive-strength = <16>; 751*36bd9fadSBjorn Andersson }; 752*36bd9fadSBjorn Andersson }; 753*36bd9fadSBjorn Andersson 75420dea72aSBjorn Andersson uart13_state: uart13-state { 75520dea72aSBjorn Andersson cts-pins { 75620dea72aSBjorn Andersson pins = "gpio43"; 75720dea72aSBjorn Andersson function = "qup13"; 75820dea72aSBjorn Andersson bias-pull-down; 75920dea72aSBjorn Andersson }; 76020dea72aSBjorn Andersson 76120dea72aSBjorn Andersson rts-tx-pins { 76220dea72aSBjorn Andersson pins = "gpio44", "gpio45"; 76320dea72aSBjorn Andersson function = "qup13"; 76420dea72aSBjorn Andersson drive-strength = <2>; 76520dea72aSBjorn Andersson bias-disable; 76620dea72aSBjorn Andersson }; 76720dea72aSBjorn Andersson 76820dea72aSBjorn Andersson rx-pins { 76920dea72aSBjorn Andersson pins = "gpio46"; 77020dea72aSBjorn Andersson function = "qup13"; 77120dea72aSBjorn Andersson bias-pull-up; 77220dea72aSBjorn Andersson }; 77320dea72aSBjorn Andersson }; 77420dea72aSBjorn Andersson}; 775