// SPDX-License-Identifier: GPL-2.0 #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> #include <dt-bindings/leds/common.h> #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> #include "qcom-msm8974.dtsi" #include "qcom-pm8841.dtsi" #include "qcom-pm8941.dtsi" /delete-node/ &mpss_region; / { model = "Qualcomm APQ8074 Dragonboard"; compatible = "qcom,apq8074-dragonboard", "qcom,apq8074"; aliases { serial0 = &blsp1_uart2; usid0 = &pm8941_0; usid4 = &pm8841_0; }; chosen { stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; autorepeat; pinctrl-0 = <&msm_keys_default>; pinctrl-names = "default"; button-volup { label = "Volume Up"; linux,code = <KEY_VOLUMEUP>; gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>; }; button-general { label = "General"; linux,code = <KEY_PROG1>; gpios = <&pm8941_gpios 23 GPIO_ACTIVE_LOW>; }; }; reserved-memory { mpss_region: mpss@ac00000 { reg = <0x0ac00000 0x2500000>; no-map; }; }; }; &blsp1_uart2 { status = "okay"; }; &blsp2_dma { qcom,controlled-remotely; }; &blsp2_i2c5 { status = "okay"; clock-frequency = <200000>; eeprom: eeprom@52 { compatible = "atmel,24c128"; reg = <0x52>; pagesize = <32>; read-only; }; }; &gpu { status = "okay"; }; &mdss { status = "okay"; }; &mdss_dsi0 { vdda-supply = <&pm8941_l2>; vdd-supply = <&pm8941_l22>; vddio-supply = <&pm8941_l12>; status = "okay"; panel: panel@0 { compatible = "sharp,ls043t1le01-qhd"; reg = <0>; avdd-supply = <&pm8941_l22>; backlight = <&pm8941_wled>; reset-gpios = <&pm8941_gpios 19 GPIO_ACTIVE_HIGH>; port { panel_in: endpoint { remote-endpoint = <&mdss_dsi0_out>; }; }; }; }; &mdss_dsi0_out { remote-endpoint = <&panel_in>; data-lanes = <0 1 2 3>; }; &mdss_dsi0_phy { status = "okay"; vddio-supply = <&pm8941_l12>; }; &gpu { status = "okay"; }; &mdss { status = "okay"; }; &pm8941_gpios { msm_keys_default: pm8941-gpio-keys-state { pins = "gpio5", "gpio23"; function = "normal"; input-enable; drive-push-pull; bias-pull-up; qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; power-source = <PM8941_GPIO_S3>; /* 1.8V */ }; }; &pm8941_lpg { qcom,power-source = <1>; status = "okay"; led@5 { reg = <5>; color = <LED_COLOR_ID_BLUE>; function = LED_FUNCTION_INDICATOR; }; led@6 { reg = <6>; color = <LED_COLOR_ID_GREEN>; function = LED_FUNCTION_INDICATOR; }; led@7 { reg = <7>; color = <LED_COLOR_ID_RED>; function = LED_FUNCTION_INDICATOR; }; }; &pm8941_resin { linux,code = <KEY_VOLUMEDOWN>; status = "okay"; }; &pm8941_wled { qcom,cs-out; qcom,switching-freq = <3200>; qcom,ovp = <32>; qcom,num-strings = <1>; status = "okay"; }; &remoteproc_adsp { cx-supply = <&pm8841_s2>; firmware-name = "qcom/apq8074/adsp.mbn"; status = "okay"; }; &remoteproc_mss { cx-supply = <&pm8841_s2>; mss-supply = <&pm8841_s3>; mx-supply = <&pm8841_s1>; pll-supply = <&pm8941_l12>; firmware-name = "qcom/apq8074/mba.mbn", "qcom/apq8074/modem.mbn"; status = "okay"; }; &rpm_requests { regulators-0 { compatible = "qcom,rpm-pm8841-regulators"; pm8841_s1: s1 { regulator-min-microvolt = <675000>; regulator-max-microvolt = <1050000>; }; pm8841_s2: s2 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; }; pm8841_s3: s3 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; }; pm8841_s4: s4 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <1050000>; }; }; regulators-1 { compatible = "qcom,rpm-pm8941-regulators"; vdd_l1_l3-supply = <&pm8941_s1>; vdd_l2_lvs1_2_3-supply = <&pm8941_s3>; vdd_l4_l11-supply = <&pm8941_s1>; vdd_l5_l7-supply = <&pm8941_s2>; vdd_l6_l12_l14_l15-supply = <&pm8941_s2>; vin_5vs-supply = <&pm8941_5v>; pm8941_s1: s1 { regulator-min-microvolt = <1300000>; regulator-max-microvolt = <1300000>; regulator-always-on; regulator-boot-on; }; pm8941_s2: s2 { regulator-min-microvolt = <2150000>; regulator-max-microvolt = <2150000>; regulator-boot-on; }; pm8941_s3: s3 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; pm8941_l1: l1 { regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; regulator-always-on; regulator-boot-on; }; pm8941_l2: l2 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; pm8941_l3: l3 { regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; }; pm8941_l4: l4 { regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; }; pm8941_l5: l5 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; pm8941_l6: l6 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; }; pm8941_l7: l7 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; }; pm8941_l8: l8 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; pm8941_l9: l9 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2950000>; }; pm8941_l10: l10 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; pm8941_l11: l11 { regulator-min-microvolt = <1300000>; regulator-max-microvolt = <1300000>; }; pm8941_l12: l12 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; pm8941_l13: l13 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2950000>; regulator-boot-on; }; pm8941_l14: l14 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; pm8941_l15: l15 { regulator-min-microvolt = <2050000>; regulator-max-microvolt = <2050000>; }; pm8941_l16: l16 { regulator-min-microvolt = <2700000>; regulator-max-microvolt = <2700000>; }; pm8941_l17: l17 { regulator-min-microvolt = <2700000>; regulator-max-microvolt = <2700000>; }; pm8941_l18: l18 { regulator-min-microvolt = <2850000>; regulator-max-microvolt = <2850000>; }; pm8941_l19: l19 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; pm8941_l20: l20 { regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; regulator-system-load = <200000>; regulator-allow-set-load; regulator-boot-on; }; pm8941_l21: l21 { regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; regulator-boot-on; }; pm8941_l22: l22 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; }; pm8941_l23: l23 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; }; pm8941_l24: l24 { regulator-min-microvolt = <3075000>; regulator-max-microvolt = <3075000>; regulator-boot-on; }; }; }; &sdhc_1 { status = "okay"; vmmc-supply = <&pm8941_l20>; vqmmc-supply = <&pm8941_s3>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&sdc1_on>; pinctrl-1 = <&sdc1_off>; }; &sdhc_2 { status = "okay"; cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; vmmc-supply = <&pm8941_l21>; vqmmc-supply = <&pm8941_l13>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&sdc2_on>; pinctrl-1 = <&sdc2_off>; }; &tlmm { sdc1_on: sdc1-on-state { clk-pins { pins = "sdc1_clk"; drive-strength = <16>; bias-disable; }; cmd-data-pins { pins = "sdc1_cmd", "sdc1_data"; drive-strength = <10>; bias-pull-up; }; }; sdc2_on: sdc2-on-state { clk-pins { pins = "sdc2_clk"; drive-strength = <10>; bias-disable; }; cmd-data-pins { pins = "sdc2_cmd", "sdc2_data"; drive-strength = <6>; bias-pull-up; }; cd-pins { pins = "gpio62"; function = "gpio"; drive-strength = <2>; bias-disable; }; }; }; &usb { status = "okay"; phys = <&usb_hs2_phy>; phy-select = <&tcsr 0xb000 1>; extcon = <&smbb>, <&usb_id>; vbus-supply = <&chg_otg>; hnp-disable; srp-disable; adp-disable; }; &usb_hs2_phy { status = "okay"; v3p3-supply = <&pm8941_l24>; v1p8-supply = <&pm8941_l6>; extcon = <&smbb>; qcom,init-seq = /bits/ 8 <0x1 0x63>; };