162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci#include "qcom-apq8064-v2.0.dtsi" 362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 462306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/ { 762306a36Sopenharmony_ci model = "CompuLab CM-QS600"; 862306a36Sopenharmony_ci compatible = "qcom,apq8064-cm-qs600", "qcom,apq8064"; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci aliases { 1162306a36Sopenharmony_ci serial0 = &gsbi7_serial; 1262306a36Sopenharmony_ci }; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci chosen { 1562306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci sdcc4_pwrseq: pwrseq-sdcc4 { 1962306a36Sopenharmony_ci pinctrl-names = "default"; 2062306a36Sopenharmony_ci pinctrl-0 = <&wlan_default_gpios>; 2162306a36Sopenharmony_ci compatible = "mmc-pwrseq-simple"; 2262306a36Sopenharmony_ci reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci /* on board fixed 3.3v supply */ 2662306a36Sopenharmony_ci v3p3_fixed: regulator-v3p3 { 2762306a36Sopenharmony_ci compatible = "regulator-fixed"; 2862306a36Sopenharmony_ci regulator-name = "PCIE V3P3"; 2962306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 3062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 3162306a36Sopenharmony_ci regulator-always-on; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci}; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci&gsbi1 { 3662306a36Sopenharmony_ci qcom,mode = <GSBI_PROT_I2C>; 3762306a36Sopenharmony_ci status = "okay"; 3862306a36Sopenharmony_ci}; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci&gsbi1_i2c { 4162306a36Sopenharmony_ci clock-frequency = <200000>; 4262306a36Sopenharmony_ci status = "okay"; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci eeprom@50 { 4562306a36Sopenharmony_ci compatible = "atmel,24c02"; 4662306a36Sopenharmony_ci reg = <0x50>; 4762306a36Sopenharmony_ci pagesize = <32>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci}; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci&gsbi7 { 5262306a36Sopenharmony_ci qcom,mode = <GSBI_PROT_I2C_UART>; 5362306a36Sopenharmony_ci status = "okay"; 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci&gsbi7_serial { 5762306a36Sopenharmony_ci pinctrl-names = "default"; 5862306a36Sopenharmony_ci pinctrl-0 = <&gsbi7_uart_2pins>; 5962306a36Sopenharmony_ci status = "okay"; 6062306a36Sopenharmony_ci}; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci&pcie { 6362306a36Sopenharmony_ci vdda-supply = <&pm8921_s3>; 6462306a36Sopenharmony_ci vdda_phy-supply = <&pm8921_lvs6>; 6562306a36Sopenharmony_ci vdda_refclk-supply = <&v3p3_fixed>; 6662306a36Sopenharmony_ci pinctrl-0 = <&pcie_pins>; 6762306a36Sopenharmony_ci pinctrl-names = "default"; 6862306a36Sopenharmony_ci perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; 6962306a36Sopenharmony_ci status = "okay"; 7062306a36Sopenharmony_ci}; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci&pm8921_gpio { 7362306a36Sopenharmony_ci wlan_default_gpios: wlan-gpios-state { 7462306a36Sopenharmony_ci pinconf { 7562306a36Sopenharmony_ci pins = "gpio43"; 7662306a36Sopenharmony_ci function = "normal"; 7762306a36Sopenharmony_ci bias-disable; 7862306a36Sopenharmony_ci power-source = <PM8921_GPIO_S4>; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci}; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci&rpm { 8462306a36Sopenharmony_ci regulators { 8562306a36Sopenharmony_ci vin_lvs1_3_6-supply = <&pm8921_s4>; 8662306a36Sopenharmony_ci vin_lvs2-supply = <&pm8921_s1>; 8762306a36Sopenharmony_ci vin_lvs4_5_7-supply = <&pm8921_s4>; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 9062306a36Sopenharmony_ci vdd_l24-supply = <&pm8921_s1>; 9162306a36Sopenharmony_ci vdd_l25-supply = <&pm8921_s1>; 9262306a36Sopenharmony_ci vdd_l26-supply = <&pm8921_s7>; 9362306a36Sopenharmony_ci vdd_l27-supply = <&pm8921_s7>; 9462306a36Sopenharmony_ci vdd_l28-supply = <&pm8921_s7>; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci /* Buck SMPS */ 9862306a36Sopenharmony_ci s1 { 9962306a36Sopenharmony_ci regulator-always-on; 10062306a36Sopenharmony_ci regulator-min-microvolt = <1225000>; 10162306a36Sopenharmony_ci regulator-max-microvolt = <1225000>; 10262306a36Sopenharmony_ci qcom,switch-mode-frequency = <3200000>; 10362306a36Sopenharmony_ci bias-pull-down; 10462306a36Sopenharmony_ci }; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci s3 { 10762306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 10862306a36Sopenharmony_ci regulator-max-microvolt = <1400000>; 10962306a36Sopenharmony_ci qcom,switch-mode-frequency = <4800000>; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci s4 { 11362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 11462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 11562306a36Sopenharmony_ci qcom,switch-mode-frequency = <3200000>; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci s7 { 11962306a36Sopenharmony_ci regulator-min-microvolt = <1300000>; 12062306a36Sopenharmony_ci regulator-max-microvolt = <1300000>; 12162306a36Sopenharmony_ci qcom,switch-mode-frequency = <3200000>; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci l3 { 12562306a36Sopenharmony_ci regulator-min-microvolt = <3050000>; 12662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 12762306a36Sopenharmony_ci bias-pull-down; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci l4 { 13162306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 13262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 13362306a36Sopenharmony_ci bias-pull-down; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci l5 { 13762306a36Sopenharmony_ci regulator-min-microvolt = <2750000>; 13862306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 13962306a36Sopenharmony_ci bias-pull-down; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci l23 { 14362306a36Sopenharmony_ci regulator-min-microvolt = <1700000>; 14462306a36Sopenharmony_ci regulator-max-microvolt = <1900000>; 14562306a36Sopenharmony_ci bias-pull-down; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci lvs6 { 14962306a36Sopenharmony_ci bias-pull-down; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci/* eMMC */ 15662306a36Sopenharmony_ci&sdcc1 { 15762306a36Sopenharmony_ci vmmc-supply = <&pm8921_l5>; 15862306a36Sopenharmony_ci vqmmc-supply = <&pm8921_s4>; 15962306a36Sopenharmony_ci status = "okay"; 16062306a36Sopenharmony_ci}; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci/* External micro SD card */ 16362306a36Sopenharmony_ci&sdcc3 { 16462306a36Sopenharmony_ci vmmc-supply = <&v3p3_fixed>; 16562306a36Sopenharmony_ci pinctrl-names = "default"; 16662306a36Sopenharmony_ci pinctrl-0 = <&card_detect>; 16762306a36Sopenharmony_ci cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>; 16862306a36Sopenharmony_ci status = "okay"; 16962306a36Sopenharmony_ci}; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci/* WLAN */ 17262306a36Sopenharmony_ci&sdcc4 { 17362306a36Sopenharmony_ci status = "okay"; 17462306a36Sopenharmony_ci vmmc-supply = <&v3p3_fixed>; 17562306a36Sopenharmony_ci vqmmc-supply = <&v3p3_fixed>; 17662306a36Sopenharmony_ci mmc-pwrseq = <&sdcc4_pwrseq>; 17762306a36Sopenharmony_ci}; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci&tlmm_pinmux { 18062306a36Sopenharmony_ci card_detect: card_detect { 18162306a36Sopenharmony_ci mux { 18262306a36Sopenharmony_ci pins = "gpio26"; 18362306a36Sopenharmony_ci function = "gpio"; 18462306a36Sopenharmony_ci bias-disable; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci pcie_pins: pcie_pinmux { 18962306a36Sopenharmony_ci mux { 19062306a36Sopenharmony_ci pins = "gpio27"; 19162306a36Sopenharmony_ci function = "gpio"; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci conf { 19462306a36Sopenharmony_ci pins = "gpio27"; 19562306a36Sopenharmony_ci drive-strength = <12>; 19662306a36Sopenharmony_ci bias-disable; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci}; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci&usb_hs1_phy { 20262306a36Sopenharmony_ci v3p3-supply = <&pm8921_l3>; 20362306a36Sopenharmony_ci v1p8-supply = <&pm8921_l4>; 20462306a36Sopenharmony_ci}; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci&usb_hs3_phy { 20762306a36Sopenharmony_ci v3p3-supply = <&pm8921_l3>; 20862306a36Sopenharmony_ci v1p8-supply = <&pm8921_l23>; 20962306a36Sopenharmony_ci}; 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci&usb_hs4_phy { 21262306a36Sopenharmony_ci v3p3-supply = <&pm8921_l3>; 21362306a36Sopenharmony_ci v1p8-supply = <&pm8921_l23>; 21462306a36Sopenharmony_ci}; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci/* OTG */ 21762306a36Sopenharmony_ci&usb1 { 21862306a36Sopenharmony_ci dr_mode = "otg"; 21962306a36Sopenharmony_ci status = "okay"; 22062306a36Sopenharmony_ci}; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci&usb3 { 22362306a36Sopenharmony_ci dr_mode = "host"; 22462306a36Sopenharmony_ci status = "okay"; 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci&usb4 { 22862306a36Sopenharmony_ci dr_mode = "host"; 22962306a36Sopenharmony_ci status = "okay"; 23062306a36Sopenharmony_ci}; 231