// SPDX-License-Identifier: GPL-2.0 #include #include #include #include "qcom-apq8064-v2.0.dtsi" #include "pm8821.dtsi" #include "pm8921.dtsi" / { model = "Qualcomm APQ8064/IFC6410"; compatible = "qcom,apq8064-ifc6410", "qcom,apq8064"; aliases { serial0 = &gsbi7_serial; serial1 = &gsbi6_serial; i2c0 = &gsbi1_i2c; i2c1 = &gsbi2_i2c; i2c2 = &gsbi3_i2c; i2c3 = &gsbi4_i2c; spi0 = &gsbi5_spi; }; chosen { stdout-path = "serial0:115200n8"; }; leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <¬ify_led>; led-user1 { label = "apq8064:green:user1"; color = ; gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>; default-state = "on"; }; }; hdmi-out { compatible = "hdmi-connector"; type = "d"; port { hdmi_con: endpoint { remote-endpoint = <&hdmi_out>; }; }; }; sdcc4_pwrseq: pwrseq-sdcc4 { pinctrl-names = "default"; pinctrl-0 = <&wlan_default_gpios>; compatible = "mmc-pwrseq-simple"; reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>; }; ext_3p3v: regulator-ext-3p3v { compatible = "regulator-fixed"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "ext_3p3v"; startup-delay-us = <0>; gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-boot-on; }; }; &gsbi1 { qcom,mode = ; status = "okay"; }; &gsbi1_i2c { clock-frequency = <200000>; status = "okay"; eeprom@52 { compatible = "atmel,24c128"; reg = <0x52>; pagesize = <32>; }; }; &gsbi3 { qcom,mode = ; status = "okay"; }; &gsbi3_i2c { status = "okay"; }; &gsbi4 { qcom,mode = ; status = "okay"; }; /* CAM I2C MIPI-CSI connector */ &gsbi4_i2c { status = "okay"; }; &gsbi5 { qcom,mode = ; status = "okay"; }; &gsbi5_spi { num-cs = <1>; cs-gpios = <&tlmm_pinmux 53 0>; status = "okay"; }; &gsbi6 { qcom,mode = ; status = "okay"; }; &gsbi6_serial { pinctrl-names = "default"; pinctrl-0 = <&gsbi6_uart_4pins>; status = "okay"; }; &gsbi7 { qcom,mode = ; status = "okay"; }; &gsbi7_serial { pinctrl-names = "default"; pinctrl-0 = <&gsbi7_uart_2pins>; status = "okay"; }; &hdmi { core-vdda-supply = <&pm8921_hdmi_switch>; hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>; status = "okay"; }; &hdmi_in { remote-endpoint = <&mdp_dtv_out>; }; &hdmi_out { remote-endpoint = <&hdmi_con>; }; &hdmi_phy { status = "okay"; core-vdda-supply = <&pm8921_hdmi_switch>; }; &mdp { status = "okay"; }; &mdp_dtv_out { remote-endpoint = <&hdmi_in>; }; &pcie { status = "okay"; vdda-supply = <&pm8921_s3>; vdda_phy-supply = <&pm8921_lvs6>; vdda_refclk-supply = <&ext_3p3v>; pinctrl-0 = <&pcie_pins>; pinctrl-names = "default"; perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; }; &pm8821 { interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>; }; &pm8921 { interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>; }; &pm8921_gpio { wlan_default_gpios: wlan-gpios-state { pinconf { pins = "gpio43"; function = "normal"; bias-disable; power-source = ; }; }; notify_led: nled-state { pinconf { pins = "gpio18"; function = "normal"; bias-disable; power-source = ; }; }; }; &rpm { regulators { compatible = "qcom,rpm-pm8921-regulators"; vin_lvs1_3_6-supply = <&pm8921_s4>; vin_lvs2-supply = <&pm8921_s1>; vin_lvs4_5_7-supply = <&pm8921_s4>; vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; vdd_l24-supply = <&pm8921_s1>; vdd_l25-supply = <&pm8921_s1>; vdd_l26-supply = <&pm8921_s7>; vdd_l27-supply = <&pm8921_s7>; vdd_l28-supply = <&pm8921_s7>; /* Buck SMPS */ pm8921_s1: s1 { regulator-always-on; regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; qcom,switch-mode-frequency = <3200000>; bias-pull-down; }; pm8921_s3: s3 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1400000>; qcom,switch-mode-frequency = <4800000>; }; pm8921_s4: s4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,switch-mode-frequency = <3200000>; }; pm8921_s7: s7 { regulator-min-microvolt = <1300000>; regulator-max-microvolt = <1300000>; qcom,switch-mode-frequency = <3200000>; }; pm8921_l3: l3 { regulator-min-microvolt = <3050000>; regulator-max-microvolt = <3300000>; bias-pull-down; }; pm8921_l4: l4 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1800000>; bias-pull-down; }; pm8921_l5: l5 { regulator-min-microvolt = <2750000>; regulator-max-microvolt = <3000000>; bias-pull-down; }; pm8921_l6: l6 { regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; bias-pull-down; }; pm8921_l23: l23 { regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; bias-pull-down; }; pm8921_lvs1: lvs1 { bias-pull-down; }; pm8921_lvs6: lvs6 { bias-pull-down; }; pm8921_hdmi_switch: hdmi-switch { bias-pull-down; }; }; }; &sata_phy0 { status = "okay"; }; &sata0 { target-supply = <&pm8921_s4>; status = "okay"; }; /* eMMC */ &sdcc1 { vmmc-supply = <&pm8921_l5>; vqmmc-supply = <&pm8921_s4>; status = "okay"; }; /* External micro SD card */ &sdcc3 { vmmc-supply = <&pm8921_l6>; pinctrl-names = "default"; pinctrl-0 = <&card_detect>; cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; status = "okay"; }; /* WLAN */ &sdcc4 { vmmc-supply = <&ext_3p3v>; vqmmc-supply = <&pm8921_lvs1>; mmc-pwrseq = <&sdcc4_pwrseq>; status = "okay"; }; &tlmm_pinmux { card_detect: card_detect { mux { pins = "gpio26"; function = "gpio"; bias-disable; }; }; pcie_pins: pcie_pinmux { mux { pins = "gpio27"; function = "gpio"; }; conf { pins = "gpio27"; drive-strength = <12>; bias-disable; }; }; }; &usb_hs1_phy { v3p3-supply = <&pm8921_l3>; v1p8-supply = <&pm8921_l4>; }; &usb_hs3_phy { v3p3-supply = <&pm8921_l3>; v1p8-supply = <&pm8921_l23>; }; &usb_hs4_phy { v3p3-supply = <&pm8921_l3>; v1p8-supply = <&pm8921_l23>; }; /* OTG */ &usb1 { dr_mode = "otg"; status = "okay"; }; &usb3 { dr_mode = "host"; status = "okay"; }; &usb4 { dr_mode = "host"; status = "okay"; };