1*308b26cdSLuca Weiss// SPDX-License-Identifier: BSD-3-Clause 2*308b26cdSLuca Weiss/* 3*308b26cdSLuca Weiss * Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz> 4*308b26cdSLuca Weiss */ 5*308b26cdSLuca Weiss/dts-v1/; 6*308b26cdSLuca Weiss 7*308b26cdSLuca Weiss#include "sdm632.dtsi" 8*308b26cdSLuca Weiss#include "pm8953.dtsi" 9*308b26cdSLuca Weiss 10*308b26cdSLuca Weiss/ { 11*308b26cdSLuca Weiss model = "Fairphone 3"; 12*308b26cdSLuca Weiss compatible = "fairphone,fp3", "qcom,sdm632"; 13*308b26cdSLuca Weiss chassis-type = "handset"; 14*308b26cdSLuca Weiss qcom,msm-id = <349 0>; 15*308b26cdSLuca Weiss qcom,board-id = <8 0x10000>; 16*308b26cdSLuca Weiss 17*308b26cdSLuca Weiss aliases { 18*308b26cdSLuca Weiss mmc0 = &sdhc_1; 19*308b26cdSLuca Weiss mmc1 = &sdhc_2; 20*308b26cdSLuca Weiss serial0 = &uart_0; 21*308b26cdSLuca Weiss }; 22*308b26cdSLuca Weiss 23*308b26cdSLuca Weiss chosen { 24*308b26cdSLuca Weiss stdout-path = "serial0:115200n8"; 25*308b26cdSLuca Weiss }; 26*308b26cdSLuca Weiss 27*308b26cdSLuca Weiss gpio-keys { 28*308b26cdSLuca Weiss compatible = "gpio-keys"; 29*308b26cdSLuca Weiss 30*308b26cdSLuca Weiss volume-up { 31*308b26cdSLuca Weiss label = "volume_up"; 32*308b26cdSLuca Weiss linux,code = <KEY_VOLUMEUP>; 33*308b26cdSLuca Weiss gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 34*308b26cdSLuca Weiss }; 35*308b26cdSLuca Weiss }; 36*308b26cdSLuca Weiss 37*308b26cdSLuca Weiss vph_pwr: vph-pwr-regulator { 38*308b26cdSLuca Weiss compatible = "regulator-fixed"; 39*308b26cdSLuca Weiss regulator-name = "vph_pwr"; 40*308b26cdSLuca Weiss regulator-always-on; 41*308b26cdSLuca Weiss regulator-boot-on; 42*308b26cdSLuca Weiss }; 43*308b26cdSLuca Weiss}; 44*308b26cdSLuca Weiss 45*308b26cdSLuca Weiss&hsusb_phy { 46*308b26cdSLuca Weiss status = "okay"; 47*308b26cdSLuca Weiss vdd-supply = <&pm8953_l3>; 48*308b26cdSLuca Weiss vdda-pll-supply = <&pm8953_l7>; 49*308b26cdSLuca Weiss vdda-phy-dpdm-supply = <&pm8953_l13>; 50*308b26cdSLuca Weiss}; 51*308b26cdSLuca Weiss 52*308b26cdSLuca Weiss&pm8953_resin { 53*308b26cdSLuca Weiss status = "okay"; 54*308b26cdSLuca Weiss linux,code = <KEY_VOLUMEDOWN>; 55*308b26cdSLuca Weiss}; 56*308b26cdSLuca Weiss 57*308b26cdSLuca Weiss&sdhc_1 { 58*308b26cdSLuca Weiss status = "okay"; 59*308b26cdSLuca Weiss vmmc-supply = <&pm8953_l8>; 60*308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l5>; 61*308b26cdSLuca Weiss}; 62*308b26cdSLuca Weiss 63*308b26cdSLuca Weiss&sdhc_2 { 64*308b26cdSLuca Weiss status = "okay"; 65*308b26cdSLuca Weiss vmmc-supply = <&pm8953_l11>; 66*308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l12>; 67*308b26cdSLuca Weiss 68*308b26cdSLuca Weiss cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 69*308b26cdSLuca Weiss}; 70*308b26cdSLuca Weiss 71*308b26cdSLuca Weiss&rpm_requests { 72*308b26cdSLuca Weiss pm8953-regulators { 73*308b26cdSLuca Weiss compatible = "qcom,rpm-pm8953-regulators"; 74*308b26cdSLuca Weiss 75*308b26cdSLuca Weiss vdd_l1-supply = <&pm8953_s3>; 76*308b26cdSLuca Weiss vdd_l2_l3-supply = <&pm8953_s3>; 77*308b26cdSLuca Weiss vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 78*308b26cdSLuca Weiss vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 79*308b26cdSLuca Weiss vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 80*308b26cdSLuca Weiss 81*308b26cdSLuca Weiss pm8953_s3: s3 { 82*308b26cdSLuca Weiss regulator-min-microvolt = <984000>; 83*308b26cdSLuca Weiss regulator-max-microvolt = <1240000>; 84*308b26cdSLuca Weiss }; 85*308b26cdSLuca Weiss pm8953_s4: s4 { 86*308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 87*308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 88*308b26cdSLuca Weiss }; 89*308b26cdSLuca Weiss pm8953_s5: s5 { 90*308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 91*308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 92*308b26cdSLuca Weiss }; 93*308b26cdSLuca Weiss 94*308b26cdSLuca Weiss pm8953_l1: l1 { 95*308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 96*308b26cdSLuca Weiss regulator-max-microvolt = <1050000>; 97*308b26cdSLuca Weiss }; 98*308b26cdSLuca Weiss pm8953_l2: l2 { 99*308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 100*308b26cdSLuca Weiss regulator-max-microvolt = <1175000>; 101*308b26cdSLuca Weiss }; 102*308b26cdSLuca Weiss pm8953_l3: l3 { 103*308b26cdSLuca Weiss regulator-min-microvolt = <925000>; 104*308b26cdSLuca Weiss regulator-max-microvolt = <925000>; 105*308b26cdSLuca Weiss }; 106*308b26cdSLuca Weiss pm8953_l5: l5 { 107*308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 108*308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 109*308b26cdSLuca Weiss }; 110*308b26cdSLuca Weiss pm8953_l6: l6 { 111*308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 112*308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 113*308b26cdSLuca Weiss }; 114*308b26cdSLuca Weiss pm8953_l7: l7 { 115*308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 116*308b26cdSLuca Weiss regulator-max-microvolt = <1900000>; 117*308b26cdSLuca Weiss }; 118*308b26cdSLuca Weiss pm8953_l8: l8 { 119*308b26cdSLuca Weiss regulator-min-microvolt = <2900000>; 120*308b26cdSLuca Weiss regulator-max-microvolt = <2900000>; 121*308b26cdSLuca Weiss }; 122*308b26cdSLuca Weiss pm8953_l9: l9 { 123*308b26cdSLuca Weiss regulator-min-microvolt = <3000000>; 124*308b26cdSLuca Weiss regulator-max-microvolt = <3300000>; 125*308b26cdSLuca Weiss }; 126*308b26cdSLuca Weiss pm8953_l10: l10 { 127*308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 128*308b26cdSLuca Weiss regulator-max-microvolt = <3000000>; 129*308b26cdSLuca Weiss }; 130*308b26cdSLuca Weiss pm8953_l11: l11 { 131*308b26cdSLuca Weiss regulator-min-microvolt = <2950000>; 132*308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 133*308b26cdSLuca Weiss }; 134*308b26cdSLuca Weiss pm8953_l12: l12 { 135*308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 136*308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 137*308b26cdSLuca Weiss }; 138*308b26cdSLuca Weiss pm8953_l13: l13 { 139*308b26cdSLuca Weiss regulator-min-microvolt = <3125000>; 140*308b26cdSLuca Weiss regulator-max-microvolt = <3125000>; 141*308b26cdSLuca Weiss }; 142*308b26cdSLuca Weiss pm8953_l16: l16 { 143*308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 144*308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 145*308b26cdSLuca Weiss }; 146*308b26cdSLuca Weiss pm8953_l17: l17 { 147*308b26cdSLuca Weiss regulator-min-microvolt = <2850000>; 148*308b26cdSLuca Weiss regulator-max-microvolt = <2850000>; 149*308b26cdSLuca Weiss }; 150*308b26cdSLuca Weiss pm8953_l19: l19 { 151*308b26cdSLuca Weiss regulator-min-microvolt = <1200000>; 152*308b26cdSLuca Weiss regulator-max-microvolt = <1350000>; 153*308b26cdSLuca Weiss }; 154*308b26cdSLuca Weiss pm8953_l22: l22 { 155*308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 156*308b26cdSLuca Weiss regulator-max-microvolt = <2800000>; 157*308b26cdSLuca Weiss }; 158*308b26cdSLuca Weiss pm8953_l23: l23 { 159*308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 160*308b26cdSLuca Weiss regulator-max-microvolt = <1225000>; 161*308b26cdSLuca Weiss }; 162*308b26cdSLuca Weiss }; 163*308b26cdSLuca Weiss}; 164*308b26cdSLuca Weiss 165*308b26cdSLuca Weiss&tlmm { 166*308b26cdSLuca Weiss /* 167*308b26cdSLuca Weiss * 0-3: unused but protected by TZ 168*308b26cdSLuca Weiss * 135-138: fingerprint reader (SPI) 169*308b26cdSLuca Weiss */ 170*308b26cdSLuca Weiss gpio-reserved-ranges = <0 4>, <135 4>; 171*308b26cdSLuca Weiss}; 172*308b26cdSLuca Weiss 173*308b26cdSLuca Weiss&uart_0 { 174*308b26cdSLuca Weiss status = "okay"; 175*308b26cdSLuca Weiss}; 176*308b26cdSLuca Weiss 177*308b26cdSLuca Weiss&usb3 { 178*308b26cdSLuca Weiss status = "okay"; 179*308b26cdSLuca Weiss}; 180*308b26cdSLuca Weiss 181*308b26cdSLuca Weiss&usb3_dwc3 { 182*308b26cdSLuca Weiss dr_mode = "peripheral"; 183*308b26cdSLuca Weiss}; 184