1e1877196SKonrad Dybcio// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2e1877196SKonrad Dybcio/* 3e1877196SKonrad Dybcio * Copyright (c) 2023, Linaro Ltd 4e1877196SKonrad Dybcio */ 5e1877196SKonrad Dybcio 6e1877196SKonrad Dybcio/dts-v1/; 7e1877196SKonrad Dybcio 802a2fcfbSKonrad Dybcio#include <dt-bindings/leds/common.h> 9e1877196SKonrad Dybcio#include "qcm2290.dtsi" 1039e62f41SDmitry Baryshkov#include "pm4125.dtsi" 11e1877196SKonrad Dybcio 12e1877196SKonrad Dybcio/ { 13e1877196SKonrad Dybcio model = "Qualcomm Technologies, Inc. Robotics RB1"; 14e1877196SKonrad Dybcio compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290"; 15e1877196SKonrad Dybcio 16e1877196SKonrad Dybcio aliases { 17973c015fSKonrad Dybcio serial0 = &uart4; 18*9380e0a1SDmitry Baryshkov serial1 = &uart3; 19e1877196SKonrad Dybcio sdhc1 = &sdhc_1; 20e1877196SKonrad Dybcio sdhc2 = &sdhc_2; 21e1877196SKonrad Dybcio }; 22e1877196SKonrad Dybcio 23e1877196SKonrad Dybcio chosen { 24e1877196SKonrad Dybcio stdout-path = "serial0:115200n8"; 25e1877196SKonrad Dybcio }; 26e1877196SKonrad Dybcio 27252bc7adSKonrad Dybcio clocks { 286a364990SKrzysztof Kozlowski clk40m: can-clk { 29252bc7adSKonrad Dybcio compatible = "fixed-clock"; 30252bc7adSKonrad Dybcio clock-frequency = <40000000>; 31252bc7adSKonrad Dybcio #clock-cells = <0>; 32252bc7adSKonrad Dybcio }; 33252bc7adSKonrad Dybcio }; 34252bc7adSKonrad Dybcio 35e1877196SKonrad Dybcio gpio-keys { 36e1877196SKonrad Dybcio compatible = "gpio-keys"; 37e1877196SKonrad Dybcio label = "gpio-keys"; 38e1877196SKonrad Dybcio 39e1877196SKonrad Dybcio pinctrl-0 = <&key_volp_n>; 40e1877196SKonrad Dybcio pinctrl-names = "default"; 41e1877196SKonrad Dybcio 42e1877196SKonrad Dybcio key-volume-up { 43e1877196SKonrad Dybcio label = "Volume Up"; 44e1877196SKonrad Dybcio linux,code = <KEY_VOLUMEUP>; 45e1877196SKonrad Dybcio gpios = <&tlmm 96 GPIO_ACTIVE_LOW>; 46e1877196SKonrad Dybcio debounce-interval = <15>; 47e1877196SKonrad Dybcio linux,can-disable; 48e1877196SKonrad Dybcio wakeup-source; 49e1877196SKonrad Dybcio }; 50e1877196SKonrad Dybcio }; 51b4fe47d1SKonrad Dybcio 52616eda24SKonrad Dybcio hdmi-connector { 53616eda24SKonrad Dybcio compatible = "hdmi-connector"; 54616eda24SKonrad Dybcio type = "a"; 55616eda24SKonrad Dybcio 56616eda24SKonrad Dybcio port { 57616eda24SKonrad Dybcio hdmi_con: endpoint { 58616eda24SKonrad Dybcio remote-endpoint = <<9611_out>; 59616eda24SKonrad Dybcio }; 60616eda24SKonrad Dybcio }; 61616eda24SKonrad Dybcio }; 62616eda24SKonrad Dybcio 63b7b545ccSDmitry Baryshkov i2c2_gpio: i2c { 64b7b545ccSDmitry Baryshkov compatible = "i2c-gpio"; 65b7b545ccSDmitry Baryshkov 66b7b545ccSDmitry Baryshkov sda-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; 67b7b545ccSDmitry Baryshkov scl-gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>; 68b7b545ccSDmitry Baryshkov #address-cells = <1>; 69b7b545ccSDmitry Baryshkov #size-cells = <0>; 70b7b545ccSDmitry Baryshkov 71b7b545ccSDmitry Baryshkov status = "disabled"; 72b7b545ccSDmitry Baryshkov }; 73b7b545ccSDmitry Baryshkov 7402a2fcfbSKonrad Dybcio leds { 7502a2fcfbSKonrad Dybcio compatible = "gpio-leds"; 7602a2fcfbSKonrad Dybcio 7702a2fcfbSKonrad Dybcio led-bt { 7802a2fcfbSKonrad Dybcio label = "blue:bt"; 7902a2fcfbSKonrad Dybcio function = LED_FUNCTION_BLUETOOTH; 8002a2fcfbSKonrad Dybcio color = <LED_COLOR_ID_BLUE>; 8102a2fcfbSKonrad Dybcio gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; 8202a2fcfbSKonrad Dybcio linux,default-trigger = "bluetooth-power"; 8302a2fcfbSKonrad Dybcio default-state = "off"; 8402a2fcfbSKonrad Dybcio }; 8502a2fcfbSKonrad Dybcio 8602a2fcfbSKonrad Dybcio led-user0 { 8702a2fcfbSKonrad Dybcio label = "green:user0"; 8802a2fcfbSKonrad Dybcio function = LED_FUNCTION_INDICATOR; 8902a2fcfbSKonrad Dybcio color = <LED_COLOR_ID_GREEN>; 9002a2fcfbSKonrad Dybcio gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>; 9102a2fcfbSKonrad Dybcio linux,default-trigger = "none"; 9202a2fcfbSKonrad Dybcio default-state = "off"; 9302a2fcfbSKonrad Dybcio panic-indicator; 9402a2fcfbSKonrad Dybcio }; 9502a2fcfbSKonrad Dybcio 9602a2fcfbSKonrad Dybcio led-wlan { 9702a2fcfbSKonrad Dybcio label = "yellow:wlan"; 9802a2fcfbSKonrad Dybcio function = LED_FUNCTION_WLAN; 9902a2fcfbSKonrad Dybcio color = <LED_COLOR_ID_YELLOW>; 10002a2fcfbSKonrad Dybcio gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; 10102a2fcfbSKonrad Dybcio linux,default-trigger = "phy0tx"; 10202a2fcfbSKonrad Dybcio default-state = "off"; 10302a2fcfbSKonrad Dybcio }; 10402a2fcfbSKonrad Dybcio }; 10502a2fcfbSKonrad Dybcio 106b4fe47d1SKonrad Dybcio vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 { 107b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 108b4fe47d1SKonrad Dybcio regulator-name = "VREG_HDMI_OUT_1P2"; 109b4fe47d1SKonrad Dybcio regulator-min-microvolt = <1200000>; 110b4fe47d1SKonrad Dybcio regulator-max-microvolt = <1200000>; 111b4fe47d1SKonrad Dybcio vin-supply = <&vdc_1v2>; 112b4fe47d1SKonrad Dybcio regulator-always-on; 113b4fe47d1SKonrad Dybcio regulator-boot-on; 114b4fe47d1SKonrad Dybcio }; 115b4fe47d1SKonrad Dybcio 116b4fe47d1SKonrad Dybcio lt9611_3v3: regulator-lt9611-3v3 { 117b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 118b4fe47d1SKonrad Dybcio regulator-name = "LT9611_3V3"; 119b4fe47d1SKonrad Dybcio regulator-min-microvolt = <3300000>; 120b4fe47d1SKonrad Dybcio regulator-max-microvolt = <3300000>; 121b4fe47d1SKonrad Dybcio vin-supply = <&vdc_3v3>; 122b4fe47d1SKonrad Dybcio regulator-always-on; 123b4fe47d1SKonrad Dybcio regulator-boot-on; 124b4fe47d1SKonrad Dybcio }; 125b4fe47d1SKonrad Dybcio 126b4fe47d1SKonrad Dybcio /* Main barrel jack input */ 127b4fe47d1SKonrad Dybcio vdc_12v: regulator-vdc-12v { 128b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 129b4fe47d1SKonrad Dybcio regulator-name = "DC_12V"; 130b4fe47d1SKonrad Dybcio regulator-min-microvolt = <12000000>; 131b4fe47d1SKonrad Dybcio regulator-max-microvolt = <12000000>; 132b4fe47d1SKonrad Dybcio regulator-always-on; 133b4fe47d1SKonrad Dybcio regulator-boot-on; 134b4fe47d1SKonrad Dybcio }; 135b4fe47d1SKonrad Dybcio 136b4fe47d1SKonrad Dybcio /* 1.2V supply stepped down from the barrel jack input */ 137b4fe47d1SKonrad Dybcio vdc_1v2: regulator-vdc-1v2 { 138b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 139b4fe47d1SKonrad Dybcio regulator-name = "VDC_1V2"; 140b4fe47d1SKonrad Dybcio regulator-min-microvolt = <1200000>; 141b4fe47d1SKonrad Dybcio regulator-max-microvolt = <1200000>; 142b4fe47d1SKonrad Dybcio vin-supply = <&vdc_12v>; 143b4fe47d1SKonrad Dybcio regulator-always-on; 144b4fe47d1SKonrad Dybcio regulator-boot-on; 145b4fe47d1SKonrad Dybcio }; 146b4fe47d1SKonrad Dybcio 147b4fe47d1SKonrad Dybcio /* 3.3V supply stepped down from the barrel jack input */ 148b4fe47d1SKonrad Dybcio vdc_3v3: regulator-vdc-3v3 { 149b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 150b4fe47d1SKonrad Dybcio regulator-name = "VDC_3V3"; 151b4fe47d1SKonrad Dybcio regulator-min-microvolt = <3300000>; 152b4fe47d1SKonrad Dybcio regulator-max-microvolt = <3300000>; 153b4fe47d1SKonrad Dybcio vin-supply = <&vdc_12v>; 154b4fe47d1SKonrad Dybcio regulator-always-on; 155b4fe47d1SKonrad Dybcio regulator-boot-on; 156b4fe47d1SKonrad Dybcio }; 157b4fe47d1SKonrad Dybcio 158b4fe47d1SKonrad Dybcio /* 5V supply stepped down from the barrel jack input */ 159b4fe47d1SKonrad Dybcio vdc_5v: regulator-vdc-5v { 160b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 161b4fe47d1SKonrad Dybcio regulator-name = "VDC_5V"; 162b4fe47d1SKonrad Dybcio 163b4fe47d1SKonrad Dybcio regulator-min-microvolt = <5000000>; 164b4fe47d1SKonrad Dybcio regulator-max-microvolt = <5000000>; 165b4fe47d1SKonrad Dybcio regulator-always-on; 166b4fe47d1SKonrad Dybcio regulator-boot-on; 167b4fe47d1SKonrad Dybcio }; 168b4fe47d1SKonrad Dybcio 169b4fe47d1SKonrad Dybcio /* "Battery" voltage for the SoM, stepped down from the barrel jack input */ 170b4fe47d1SKonrad Dybcio vdc_vbat_som: regulator-vdc-vbat { 171b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 172b4fe47d1SKonrad Dybcio regulator-name = "VBAT_SOM"; 173b4fe47d1SKonrad Dybcio regulator-min-microvolt = <4200000>; 174b4fe47d1SKonrad Dybcio regulator-max-microvolt = <4200000>; 175b4fe47d1SKonrad Dybcio regulator-always-on; 176b4fe47d1SKonrad Dybcio regulator-boot-on; 177b4fe47d1SKonrad Dybcio }; 178b4fe47d1SKonrad Dybcio 179b4fe47d1SKonrad Dybcio /* PM2250 charger out, supplied by VBAT */ 180b4fe47d1SKonrad Dybcio vph_pwr: regulator-vph-pwr { 181b4fe47d1SKonrad Dybcio compatible = "regulator-fixed"; 182b4fe47d1SKonrad Dybcio regulator-name = "vph_pwr"; 183b4fe47d1SKonrad Dybcio regulator-min-microvolt = <3700000>; 184b4fe47d1SKonrad Dybcio regulator-max-microvolt = <3700000>; 185b4fe47d1SKonrad Dybcio vin-supply = <&vdc_vbat_som>; 186b4fe47d1SKonrad Dybcio 187b4fe47d1SKonrad Dybcio regulator-always-on; 188b4fe47d1SKonrad Dybcio regulator-boot-on; 189b4fe47d1SKonrad Dybcio }; 190e1877196SKonrad Dybcio}; 191e1877196SKonrad Dybcio 1926a364990SKrzysztof Kozlowski&cpu_pd0 { 1937f492d48SDmitry Baryshkov /delete-property/ power-domains; 1947f492d48SDmitry Baryshkov}; 1957f492d48SDmitry Baryshkov 1966a364990SKrzysztof Kozlowski&cpu_pd1 { 1977f492d48SDmitry Baryshkov /delete-property/ power-domains; 1987f492d48SDmitry Baryshkov}; 1997f492d48SDmitry Baryshkov 2006a364990SKrzysztof Kozlowski&cpu_pd2 { 2017f492d48SDmitry Baryshkov /delete-property/ power-domains; 2027f492d48SDmitry Baryshkov}; 2037f492d48SDmitry Baryshkov 2046a364990SKrzysztof Kozlowski&cpu_pd3 { 2057f492d48SDmitry Baryshkov /delete-property/ power-domains; 2067f492d48SDmitry Baryshkov}; 2077f492d48SDmitry Baryshkov 2086a364990SKrzysztof Kozlowski/delete-node/ &cluster_pd; 2097f492d48SDmitry Baryshkov 210616eda24SKonrad Dybcio&gpi_dma0 { 211616eda24SKonrad Dybcio status = "okay"; 212616eda24SKonrad Dybcio}; 213616eda24SKonrad Dybcio 2141ae60a51SKonrad Dybcio&gpu { 2151ae60a51SKonrad Dybcio status = "okay"; 2161ae60a51SKonrad Dybcio 2171ae60a51SKonrad Dybcio zap-shader { 2181ae60a51SKonrad Dybcio firmware-name = "qcom/qcm2290/a702_zap.mbn"; 2191ae60a51SKonrad Dybcio }; 2201ae60a51SKonrad Dybcio}; 2211ae60a51SKonrad Dybcio 222b7b545ccSDmitry Baryshkov&i2c2_gpio { 223616eda24SKonrad Dybcio clock-frequency = <400000>; 224616eda24SKonrad Dybcio status = "okay"; 225616eda24SKonrad Dybcio 226616eda24SKonrad Dybcio lt9611_codec: hdmi-bridge@2b { 227616eda24SKonrad Dybcio compatible = "lontium,lt9611uxc"; 228616eda24SKonrad Dybcio reg = <0x2b>; 229616eda24SKonrad Dybcio interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>; 230616eda24SKonrad Dybcio reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>; 231616eda24SKonrad Dybcio 232616eda24SKonrad Dybcio vdd-supply = <&vreg_hdmi_out_1p2>; 233616eda24SKonrad Dybcio vcc-supply = <<9611_3v3>; 234616eda24SKonrad Dybcio 235616eda24SKonrad Dybcio pinctrl-0 = <<9611_irq_pin <9611_rst_pin>; 236616eda24SKonrad Dybcio pinctrl-names = "default"; 237616eda24SKonrad Dybcio #sound-dai-cells = <1>; 238616eda24SKonrad Dybcio 239616eda24SKonrad Dybcio ports { 240616eda24SKonrad Dybcio #address-cells = <1>; 241616eda24SKonrad Dybcio #size-cells = <0>; 242616eda24SKonrad Dybcio 243616eda24SKonrad Dybcio port@0 { 244616eda24SKonrad Dybcio reg = <0>; 245616eda24SKonrad Dybcio 246616eda24SKonrad Dybcio lt9611_a: endpoint { 247616eda24SKonrad Dybcio remote-endpoint = <&mdss_dsi0_out>; 248616eda24SKonrad Dybcio }; 249616eda24SKonrad Dybcio }; 250616eda24SKonrad Dybcio 251616eda24SKonrad Dybcio port@2 { 252616eda24SKonrad Dybcio reg = <2>; 253616eda24SKonrad Dybcio 254616eda24SKonrad Dybcio lt9611_out: endpoint { 255616eda24SKonrad Dybcio remote-endpoint = <&hdmi_con>; 256616eda24SKonrad Dybcio }; 257616eda24SKonrad Dybcio }; 258616eda24SKonrad Dybcio }; 259616eda24SKonrad Dybcio }; 260616eda24SKonrad Dybcio}; 261616eda24SKonrad Dybcio 262616eda24SKonrad Dybcio&mdss { 263616eda24SKonrad Dybcio status = "okay"; 264616eda24SKonrad Dybcio}; 265616eda24SKonrad Dybcio 266616eda24SKonrad Dybcio&mdss_dsi0 { 26739e62f41SDmitry Baryshkov vdda-supply = <&pm4125_l5>; 268616eda24SKonrad Dybcio status = "okay"; 269616eda24SKonrad Dybcio}; 270616eda24SKonrad Dybcio 271616eda24SKonrad Dybcio&mdss_dsi0_out { 272616eda24SKonrad Dybcio remote-endpoint = <<9611_a>; 273616eda24SKonrad Dybcio data-lanes = <0 1 2 3>; 274616eda24SKonrad Dybcio}; 275616eda24SKonrad Dybcio 276616eda24SKonrad Dybcio&mdss_dsi0_phy { 277616eda24SKonrad Dybcio status = "okay"; 278616eda24SKonrad Dybcio}; 279616eda24SKonrad Dybcio 28039e62f41SDmitry Baryshkov&pm4125_resin { 281e1877196SKonrad Dybcio linux,code = <KEY_VOLUMEDOWN>; 282e1877196SKonrad Dybcio status = "okay"; 283e1877196SKonrad Dybcio}; 284e1877196SKonrad Dybcio 285c39c5aedSDmitry Baryshkov&pm4125_typec { 286c39c5aedSDmitry Baryshkov status = "okay"; 287c39c5aedSDmitry Baryshkov 288c39c5aedSDmitry Baryshkov connector { 289c39c5aedSDmitry Baryshkov compatible = "usb-c-connector"; 290c39c5aedSDmitry Baryshkov 291c39c5aedSDmitry Baryshkov power-role = "dual"; 292c39c5aedSDmitry Baryshkov data-role = "dual"; 293c39c5aedSDmitry Baryshkov self-powered; 294c39c5aedSDmitry Baryshkov 295c39c5aedSDmitry Baryshkov typec-power-opmode = "default"; 296c39c5aedSDmitry Baryshkov pd-disable; 297c39c5aedSDmitry Baryshkov 298c39c5aedSDmitry Baryshkov ports { 299c39c5aedSDmitry Baryshkov #address-cells = <1>; 300c39c5aedSDmitry Baryshkov #size-cells = <0>; 301c39c5aedSDmitry Baryshkov 302c39c5aedSDmitry Baryshkov port@0 { 303c39c5aedSDmitry Baryshkov reg = <0>; 304c39c5aedSDmitry Baryshkov pm4125_hs_in: endpoint { 305c39c5aedSDmitry Baryshkov remote-endpoint = <&usb_dwc3_hs>; 306c39c5aedSDmitry Baryshkov }; 307c39c5aedSDmitry Baryshkov }; 308c39c5aedSDmitry Baryshkov 309c39c5aedSDmitry Baryshkov port@1 { 310c39c5aedSDmitry Baryshkov reg = <1>; 311c39c5aedSDmitry Baryshkov pm4125_ss_in: endpoint { 312c39c5aedSDmitry Baryshkov remote-endpoint = <&usb_qmpphy_out>; 313c39c5aedSDmitry Baryshkov }; 314c39c5aedSDmitry Baryshkov }; 315c39c5aedSDmitry Baryshkov }; 316c39c5aedSDmitry Baryshkov }; 317c39c5aedSDmitry Baryshkov}; 318c39c5aedSDmitry Baryshkov 319c39c5aedSDmitry Baryshkov&pm4125_vbus { 320c39c5aedSDmitry Baryshkov regulator-min-microamp = <500000>; 321c39c5aedSDmitry Baryshkov regulator-max-microamp = <500000>; 322c39c5aedSDmitry Baryshkov status = "okay"; 323c39c5aedSDmitry Baryshkov}; 324c39c5aedSDmitry Baryshkov 325e1877196SKonrad Dybcio&qupv3_id_0 { 326e1877196SKonrad Dybcio status = "okay"; 327e1877196SKonrad Dybcio}; 328e1877196SKonrad Dybcio 3299692ccc4SKonrad Dybcio&remoteproc_adsp { 3309692ccc4SKonrad Dybcio firmware-name = "qcom/qcm2290/adsp.mbn"; 3319692ccc4SKonrad Dybcio status = "okay"; 3329692ccc4SKonrad Dybcio}; 3339692ccc4SKonrad Dybcio 3349692ccc4SKonrad Dybcio&remoteproc_mpss { 3359692ccc4SKonrad Dybcio firmware-name = "qcom/qcm2290/modem.mbn"; 3369692ccc4SKonrad Dybcio status = "okay"; 3379692ccc4SKonrad Dybcio}; 3389692ccc4SKonrad Dybcio 339b4fe47d1SKonrad Dybcio&rpm_requests { 340b4fe47d1SKonrad Dybcio regulators { 341b4fe47d1SKonrad Dybcio compatible = "qcom,rpm-pm2250-regulators"; 342b4fe47d1SKonrad Dybcio vdd_s3-supply = <&vph_pwr>; 343b4fe47d1SKonrad Dybcio vdd_s4-supply = <&vph_pwr>; 34439e62f41SDmitry Baryshkov vdd_l1_l2_l3_l5_l6_l7_l8_l9_l10_l11_l12-supply = <&pm4125_s3>; 345b4fe47d1SKonrad Dybcio vdd_l4_l17_l18_l19_l20_l21_l22-supply = <&vph_pwr>; 34639e62f41SDmitry Baryshkov vdd_l13_l14_l15_l16-supply = <&pm4125_s4>; 347b4fe47d1SKonrad Dybcio 348b4fe47d1SKonrad Dybcio /* 349b4fe47d1SKonrad Dybcio * S1 - VDD_APC 350b4fe47d1SKonrad Dybcio * S2 - VDD_CX 351b4fe47d1SKonrad Dybcio */ 352b4fe47d1SKonrad Dybcio 35339e62f41SDmitry Baryshkov pm4125_s3: s3 { 354b4fe47d1SKonrad Dybcio /* 0.4V-1.6625V -> 1.3V (Power tree requirements) */ 35531bee707SKonrad Dybcio regulator-min-microvolt = <1352000>; 35631bee707SKonrad Dybcio regulator-max-microvolt = <1352000>; 357b4fe47d1SKonrad Dybcio regulator-boot-on; 358b4fe47d1SKonrad Dybcio }; 359b4fe47d1SKonrad Dybcio 36039e62f41SDmitry Baryshkov pm4125_s4: s4 { 361b4fe47d1SKonrad Dybcio /* 1.2V-2.35V -> 2.05V (Power tree requirements) */ 36231bee707SKonrad Dybcio regulator-min-microvolt = <2072000>; 36331bee707SKonrad Dybcio regulator-max-microvolt = <2072000>; 364b4fe47d1SKonrad Dybcio regulator-boot-on; 365b4fe47d1SKonrad Dybcio }; 366b4fe47d1SKonrad Dybcio 367b4fe47d1SKonrad Dybcio /* L1 - VDD_MX */ 368b4fe47d1SKonrad Dybcio 36939e62f41SDmitry Baryshkov pm4125_l2: l2 { 370b4fe47d1SKonrad Dybcio /* LPDDR4X VDD2 */ 37131bee707SKonrad Dybcio regulator-min-microvolt = <1136000>; 37231bee707SKonrad Dybcio regulator-max-microvolt = <1136000>; 373b4fe47d1SKonrad Dybcio regulator-always-on; 374b4fe47d1SKonrad Dybcio regulator-boot-on; 375b4fe47d1SKonrad Dybcio }; 376b4fe47d1SKonrad Dybcio 37739e62f41SDmitry Baryshkov pm4125_l3: l3 { 378b4fe47d1SKonrad Dybcio /* LPDDR4X VDDQ */ 37931bee707SKonrad Dybcio regulator-min-microvolt = <616000>; 38031bee707SKonrad Dybcio regulator-max-microvolt = <616000>; 381b4fe47d1SKonrad Dybcio regulator-always-on; 382b4fe47d1SKonrad Dybcio regulator-boot-on; 383b4fe47d1SKonrad Dybcio }; 384b4fe47d1SKonrad Dybcio 38539e62f41SDmitry Baryshkov pm4125_l4: l4 { 38631bee707SKonrad Dybcio /* max = 3.05V -> max = 2.7 to disable 3V signaling (SDHCI2) */ 38731bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 38831bee707SKonrad Dybcio regulator-max-microvolt = <2700000>; 389b4fe47d1SKonrad Dybcio regulator-allow-set-load; 390b4fe47d1SKonrad Dybcio }; 391b4fe47d1SKonrad Dybcio 39239e62f41SDmitry Baryshkov pm4125_l5: l5 { 393b4fe47d1SKonrad Dybcio /* CSI/DSI */ 39431bee707SKonrad Dybcio regulator-min-microvolt = <1232000>; 39531bee707SKonrad Dybcio regulator-max-microvolt = <1232000>; 396b4fe47d1SKonrad Dybcio regulator-allow-set-load; 397b4fe47d1SKonrad Dybcio regulator-boot-on; 398b4fe47d1SKonrad Dybcio }; 399b4fe47d1SKonrad Dybcio 40039e62f41SDmitry Baryshkov pm4125_l6: l6 { 401b4fe47d1SKonrad Dybcio /* DRAM PLL */ 40231bee707SKonrad Dybcio regulator-min-microvolt = <928000>; 40331bee707SKonrad Dybcio regulator-max-microvolt = <928000>; 404b4fe47d1SKonrad Dybcio regulator-always-on; 405b4fe47d1SKonrad Dybcio regulator-boot-on; 406b4fe47d1SKonrad Dybcio }; 407b4fe47d1SKonrad Dybcio 40839e62f41SDmitry Baryshkov pm4125_l7: l7 { 409b4fe47d1SKonrad Dybcio /* Wi-Fi CX/MX */ 41031bee707SKonrad Dybcio regulator-min-microvolt = <664000>; 41131bee707SKonrad Dybcio regulator-max-microvolt = <664000>; 412b4fe47d1SKonrad Dybcio }; 413b4fe47d1SKonrad Dybcio 414b4fe47d1SKonrad Dybcio /* 415b4fe47d1SKonrad Dybcio * L8 - VDD_LPI_CX 416b4fe47d1SKonrad Dybcio * L9 - VDD_LPI_MX 417b4fe47d1SKonrad Dybcio */ 418b4fe47d1SKonrad Dybcio 41939e62f41SDmitry Baryshkov pm4125_l10: l10 { 420b4fe47d1SKonrad Dybcio /* Wi-Fi RFA */ 42131bee707SKonrad Dybcio regulator-min-microvolt = <1304000>; 42231bee707SKonrad Dybcio regulator-max-microvolt = <1304000>; 423b4fe47d1SKonrad Dybcio }; 424b4fe47d1SKonrad Dybcio 42539e62f41SDmitry Baryshkov pm4125_l11: l11 { 426b4fe47d1SKonrad Dybcio /* GPS RF1 */ 42731bee707SKonrad Dybcio regulator-min-microvolt = <1000000>; 42831bee707SKonrad Dybcio regulator-max-microvolt = <1000000>; 429b4fe47d1SKonrad Dybcio regulator-boot-on; 430b4fe47d1SKonrad Dybcio }; 431b4fe47d1SKonrad Dybcio 43239e62f41SDmitry Baryshkov pm4125_l12: l12 { 433b4fe47d1SKonrad Dybcio /* USB PHYs */ 43431bee707SKonrad Dybcio regulator-min-microvolt = <928000>; 43531bee707SKonrad Dybcio regulator-max-microvolt = <928000>; 436b4fe47d1SKonrad Dybcio regulator-allow-set-load; 437b4fe47d1SKonrad Dybcio regulator-boot-on; 438b4fe47d1SKonrad Dybcio }; 439b4fe47d1SKonrad Dybcio 44039e62f41SDmitry Baryshkov pm4125_l13: l13 { 441b4fe47d1SKonrad Dybcio /* USB/QFPROM/PLLs */ 44231bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 44331bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 444b4fe47d1SKonrad Dybcio regulator-allow-set-load; 445b4fe47d1SKonrad Dybcio regulator-boot-on; 446b4fe47d1SKonrad Dybcio }; 447b4fe47d1SKonrad Dybcio 44839e62f41SDmitry Baryshkov pm4125_l14: l14 { 449b4fe47d1SKonrad Dybcio /* SDHCI1 VQMMC */ 45031bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 45131bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 452b4fe47d1SKonrad Dybcio regulator-allow-set-load; 453b4fe47d1SKonrad Dybcio /* Broken hardware, never turn it off! */ 454b4fe47d1SKonrad Dybcio regulator-always-on; 455b4fe47d1SKonrad Dybcio }; 456b4fe47d1SKonrad Dybcio 45739e62f41SDmitry Baryshkov pm4125_l15: l15 { 458b4fe47d1SKonrad Dybcio /* WCD/DSI/BT VDDIO */ 45931bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 46031bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 461b4fe47d1SKonrad Dybcio regulator-allow-set-load; 462b4fe47d1SKonrad Dybcio regulator-always-on; 463b4fe47d1SKonrad Dybcio regulator-boot-on; 464b4fe47d1SKonrad Dybcio }; 465b4fe47d1SKonrad Dybcio 46639e62f41SDmitry Baryshkov pm4125_l16: l16 { 467b4fe47d1SKonrad Dybcio /* GPS RF2 */ 46831bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 46931bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 470b4fe47d1SKonrad Dybcio regulator-boot-on; 471b4fe47d1SKonrad Dybcio }; 472b4fe47d1SKonrad Dybcio 47339e62f41SDmitry Baryshkov pm4125_l17: l17 { 47431bee707SKonrad Dybcio regulator-min-microvolt = <3000000>; 47531bee707SKonrad Dybcio regulator-max-microvolt = <3000000>; 476b4fe47d1SKonrad Dybcio }; 477b4fe47d1SKonrad Dybcio 47839e62f41SDmitry Baryshkov pm4125_l18: l18 { 479b4fe47d1SKonrad Dybcio /* VDD_PXn */ 48031bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 48131bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 482b4fe47d1SKonrad Dybcio }; 483b4fe47d1SKonrad Dybcio 48439e62f41SDmitry Baryshkov pm4125_l19: l19 { 485b4fe47d1SKonrad Dybcio /* VDD_PXn */ 48631bee707SKonrad Dybcio regulator-min-microvolt = <1800000>; 48731bee707SKonrad Dybcio regulator-max-microvolt = <1800000>; 488b4fe47d1SKonrad Dybcio }; 489b4fe47d1SKonrad Dybcio 49039e62f41SDmitry Baryshkov pm4125_l20: l20 { 491b4fe47d1SKonrad Dybcio /* SDHCI1 VMMC */ 49231bee707SKonrad Dybcio regulator-min-microvolt = <2400000>; 49331bee707SKonrad Dybcio regulator-max-microvolt = <3600000>; 494b4fe47d1SKonrad Dybcio regulator-allow-set-load; 495b4fe47d1SKonrad Dybcio }; 496b4fe47d1SKonrad Dybcio 49739e62f41SDmitry Baryshkov pm4125_l21: l21 { 498b4fe47d1SKonrad Dybcio /* SDHCI2 VMMC */ 49931bee707SKonrad Dybcio regulator-min-microvolt = <2960000>; 50031bee707SKonrad Dybcio regulator-max-microvolt = <3300000>; 501b4fe47d1SKonrad Dybcio regulator-allow-set-load; 502b4fe47d1SKonrad Dybcio regulator-boot-on; 503b4fe47d1SKonrad Dybcio }; 504b4fe47d1SKonrad Dybcio 50539e62f41SDmitry Baryshkov pm4125_l22: l22 { 506b4fe47d1SKonrad Dybcio /* Wi-Fi */ 50731bee707SKonrad Dybcio regulator-min-microvolt = <3312000>; 50831bee707SKonrad Dybcio regulator-max-microvolt = <3312000>; 509b4fe47d1SKonrad Dybcio }; 510b4fe47d1SKonrad Dybcio }; 511b4fe47d1SKonrad Dybcio}; 512b4fe47d1SKonrad Dybcio 513e1877196SKonrad Dybcio&sdhc_1 { 51439e62f41SDmitry Baryshkov vmmc-supply = <&pm4125_l20>; 51539e62f41SDmitry Baryshkov vqmmc-supply = <&pm4125_l14>; 516e1877196SKonrad Dybcio pinctrl-0 = <&sdc1_state_on>; 517e1877196SKonrad Dybcio pinctrl-1 = <&sdc1_state_off>; 518e1877196SKonrad Dybcio pinctrl-names = "default", "sleep"; 519e1877196SKonrad Dybcio non-removable; 520e1877196SKonrad Dybcio supports-cqe; 521e1877196SKonrad Dybcio no-sdio; 522e1877196SKonrad Dybcio no-sd; 523e1877196SKonrad Dybcio status = "okay"; 524e1877196SKonrad Dybcio}; 525e1877196SKonrad Dybcio 526e1877196SKonrad Dybcio&sdhc_2 { 52739e62f41SDmitry Baryshkov vmmc-supply = <&pm4125_l21>; 52839e62f41SDmitry Baryshkov vqmmc-supply = <&pm4125_l4>; 529e1877196SKonrad Dybcio cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; 530e1877196SKonrad Dybcio pinctrl-0 = <&sdc2_state_on &sd_det_in_on>; 531e1877196SKonrad Dybcio pinctrl-1 = <&sdc2_state_off &sd_det_in_off>; 532e1877196SKonrad Dybcio pinctrl-names = "default", "sleep"; 533e1877196SKonrad Dybcio no-sdio; 534e1877196SKonrad Dybcio no-mmc; 535e1877196SKonrad Dybcio status = "okay"; 536e1877196SKonrad Dybcio}; 537e1877196SKonrad Dybcio 538252bc7adSKonrad Dybcio&spi5 { 539252bc7adSKonrad Dybcio status = "okay"; 540252bc7adSKonrad Dybcio 541252bc7adSKonrad Dybcio can@0 { 542252bc7adSKonrad Dybcio compatible = "microchip,mcp2518fd"; 543252bc7adSKonrad Dybcio reg = <0>; 544252bc7adSKonrad Dybcio interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>; 5456a364990SKrzysztof Kozlowski clocks = <&clk40m>; 546252bc7adSKonrad Dybcio spi-max-frequency = <10000000>; 547252bc7adSKonrad Dybcio vdd-supply = <&vdc_5v>; 548252bc7adSKonrad Dybcio xceiver-supply = <&vdc_5v>; 549252bc7adSKonrad Dybcio }; 550252bc7adSKonrad Dybcio}; 551252bc7adSKonrad Dybcio 552e1877196SKonrad Dybcio&tlmm { 553*9380e0a1SDmitry Baryshkov uart3_default: uart3-default-state { 554*9380e0a1SDmitry Baryshkov cts-pins { 555*9380e0a1SDmitry Baryshkov pins = "gpio8"; 556*9380e0a1SDmitry Baryshkov function = "qup3"; 557*9380e0a1SDmitry Baryshkov drive-strength = <2>; 558*9380e0a1SDmitry Baryshkov bias-bus-hold; 559*9380e0a1SDmitry Baryshkov }; 560*9380e0a1SDmitry Baryshkov 561*9380e0a1SDmitry Baryshkov rts-pins { 562*9380e0a1SDmitry Baryshkov pins = "gpio9"; 563*9380e0a1SDmitry Baryshkov function = "qup3"; 564*9380e0a1SDmitry Baryshkov drive-strength = <2>; 565*9380e0a1SDmitry Baryshkov bias-disable; 566*9380e0a1SDmitry Baryshkov }; 567*9380e0a1SDmitry Baryshkov 568*9380e0a1SDmitry Baryshkov tx-pins { 569*9380e0a1SDmitry Baryshkov pins = "gpio10"; 570*9380e0a1SDmitry Baryshkov function = "qup3"; 571*9380e0a1SDmitry Baryshkov drive-strength = <2>; 572*9380e0a1SDmitry Baryshkov bias-disable; 573*9380e0a1SDmitry Baryshkov }; 574*9380e0a1SDmitry Baryshkov 575*9380e0a1SDmitry Baryshkov rx-pins { 576*9380e0a1SDmitry Baryshkov pins = "gpio11"; 577*9380e0a1SDmitry Baryshkov function = "qup3"; 578*9380e0a1SDmitry Baryshkov drive-strength = <2>; 579*9380e0a1SDmitry Baryshkov bias-pull-up; 580*9380e0a1SDmitry Baryshkov }; 581*9380e0a1SDmitry Baryshkov }; 582*9380e0a1SDmitry Baryshkov 583*9380e0a1SDmitry Baryshkov uart3_sleep: uart3-sleep-state { 584*9380e0a1SDmitry Baryshkov cts-pins { 585*9380e0a1SDmitry Baryshkov pins = "gpio8"; 586*9380e0a1SDmitry Baryshkov function = "gpio"; 587*9380e0a1SDmitry Baryshkov drive-strength = <2>; 588*9380e0a1SDmitry Baryshkov bias-bus-hold; 589*9380e0a1SDmitry Baryshkov }; 590*9380e0a1SDmitry Baryshkov 591*9380e0a1SDmitry Baryshkov rts-pins { 592*9380e0a1SDmitry Baryshkov pins = "gpio9"; 593*9380e0a1SDmitry Baryshkov function = "gpio"; 594*9380e0a1SDmitry Baryshkov drive-strength = <2>; 595*9380e0a1SDmitry Baryshkov bias-pull-down; 596*9380e0a1SDmitry Baryshkov }; 597*9380e0a1SDmitry Baryshkov 598*9380e0a1SDmitry Baryshkov tx-pins { 599*9380e0a1SDmitry Baryshkov pins = "gpio10"; 600*9380e0a1SDmitry Baryshkov function = "gpio"; 601*9380e0a1SDmitry Baryshkov drive-strength = <2>; 602*9380e0a1SDmitry Baryshkov bias-pull-up; 603*9380e0a1SDmitry Baryshkov }; 604*9380e0a1SDmitry Baryshkov 605*9380e0a1SDmitry Baryshkov rx-pins { 606*9380e0a1SDmitry Baryshkov pins = "gpio11"; 607*9380e0a1SDmitry Baryshkov function = "gpio"; 608*9380e0a1SDmitry Baryshkov drive-strength = <2>; 609*9380e0a1SDmitry Baryshkov bias-pull-up; 610*9380e0a1SDmitry Baryshkov }; 611*9380e0a1SDmitry Baryshkov }; 612*9380e0a1SDmitry Baryshkov 613616eda24SKonrad Dybcio lt9611_rst_pin: lt9611-rst-state { 614616eda24SKonrad Dybcio pins = "gpio41"; 615616eda24SKonrad Dybcio function = "gpio"; 616616eda24SKonrad Dybcio input-disable; 617616eda24SKonrad Dybcio output-high; 618616eda24SKonrad Dybcio }; 619616eda24SKonrad Dybcio 620616eda24SKonrad Dybcio lt9611_irq_pin: lt9611-irq-state { 621616eda24SKonrad Dybcio pins = "gpio46"; 622616eda24SKonrad Dybcio function = "gpio"; 623616eda24SKonrad Dybcio bias-disable; 624616eda24SKonrad Dybcio }; 625616eda24SKonrad Dybcio 626e1877196SKonrad Dybcio sd_det_in_on: sd-det-in-on-state { 627e1877196SKonrad Dybcio pins = "gpio88"; 628e1877196SKonrad Dybcio function = "gpio"; 629e1877196SKonrad Dybcio drive-strength = <2>; 630e1877196SKonrad Dybcio bias-pull-up; 631e1877196SKonrad Dybcio }; 632e1877196SKonrad Dybcio 633e1877196SKonrad Dybcio sd_det_in_off: sd-det-in-off-state { 634e1877196SKonrad Dybcio pins = "gpio88"; 635e1877196SKonrad Dybcio function = "gpio"; 636e1877196SKonrad Dybcio drive-strength = <2>; 637e1877196SKonrad Dybcio bias-disable; 638e1877196SKonrad Dybcio }; 639e1877196SKonrad Dybcio 640e1877196SKonrad Dybcio key_volp_n: key-volp-n-state { 641e1877196SKonrad Dybcio pins = "gpio96"; 642e1877196SKonrad Dybcio function = "gpio"; 643e1877196SKonrad Dybcio bias-pull-up; 644e1877196SKonrad Dybcio output-disable; 645e1877196SKonrad Dybcio }; 646e1877196SKonrad Dybcio}; 647e1877196SKonrad Dybcio 648*9380e0a1SDmitry Baryshkov&uart3 { 649*9380e0a1SDmitry Baryshkov /delete-property/ interrupts; 650*9380e0a1SDmitry Baryshkov interrupts-extended = <&intc GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, 651*9380e0a1SDmitry Baryshkov <&tlmm 11 IRQ_TYPE_LEVEL_HIGH>; 652*9380e0a1SDmitry Baryshkov pinctrl-0 = <&uart3_default>; 653*9380e0a1SDmitry Baryshkov pinctrl-1 = <&uart3_sleep>; 654*9380e0a1SDmitry Baryshkov pinctrl-names = "default", "sleep"; 655*9380e0a1SDmitry Baryshkov 656*9380e0a1SDmitry Baryshkov status = "okay"; 657*9380e0a1SDmitry Baryshkov 658*9380e0a1SDmitry Baryshkov bluetooth { 659*9380e0a1SDmitry Baryshkov compatible = "qcom,wcn3950-bt"; 660*9380e0a1SDmitry Baryshkov 661*9380e0a1SDmitry Baryshkov vddio-supply = <&pm4125_l15>; 662*9380e0a1SDmitry Baryshkov vddxo-supply = <&pm4125_l13>; 663*9380e0a1SDmitry Baryshkov vddrf-supply = <&pm4125_l10>; 664*9380e0a1SDmitry Baryshkov vddch0-supply = <&pm4125_l22>; 665*9380e0a1SDmitry Baryshkov enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>; 666*9380e0a1SDmitry Baryshkov max-speed = <3200000>; 667*9380e0a1SDmitry Baryshkov }; 668*9380e0a1SDmitry Baryshkov}; 669*9380e0a1SDmitry Baryshkov 670e1877196SKonrad Dybcio/* UART connected to the Micro-USB port via a FTDI chip */ 671973c015fSKonrad Dybcio&uart4 { 672e1877196SKonrad Dybcio compatible = "qcom,geni-debug-uart"; 673e1877196SKonrad Dybcio status = "okay"; 674e1877196SKonrad Dybcio}; 675e1877196SKonrad Dybcio 676e1877196SKonrad Dybcio&usb { 677e1877196SKonrad Dybcio status = "okay"; 678e1877196SKonrad Dybcio}; 679e1877196SKonrad Dybcio 680c39c5aedSDmitry Baryshkov&usb_dwc3_hs { 681c39c5aedSDmitry Baryshkov remote-endpoint = <&pm4125_hs_in>; 682e0cee8dcSCaleb Connolly}; 683e0cee8dcSCaleb Connolly 684e1877196SKonrad Dybcio&usb_hsphy { 68539e62f41SDmitry Baryshkov vdd-supply = <&pm4125_l12>; 68639e62f41SDmitry Baryshkov vdda-pll-supply = <&pm4125_l13>; 68739e62f41SDmitry Baryshkov vdda-phy-dpdm-supply = <&pm4125_l21>; 688e1877196SKonrad Dybcio status = "okay"; 689e1877196SKonrad Dybcio}; 690e1877196SKonrad Dybcio 691c39c5aedSDmitry Baryshkov&usb_qmpphy { 692c39c5aedSDmitry Baryshkov vdda-phy-supply = <&pm4125_l12>; 693c39c5aedSDmitry Baryshkov vdda-pll-supply = <&pm4125_l13>; 694c39c5aedSDmitry Baryshkov status = "okay"; 695c39c5aedSDmitry Baryshkov}; 696c39c5aedSDmitry Baryshkov 697c39c5aedSDmitry Baryshkov&usb_qmpphy_out { 698c39c5aedSDmitry Baryshkov remote-endpoint = <&pm4125_ss_in>; 699c39c5aedSDmitry Baryshkov}; 700c39c5aedSDmitry Baryshkov 7019692ccc4SKonrad Dybcio&wifi { 70239e62f41SDmitry Baryshkov vdd-0.8-cx-mx-supply = <&pm4125_l7>; 70339e62f41SDmitry Baryshkov vdd-1.8-xo-supply = <&pm4125_l13>; 70439e62f41SDmitry Baryshkov vdd-1.3-rfa-supply = <&pm4125_l10>; 70539e62f41SDmitry Baryshkov vdd-3.3-ch0-supply = <&pm4125_l22>; 70641eeff2fSKrzysztof Kozlowski qcom,calibration-variant = "Thundercomm_RB1"; 70757ce4b27SDmitry Baryshkov firmware-name = "qcm2290"; 7089692ccc4SKonrad Dybcio status = "okay"; 7099692ccc4SKonrad Dybcio}; 7109692ccc4SKonrad Dybcio 711e1877196SKonrad Dybcio&xo_board { 712e1877196SKonrad Dybcio clock-frequency = <38400000>; 713e1877196SKonrad Dybcio}; 714