| // SPDX-License-Identifier: GPL-2.0 |
| // Copyright (c) 2019, Linaro Limited |
| |
| /dts-v1/; |
| |
| #include "qcs404.dtsi" |
| #include "pms405.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
| |
| / { |
| model = "Google QCS404/Mistral"; |
| compatible = "google,mistral", "qcom,qcs404"; |
| |
| aliases { |
| serial0 = &blsp1_uart2; |
| serial1 = &blsp1_uart3; |
| wifi0 = &wifi; |
| }; |
| |
| chosen { |
| stdout-path = "serial0"; |
| }; |
| |
| usb_connector: usb-connector { |
| compatible = "linux,extcon-usb-gpio"; |
| id-gpio = <&tlmm 116 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb0_hs_id>; |
| }; |
| |
| vph_pwr: vph-pwr-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "vph_pwr"; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ch0_3p3: |
| vdd_esmps3_3p3: vdd-esmps3-3p3-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "eSMPS3_3P3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| }; |
| |
| &blsp1_i2c1 { |
| status = "okay"; |
| clock-frequency = <400000>; |
| pinctrl-0 = <&led_lp5562_enable>, <&blsp1_i2c1_default>; |
| |
| lp5562@30 { |
| compatible = "ti,lp5562"; |
| reg = <0x30>; |
| clock-mode = [01]; |
| |
| chan0 { |
| chan-name = "LED0_Red"; |
| led-cur = [64]; |
| max-cur = [78]; |
| }; |
| |
| chan1 { |
| chan-name = "LED0_Green"; |
| led-cur = [64]; |
| max-cur = [78]; |
| }; |
| |
| chan2 { |
| chan-name = "LED0_Blue"; |
| led-cur = [64]; |
| max-cur = [78]; |
| }; |
| }; |
| |
| vsvs_apc_buck: fan53526@60 { |
| compatible = "fcs,fan53526"; |
| reg = <0x60>; |
| regulator-min-microvolt = <1048000>; |
| regulator-max-microvolt = <1387500>; |
| regulator-ramp-delay = <500>; |
| regulator-always-on; |
| fcs,suspend-voltage-selector = <1>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&apps_buck_en>, <&apps_mode_sel>; |
| }; |
| }; |
| |
| &blsp1_spi0 { |
| status = "okay"; |
| pinctrl-0 = <&blsp1_spi0_default &pms405_sleepclk2_pin>; |
| spidev@0 { |
| compatible = "spidev"; |
| reg = <0>; |
| spi-max-frequency = <25000000>; |
| }; |
| }; |
| |
| &blsp1_uart2_default { |
| rx { |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| |
| tx { |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| &blsp1_uart3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&blsp1_uart3_default>; |
| status = "okay"; |
| |
| bluetooth: wcn3998-bt { |
| compatible = "qcom,wcn3998-bt"; |
| vddio-supply = <&vreg_l6_1p8>; |
| vddxo-supply = <&vreg_l5_1p8>; |
| vddrf-supply = <&vreg_s5_1p35>; |
| vddch0-supply = <&vdd_ch0_3p3>; |
| max-speed = <3200000>; |
| }; |
| }; |
| |
| &blsp2_spi0 { |
| status = "okay"; |
| pinctrl-0 = <&spi_flash_wp>, <&blsp2_spi0_default>; |
| |
| flash@0 { |
| compatible = "jedec,spi-nor"; |
| reg = <0>; |
| spi-max-frequency = <25000000>; |
| }; |
| }; |
| |
| &blsp1_spi4 { |
| status = "okay"; |
| spi-max-frequency = <800000>; /* TODO: Drop this */ |
| cr50@0 { |
| compatible = "google,cr50"; |
| reg = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&h1_ap_int_odl>; |
| spi-max-frequency = <800000>; |
| interrupt-parent = <&tlmm>; |
| interrupts = <53 IRQ_TYPE_EDGE_RISING>; |
| }; |
| }; |
| |
| &cprpd { |
| vdd-apc-supply = <&vsvs_apc_buck>; |
| }; |
| |
| ðernet { |
| status = "ok"; |
| |
| snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>; |
| snps,reset-active-low; |
| snps,reset-delays-us = <0 10000 10000>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <ðernet_defaults>; |
| |
| phy-mode = "rgmii"; |
| |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| }; |
| |
| mdio { |
| #address-cells = <0x1>; |
| #size-cells = <0x0>; |
| compatible = "snps,dwmac-mdio"; |
| |
| phy_port2: phy@1 { |
| reg = <1>; |
| }; |
| |
| phy_port3: phy@2 { |
| reg = <2>; |
| }; |
| |
| switch0@16 { |
| compatible = "qca,qca8334"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| reg = <16>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| cpu_port1: port@0 { |
| reg = <0>; |
| label = "cpu"; |
| ethernet = <ðernet>; |
| phy-mode = "rgmii"; |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| }; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| label = "lan1"; |
| local-mac-address = [000000000000]; |
| cpu = <&cpu_port1>; |
| phy-handle = <&phy_port2>; |
| }; |
| |
| port@3 { |
| reg = <3>; |
| label = "lan2"; |
| local-mac-address = [000000000000]; |
| cpu = <&cpu_port1>; |
| phy-handle = <&phy_port3>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &gcc { |
| qcom,wcss-unprotected; |
| }; |
| |
| &pcie { |
| status = "ok"; |
| |
| perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&perst_state>; |
| }; |
| |
| &pcie_phy { |
| status = "ok"; |
| |
| vdda-vp-supply = <&vreg_l3_1p05>; |
| vdda-vph-supply = <&vreg_l5_1p8>; |
| }; |
| |
| &pms405_gpios { |
| apps_buck_en: apps-buck-en { |
| pins = "gpio4"; |
| function = "normal"; |
| output-high; |
| }; |
| |
| apps_mode_sel: apps-mode-sel { |
| pins = "gpio6"; |
| function = "normal"; |
| output-low; |
| }; |
| |
| pms405_sleepclk2_pin: pms405_sleepclk2_pin { |
| pinconf { |
| pins = "gpio8"; |
| function = PMIC_GPIO_FUNC_FUNC1; |
| qcom,drive-strength = <2>; |
| power-source = <0>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| }; |
| |
| &pms405_0{ |
| rtc@6000 { |
| status = "disabled"; |
| }; |
| }; |
| |
| &remoteproc_wcss_pil { |
| status = "okay"; |
| }; |
| |
| &rpm_requests { |
| pms405-regulators { |
| compatible = "qcom,rpm-pms405-regulators"; |
| |
| vdd_s1-supply = <&vph_pwr>; |
| vdd_s2-supply = <&vph_pwr>; |
| vdd_s3-supply = <&vph_pwr>; |
| vdd_s4-supply = <&vph_pwr>; |
| vdd_s5-supply = <&vph_pwr>; |
| vdd_l1_l2-supply = <&vreg_s5_1p35>; |
| vdd_l3_l8-supply = <&vreg_s5_1p35>; |
| vdd_l4-supply = <&vreg_s5_1p35>; |
| vdd_l5_l6-supply = <&vreg_s4_1p8>; |
| vdd_l7-supply = <&vph_pwr>; |
| vdd_l9-supply = <&vreg_s5_1p35>; |
| vdd_l10_l11_l12_l13-supply = <&vph_pwr>; |
| |
| vreg_s4_1p8: s4 { |
| regulator-min-microvolt = <1728000>; |
| regulator-max-microvolt = <1920000>; |
| }; |
| |
| vreg_s5_1p35: s5 { |
| regulator-min-microvolt = <1352000>; |
| regulator-max-microvolt = <1352000>; |
| regulator-always-on; |
| }; |
| |
| vreg_l1_1p3: l1 { |
| regulator-min-microvolt = <1240000>; |
| regulator-max-microvolt = <1352000>; |
| }; |
| |
| vreg_l2_1p275: l2 { |
| regulator-min-microvolt = <1048000>; |
| regulator-max-microvolt = <1280000>; |
| }; |
| |
| vreg_l3_1p05: l3 { |
| regulator-min-microvolt = <1048000>; |
| regulator-max-microvolt = <1160000>; |
| regulator-always-on; |
| }; |
| |
| vreg_l4_1p2: l4 { |
| regulator-min-microvolt = <1144000>; |
| regulator-max-microvolt = <1256000>; |
| regulator-always-on; |
| }; |
| |
| vreg_l5_1p8: l5 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| }; |
| |
| vreg_l6_1p8: l6 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vreg_l7_1p8: l7 { |
| regulator-min-microvolt = <1616000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-boot-on; |
| }; |
| |
| vreg_l10_3p3: l10 { |
| regulator-min-microvolt = <2936000>; |
| regulator-max-microvolt = <3088000>; |
| regulator-boot-on; |
| }; |
| |
| vreg_l12_3p3: l12 { |
| regulator-min-microvolt = <2968000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vreg_l13_3p3: l13 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| |
| &sdcc1 { |
| status = "ok"; |
| |
| mmc-ddr-1_8v; |
| mmc-hs200-1_8v; |
| mmc-hs400-1_8v; |
| mmc-hs400-enhanced-strobe; |
| bus-width = <8>; |
| non-removable; |
| |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&sdc1_on>; |
| pinctrl-1 = <&sdc1_off>; |
| }; |
| |
| &soc { |
| restart@4ab000 { |
| compatible = "qcom,pshold"; |
| reg = <0x004ab000 0x4>; |
| }; |
| }; |
| |
| &remoteproc_cdsp { |
| compatible = "qcom,qcs404-cdsp-pil"; |
| status = "okay"; |
| }; |
| |
| &tlmm { |
| /* Add required gpio names to use gpio hog mechanism */ |
| gpio-line-names = "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "AP_FLASH_WP_L", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "RECOVERY_SW_L", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", "", |
| "", "", "", "", "", "", "", "", "", ""; |
| |
| blsp1_uart3_default: blsp1-uart3-default { |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| |
| ethernet_defaults: ethernet-defaults { |
| int { |
| pins = "gpio61"; |
| function = "rgmii_int"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| mdc { |
| pins = "gpio76"; |
| function = "rgmii_mdc"; |
| bias-pull-up; |
| }; |
| mdio { |
| pins = "gpio75"; |
| function = "rgmii_mdio"; |
| bias-pull-up; |
| }; |
| tx { |
| pins = "gpio67", "gpio66", "gpio65", "gpio64"; |
| function = "rgmii_tx"; |
| bias-pull-up; |
| drive-strength = <6>; |
| }; |
| rx { |
| pins = "gpio73", "gpio72", "gpio71", "gpio70"; |
| function = "rgmii_rx"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| tx-ctl { |
| pins = "gpio68"; |
| function = "rgmii_ctl"; |
| bias-pull-up; |
| drive-strength = <6>; |
| }; |
| rx-ctl { |
| pins = "gpio74"; |
| function = "rgmii_ctl"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| tx-ck { |
| pins = "gpio63"; |
| function = "rgmii_ck"; |
| bias-pull-up; |
| drive-strength = <6>; |
| }; |
| rx-ck { |
| pins = "gpio69"; |
| function = "rgmii_ck"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| }; |
| |
| h1_ap_int_odl: h1-ap-int-odl { |
| pinmux { |
| pins = "gpio53"; |
| function = "gpio"; |
| input-enable; |
| }; |
| pinconf { |
| pins = "gpio53"; |
| bias-pull-up; |
| }; |
| }; |
| |
| led_lp5562_enable: led-lp5562-enable { |
| pins = "gpio119"; |
| function = "gpio"; |
| |
| bias-pull-up; |
| drive-strength = <2>; |
| output-high; |
| }; |
| |
| perst_state: perst { |
| pins = "gpio43"; |
| function = "gpio"; |
| |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| |
| sdc1_on: sdc1-on { |
| clk { |
| pins = "sdc1_clk"; |
| bias-disable; |
| drive-strength = <16>; |
| }; |
| |
| cmd { |
| pins = "sdc1_cmd"; |
| bias-pull-up; |
| drive-strength = <10>; |
| }; |
| |
| data { |
| pins = "sdc1_data"; |
| bias-pull-up; |
| dreive-strength = <10>; |
| }; |
| |
| rclk { |
| pins = "sdc1_rclk"; |
| bias-pull-down; |
| }; |
| }; |
| |
| sdc1_off: sdc1-off { |
| clk { |
| pins = "sdc1_clk"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| |
| cmd { |
| pins = "sdc1_cmd"; |
| bias-pull-up; |
| drive-strength = <2>; |
| }; |
| |
| data { |
| pins = "sdc1_data"; |
| bias-pull-up; |
| dreive-strength = <2>; |
| }; |
| |
| rclk { |
| pins = "sdc1_rclk"; |
| bias-pull-down; |
| }; |
| }; |
| |
| spi_flash_wp: spi-flash-wp { |
| pins = "gpio54"; |
| function = "gpio"; |
| bias-disable; |
| bias-no-pull; |
| drive-strength = <2>; |
| input-enable; |
| }; |
| |
| usb0_hs_id: usb0-hs-id { |
| pinmux { |
| pins = "gpio116"; |
| function = "gpio"; |
| }; |
| |
| pinconf { |
| pins = "gpio116"; |
| drive-strength = <2>; |
| bias-pull-up; |
| input-enable; |
| }; |
| }; |
| }; |
| |
| &turingcc { |
| status = "okay"; |
| }; |
| |
| &usb2 { |
| status = "okay"; |
| extcon = <&usb_connector>; |
| |
| dwc3@78c0000 { |
| extcon = <&usb_connector>; |
| dr_mode = "otg"; |
| }; |
| }; |
| |
| &usb2_phy_prim { |
| vdd-supply = <&vreg_l4_1p2>; |
| vdda1p8-supply = <&vreg_l5_1p8>; |
| vdda3p3-supply = <&vreg_l12_3p3>; |
| qcom,vdd-voltage-level = <0 1144000 1200000>; |
| status = "okay"; |
| }; |
| |
| &wifi { |
| status = "okay"; |
| vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>; |
| vdd-1.8-xo-supply = <&vreg_l5_1p8>; |
| vdd-1.3-rfa-supply = <&vreg_l1_1p3>; |
| }; |
| |
| &tz_usr_iface { |
| status = "ok"; |
| /* |
| qcom,panic-on-xpu-violation; |
| */ |
| }; |
| |
| /* PINCTRL - board-specific pinctrl */ |
| &blsp2_spi0_default { |
| mosi { |
| pins = "gpio26"; |
| bias-disable; |
| drive-strength = <6>; |
| }; |
| |
| miso { |
| pins = "gpio27"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| |
| clk { |
| pins = "gpio29"; |
| bias-disable; |
| drive-strength = <6>; |
| }; |
| |
| cs { |
| pins = "gpio28"; |
| bias-disable; |
| drive-strength = <6>; |
| }; |
| }; |
| |
| &aoss_alert0 { |
| temperature = <100000>; |
| }; |
| |
| &q6_hvx_alert0 { |
| temperature = <100000>; |
| }; |
| |
| &lpass_alert0 { |
| temperature = <100000>; |
| }; |
| |
| &wlan_alert0 { |
| temperature = <100000>; |
| }; |
| |
| &cluster_alert1 { |
| temperature = <100000>; |
| }; |
| |
| &cpu0_alert1 { |
| temperature = <100000>; |
| }; |
| |
| &cpu1_alert1 { |
| temperature = <100000>; |
| }; |
| |
| &cpu2_alert1 { |
| temperature = <100000>; |
| }; |
| |
| &cpu3_alert1 { |
| temperature = <100000>; |
| }; |
| |
| &pms405_alert0 { |
| temperature = <100000>; |
| }; |