0001 // SPDX-License-Identifier: BSD-3-Clause
0002
0003 /dts-v1/;
0004
0005 #include "msm8996.dtsi"
0006 #include "pm8994.dtsi"
0007 #include "pmi8994.dtsi"
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/input/input.h>
0010 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
0011
0012 / {
0013 model = "Inforce 6640 Single Board Computer";
0014 compatible = "inforce,ifc6640", "qcom,apq8096-sbc", "qcom,apq8096";
0015
0016 qcom,msm-id = <291 0x00030001>;
0017 qcom,board-id = <0x00010018 0>;
0018
0019 aliases {
0020 serial0 = &blsp2_uart2;
0021 };
0022
0023 chosen {
0024 stdout-path = "serial0:115200n8";
0025 };
0026
0027 v1p05: v1p05-regulator {
0028 compatible = "regulator-fixed";
0029 reglator-name = "v1p05";
0030 regulator-always-on;
0031 regulator-boot-on;
0032
0033 regulator-min-microvolt = <1050000>;
0034 regulator-max-microvolt = <1050000>;
0035
0036 vin-supply = <&v5p0>;
0037 };
0038
0039 v12_poe: v12-poe-regulator {
0040 compatible = "regulator-fixed";
0041 reglator-name = "v12_poe";
0042 regulator-always-on;
0043 regulator-boot-on;
0044
0045 regulator-min-microvolt = <12000000>;
0046 regulator-max-microvolt = <12000000>;
0047 };
0048
0049 v3p3: v3p3-regulator {
0050 compatible = "regulator-fixed";
0051 regulator-name = "v3p3";
0052 regulator-always-on;
0053 regulator-boot-on;
0054
0055 regulator-min-microvolt = <3300000>;
0056 regulator-max-microvolt = <3300000>;
0057
0058 vin-supply = <&v12_poe>;
0059 };
0060
0061 v5p0: v5p0-regulator {
0062 compatible = "regulator-fixed";
0063 regulator-name = "v5p0";
0064 regulator-always-on;
0065 regulator-boot-on;
0066
0067 regulator-min-microvolt = <5000000>;
0068 regulator-max-microvolt = <5000000>;
0069
0070 vin-supply = <&v12_poe>;
0071 };
0072
0073 vph_pwr: vph-pwr-regulator {
0074 compatible = "regulator-fixed";
0075 regulator-name = "vph_pwr";
0076 regulator-always-on;
0077 regulator-boot-on;
0078
0079 regulator-min-microvolt = <3800000>;
0080 regulator-max-microvolt = <3800000>;
0081 };
0082 };
0083
0084 &blsp2_uart2 {
0085 status = "okay";
0086 pinctrl-names = "default", "sleep";
0087 pinctrl-0 = <&blsp2_uart2_2pins_default>;
0088 pinctrl-1 = <&blsp2_uart2_2pins_sleep>;
0089 };
0090
0091 &gpu {
0092 status = "okay";
0093 };
0094
0095 &hdmi {
0096 status = "okay";
0097 };
0098
0099 &hdmi_phy {
0100 status = "okay";
0101 };
0102
0103 &mdss {
0104 status = "okay";
0105 };
0106
0107 &tlmm {
0108 sdc2_pins_default: sdc2-pins-default {
0109 clk {
0110 pins = "sdc2_clk";
0111 bias-disable;
0112 drive-strength = <16>;
0113 };
0114
0115 cmd {
0116 pins = "sdc2_cmd";
0117 bias-pull-up;
0118 drive-strength = <10>;
0119 };
0120
0121 data {
0122 pins = "sdc2_data";
0123 bias-pull-up;
0124 drive-strength = <10>;
0125 };
0126
0127 cd {
0128 pins = "gpio38";
0129 function = "gpio";
0130
0131 bias-pull-up;
0132 drive-strength = <16>;
0133 };
0134 };
0135
0136 sdc2_pins_sleep: sdc2-pins-sleep {
0137 clk {
0138 pins = "sdc2_clk";
0139 bias-disable;
0140 drive-strength = <2>;
0141 };
0142
0143 cmd {
0144 pins = "sdc2_cmd";
0145 bias-pull-up;
0146 drive-strength = <2>;
0147 };
0148
0149 data {
0150 pins = "sdc2_data";
0151 bias-pull-up;
0152 drive-strength = <2>;
0153 };
0154
0155 cd {
0156 pins = "gpio38";
0157 function = "gpio";
0158 bias-pull-up;
0159 drive-strength = <2>;
0160 };
0161 };
0162 };
0163
0164 &rpm_requests {
0165 pm8994-regulators {
0166 compatible = "qcom,rpm-pm8994-regulators";
0167
0168 vdd_s1-supply = <&vph_pwr>;
0169 vdd_s2-supply = <&vph_pwr>;
0170 vdd_s3-supply = <&vph_pwr>;
0171 vdd_s4-supply = <&vph_pwr>;
0172 vdd_s5-supply = <&vph_pwr>;
0173 vdd_s6-supply = <&vph_pwr>;
0174 vdd_s7-supply = <&vph_pwr>;
0175 vdd_s8-supply = <&vph_pwr>;
0176 vdd_s9-supply = <&vph_pwr>;
0177 vdd_s10-supply = <&vph_pwr>;
0178 vdd_s11-supply = <&vph_pwr>;
0179 vdd_s12-supply = <&vph_pwr>;
0180 vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
0181 vdd_l3_l11-supply = <&vreg_s3a_1p3>;
0182 vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
0183 vdd_l5_l7-supply = <&vreg_s5a_2p15>;
0184 vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
0185 vdd_l8_l16_l30-supply = <&vph_pwr>;
0186 vdd_l25-supply = <&vreg_s3a_1p3>;
0187 vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
0188
0189 vreg_s3a_1p3: s3 {
0190 regulator-name = "vreg_s3a_1p3";
0191 regulator-min-microvolt = <1300000>;
0192 regulator-max-microvolt = <1300000>;
0193 };
0194
0195 vreg_s4a_1p8: s4 {
0196 regulator-name = "vreg_s4a_1p8";
0197 regulator-min-microvolt = <1800000>;
0198 regulator-max-microvolt = <1800000>;
0199 regulator-always-on;
0200 };
0201 vreg_s5a_2p15: s5 {
0202 regulator-name = "vreg_s5a_2p15";
0203 regulator-min-microvolt = <2150000>;
0204 regulator-max-microvolt = <2150000>;
0205 };
0206 vreg_s7a_1p0: s7 {
0207 regulator-name = "vreg_s7a_1p0";
0208 regulator-min-microvolt = <800000>;
0209 regulator-max-microvolt = <800000>;
0210 };
0211
0212 vreg_l1a_1p0: l1 {
0213 regulator-name = "vreg_l1a_1p0";
0214 regulator-min-microvolt = <1000000>;
0215 regulator-max-microvolt = <1000000>;
0216 };
0217 vreg_l2a_1p25: l2 {
0218 regulator-name = "vreg_l2a_1p25";
0219 regulator-min-microvolt = <1250000>;
0220 regulator-max-microvolt = <1250000>;
0221 };
0222 vreg_l3a_0p875: l3 {
0223 regulator-name = "vreg_l3a_0p875";
0224 regulator-min-microvolt = <850000>;
0225 regulator-max-microvolt = <850000>;
0226 };
0227 vreg_l4a_1p225: l4 {
0228 regulator-name = "vreg_l4a_1p225";
0229 regulator-min-microvolt = <1225000>;
0230 regulator-max-microvolt = <1225000>;
0231 };
0232 vreg_l6a_1p2: l6 {
0233 regulator-name = "vreg_l6a_1p2";
0234 regulator-min-microvolt = <1200000>;
0235 regulator-max-microvolt = <1200000>;
0236 };
0237 vreg_l8a_1p8: l8 {
0238 regulator-name = "vreg_l8a_1p8";
0239 regulator-min-microvolt = <1800000>;
0240 regulator-max-microvolt = <1800000>;
0241 };
0242 vreg_l9a_1p8: l9 {
0243 regulator-name = "vreg_l9a_1p8";
0244 regulator-min-microvolt = <1800000>;
0245 regulator-max-microvolt = <1800000>;
0246 };
0247 vreg_l10a_1p8: l10 {
0248 regulator-name = "vreg_l10a_1p8";
0249 regulator-min-microvolt = <1800000>;
0250 regulator-max-microvolt = <1800000>;
0251 };
0252 vreg_l11a_1p15: l11 {
0253 regulator-name = "vreg_l11a_1p15";
0254 regulator-min-microvolt = <1150000>;
0255 regulator-max-microvolt = <1150000>;
0256 };
0257 vreg_l12a_1p8: l12 {
0258 regulator-name = "vreg_l12a_1p8";
0259 regulator-min-microvolt = <1800000>;
0260 regulator-max-microvolt = <1800000>;
0261 };
0262 vreg_l13a_2p95: l13 {
0263 regulator-name = "vreg_l13a_2p95";
0264 regulator-min-microvolt = <1800000>;
0265 regulator-max-microvolt = <2950000>;
0266 };
0267 vreg_l14a_1p8: l14 {
0268 regulator-name = "vreg_l14a_1p8";
0269 regulator-min-microvolt = <1800000>;
0270 regulator-max-microvolt = <1800000>;
0271 };
0272 vreg_l15a_1p8: l15 {
0273 regulator-name = "vreg_l15a_1p8";
0274 regulator-min-microvolt = <1800000>;
0275 regulator-max-microvolt = <1800000>;
0276 };
0277 vreg_l16a_2p7: l16 {
0278 regulator-name = "vreg_l16a_2p7";
0279 regulator-min-microvolt = <2700000>;
0280 regulator-max-microvolt = <2700000>;
0281 };
0282 vreg_l17a_2p8: l17 {
0283 regulator-name = "vreg_l17a_2p8";
0284 regulator-min-microvolt = <2500000>;
0285 regulator-max-microvolt = <2500000>;
0286 };
0287 vreg_l18a_2p85: l18 {
0288 regulator-name = "vreg_l18a_2p85";
0289 regulator-min-microvolt = <2700000>;
0290 regulator-max-microvolt = <2900000>;
0291 };
0292 vreg_l19a_2p8: l19 {
0293 regulator-name = "vreg_l19a_2p8";
0294 regulator-min-microvolt = <3000000>;
0295 regulator-max-microvolt = <3000000>;
0296 };
0297 vreg_l20a_2p95: l20 {
0298 regulator-name = "vreg_l20a_2p95";
0299 regulator-min-microvolt = <2950000>;
0300 regulator-max-microvolt = <2950000>;
0301 regulator-allow-set-load;
0302 };
0303 vreg_l21a_2p95: l21 {
0304 regulator-name = "vreg_l21a_2p95";
0305 regulator-min-microvolt = <2950000>;
0306 regulator-max-microvolt = <2950000>;
0307 };
0308 vreg_l22a_3p0: l22 {
0309 regulator-name = "vreg_l22a_3p0";
0310 regulator-min-microvolt = <3300000>;
0311 regulator-max-microvolt = <3300000>;
0312 };
0313 vreg_l23a_2p8: l23 {
0314 regulator-name = "vreg_l23a_2p8";
0315 regulator-min-microvolt = <2800000>;
0316 regulator-max-microvolt = <2800000>;
0317 };
0318 vreg_l24a_3p075: l24 {
0319 regulator-name = "vreg_l24a_3p075";
0320 regulator-min-microvolt = <3075000>;
0321 regulator-max-microvolt = <3075000>;
0322 };
0323 vreg_l25a_1p2: l25 {
0324 regulator-name = "vreg_l25a_1p2";
0325 regulator-min-microvolt = <1200000>;
0326 regulator-max-microvolt = <1200000>;
0327 regulator-allow-set-load;
0328 };
0329 vreg_l26a_0p8: l27 {
0330 regulator-name = "vreg_l26a_0p8";
0331 regulator-min-microvolt = <1000000>;
0332 regulator-max-microvolt = <1000000>;
0333 };
0334 vreg_l28a_0p925: l28 {
0335 regulator-name = "vreg_l28a_0p925";
0336 regulator-min-microvolt = <925000>;
0337 regulator-max-microvolt = <925000>;
0338 regulator-allow-set-load;
0339 };
0340 vreg_l29a_2p8: l29 {
0341 regulator-name = "vreg_l29a_2p8";
0342 regulator-min-microvolt = <2800000>;
0343 regulator-max-microvolt = <2800000>;
0344 };
0345 vreg_l30a_1p8: l30 {
0346 regulator-name = "vreg_l30a_1p8";
0347 regulator-min-microvolt = <1800000>;
0348 regulator-max-microvolt = <1800000>;
0349 };
0350 vreg_l32a_1p8: l32 {
0351 regulator-name = "vreg_l32a_1p8";
0352 regulator-min-microvolt = <1800000>;
0353 regulator-max-microvolt = <1800000>;
0354 };
0355
0356 vreg_lvs1a_1p8: lvs1 {
0357 regulator-name = "vreg_lvs1a_1p8";
0358 };
0359
0360 vreg_lvs2a_1p8: lvs2 {
0361 regulator-name = "vreg_lvs2a_1p8";
0362 };
0363 };
0364 };
0365
0366 &sdhc2 {
0367 status = "okay";
0368
0369 bus-width = <4>;
0370
0371 cd-gpios = <&tlmm 38 0x1>;
0372
0373 vmmc-supply = <&vreg_l21a_2p95>;
0374 vqmmc-supply = <&vreg_l13a_2p95>;
0375
0376 pinctrl-names = "default", "sleep";
0377 pinctrl-0 = <&sdc2_pins_default>;
0378 pinctrl-1 = <&sdc2_pins_sleep>;
0379 };
0380
0381 &ufshc {
0382 status = "okay";
0383
0384 vcc-supply = <&vreg_l20a_2p95>;
0385 vccq-supply = <&vreg_l25a_1p2>;
0386 vccq2-supply = <&vreg_s4a_1p8>;
0387
0388 vcc-max-microamp = <600000>;
0389 vccq-max-microamp = <450000>;
0390 vccq2-max-microamp = <450000>;
0391 };
0392
0393 &ufsphy {
0394 status = "okay";
0395
0396 vdda-phy-supply = <&vreg_l28a_0p925>;
0397 vdda-pll-supply = <&vreg_l12a_1p8>;
0398 };
0399
0400 &venus {
0401 status = "okay";
0402 };