1308b26cdSLuca Weiss// SPDX-License-Identifier: BSD-3-Clause 2308b26cdSLuca Weiss/* 3308b26cdSLuca Weiss * Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz> 4308b26cdSLuca Weiss */ 5308b26cdSLuca Weiss/dts-v1/; 6308b26cdSLuca Weiss 7308b26cdSLuca Weiss#include "sdm632.dtsi" 8308b26cdSLuca Weiss#include "pm8953.dtsi" 9308b26cdSLuca Weiss 10308b26cdSLuca Weiss/ { 11308b26cdSLuca Weiss model = "Fairphone 3"; 12308b26cdSLuca Weiss compatible = "fairphone,fp3", "qcom,sdm632"; 13308b26cdSLuca Weiss chassis-type = "handset"; 14308b26cdSLuca Weiss qcom,msm-id = <349 0>; 15308b26cdSLuca Weiss qcom,board-id = <8 0x10000>; 16308b26cdSLuca Weiss 17308b26cdSLuca Weiss aliases { 18308b26cdSLuca Weiss mmc0 = &sdhc_1; 19308b26cdSLuca Weiss mmc1 = &sdhc_2; 20308b26cdSLuca Weiss serial0 = &uart_0; 21308b26cdSLuca Weiss }; 22308b26cdSLuca Weiss 23308b26cdSLuca Weiss chosen { 24308b26cdSLuca Weiss stdout-path = "serial0:115200n8"; 25308b26cdSLuca Weiss }; 26308b26cdSLuca Weiss 27308b26cdSLuca Weiss gpio-keys { 28308b26cdSLuca Weiss compatible = "gpio-keys"; 29308b26cdSLuca Weiss 30b08f5cbdSKrzysztof Kozlowski key-volume-up { 31308b26cdSLuca Weiss label = "volume_up"; 32308b26cdSLuca Weiss linux,code = <KEY_VOLUMEUP>; 33308b26cdSLuca Weiss gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 34308b26cdSLuca Weiss }; 35308b26cdSLuca Weiss }; 36308b26cdSLuca Weiss 37308b26cdSLuca Weiss vph_pwr: vph-pwr-regulator { 38308b26cdSLuca Weiss compatible = "regulator-fixed"; 39308b26cdSLuca Weiss regulator-name = "vph_pwr"; 40308b26cdSLuca Weiss regulator-always-on; 41308b26cdSLuca Weiss regulator-boot-on; 42308b26cdSLuca Weiss }; 43308b26cdSLuca Weiss}; 44308b26cdSLuca Weiss 45308b26cdSLuca Weiss&hsusb_phy { 46308b26cdSLuca Weiss status = "okay"; 47308b26cdSLuca Weiss vdd-supply = <&pm8953_l3>; 48308b26cdSLuca Weiss vdda-pll-supply = <&pm8953_l7>; 49308b26cdSLuca Weiss vdda-phy-dpdm-supply = <&pm8953_l13>; 50308b26cdSLuca Weiss}; 51308b26cdSLuca Weiss 52*6d9a666dSJob Noorman&i2c_3 { 53*6d9a666dSJob Noorman status = "okay"; 54*6d9a666dSJob Noorman 55*6d9a666dSJob Noorman touchscreen@48 { 56*6d9a666dSJob Noorman compatible = "himax,hx83112b"; 57*6d9a666dSJob Noorman reg = <0x48>; 58*6d9a666dSJob Noorman interrupt-parent = <&tlmm>; 59*6d9a666dSJob Noorman interrupts = <65 IRQ_TYPE_LEVEL_LOW>; 60*6d9a666dSJob Noorman touchscreen-size-x = <1080>; 61*6d9a666dSJob Noorman touchscreen-size-y = <2160>; 62*6d9a666dSJob Noorman reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 63*6d9a666dSJob Noorman }; 64*6d9a666dSJob Noorman}; 65*6d9a666dSJob Noorman 66308b26cdSLuca Weiss&pm8953_resin { 67308b26cdSLuca Weiss status = "okay"; 68308b26cdSLuca Weiss linux,code = <KEY_VOLUMEDOWN>; 69308b26cdSLuca Weiss}; 70308b26cdSLuca Weiss 71308b26cdSLuca Weiss&sdhc_1 { 72308b26cdSLuca Weiss status = "okay"; 73308b26cdSLuca Weiss vmmc-supply = <&pm8953_l8>; 74308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l5>; 75308b26cdSLuca Weiss}; 76308b26cdSLuca Weiss 77308b26cdSLuca Weiss&sdhc_2 { 78308b26cdSLuca Weiss status = "okay"; 79308b26cdSLuca Weiss vmmc-supply = <&pm8953_l11>; 80308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l12>; 81308b26cdSLuca Weiss 82308b26cdSLuca Weiss cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 83308b26cdSLuca Weiss}; 84308b26cdSLuca Weiss 85308b26cdSLuca Weiss&rpm_requests { 86372698e8SKrzysztof Kozlowski regulators { 87308b26cdSLuca Weiss compatible = "qcom,rpm-pm8953-regulators"; 88308b26cdSLuca Weiss 89308b26cdSLuca Weiss vdd_l1-supply = <&pm8953_s3>; 90308b26cdSLuca Weiss vdd_l2_l3-supply = <&pm8953_s3>; 91308b26cdSLuca Weiss vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 92308b26cdSLuca Weiss vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 93308b26cdSLuca Weiss vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 94308b26cdSLuca Weiss 95308b26cdSLuca Weiss pm8953_s3: s3 { 96308b26cdSLuca Weiss regulator-min-microvolt = <984000>; 97308b26cdSLuca Weiss regulator-max-microvolt = <1240000>; 98308b26cdSLuca Weiss }; 99308b26cdSLuca Weiss pm8953_s4: s4 { 100308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 101308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 102308b26cdSLuca Weiss }; 103308b26cdSLuca Weiss pm8953_s5: s5 { 104308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 105308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 106308b26cdSLuca Weiss }; 107308b26cdSLuca Weiss 108308b26cdSLuca Weiss pm8953_l1: l1 { 109308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 110308b26cdSLuca Weiss regulator-max-microvolt = <1050000>; 111308b26cdSLuca Weiss }; 112308b26cdSLuca Weiss pm8953_l2: l2 { 113308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 114308b26cdSLuca Weiss regulator-max-microvolt = <1175000>; 115308b26cdSLuca Weiss }; 116308b26cdSLuca Weiss pm8953_l3: l3 { 117308b26cdSLuca Weiss regulator-min-microvolt = <925000>; 118308b26cdSLuca Weiss regulator-max-microvolt = <925000>; 119308b26cdSLuca Weiss }; 120308b26cdSLuca Weiss pm8953_l5: l5 { 121308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 122308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 123308b26cdSLuca Weiss }; 124308b26cdSLuca Weiss pm8953_l6: l6 { 125308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 126308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 127308b26cdSLuca Weiss }; 128308b26cdSLuca Weiss pm8953_l7: l7 { 129308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 130308b26cdSLuca Weiss regulator-max-microvolt = <1900000>; 131308b26cdSLuca Weiss }; 132308b26cdSLuca Weiss pm8953_l8: l8 { 133308b26cdSLuca Weiss regulator-min-microvolt = <2900000>; 134308b26cdSLuca Weiss regulator-max-microvolt = <2900000>; 135308b26cdSLuca Weiss }; 136308b26cdSLuca Weiss pm8953_l9: l9 { 137308b26cdSLuca Weiss regulator-min-microvolt = <3000000>; 138308b26cdSLuca Weiss regulator-max-microvolt = <3300000>; 139308b26cdSLuca Weiss }; 140308b26cdSLuca Weiss pm8953_l10: l10 { 141308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 142308b26cdSLuca Weiss regulator-max-microvolt = <3000000>; 143308b26cdSLuca Weiss }; 144308b26cdSLuca Weiss pm8953_l11: l11 { 145308b26cdSLuca Weiss regulator-min-microvolt = <2950000>; 146308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 147308b26cdSLuca Weiss }; 148308b26cdSLuca Weiss pm8953_l12: l12 { 149308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 150308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 151308b26cdSLuca Weiss }; 152308b26cdSLuca Weiss pm8953_l13: l13 { 153308b26cdSLuca Weiss regulator-min-microvolt = <3125000>; 154308b26cdSLuca Weiss regulator-max-microvolt = <3125000>; 155308b26cdSLuca Weiss }; 156308b26cdSLuca Weiss pm8953_l16: l16 { 157308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 158308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 159308b26cdSLuca Weiss }; 160308b26cdSLuca Weiss pm8953_l17: l17 { 161308b26cdSLuca Weiss regulator-min-microvolt = <2850000>; 162308b26cdSLuca Weiss regulator-max-microvolt = <2850000>; 163308b26cdSLuca Weiss }; 164308b26cdSLuca Weiss pm8953_l19: l19 { 165308b26cdSLuca Weiss regulator-min-microvolt = <1200000>; 166308b26cdSLuca Weiss regulator-max-microvolt = <1350000>; 167308b26cdSLuca Weiss }; 168308b26cdSLuca Weiss pm8953_l22: l22 { 169308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 170308b26cdSLuca Weiss regulator-max-microvolt = <2800000>; 171308b26cdSLuca Weiss }; 172308b26cdSLuca Weiss pm8953_l23: l23 { 173308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 174308b26cdSLuca Weiss regulator-max-microvolt = <1225000>; 175308b26cdSLuca Weiss }; 176308b26cdSLuca Weiss }; 177308b26cdSLuca Weiss}; 178308b26cdSLuca Weiss 179308b26cdSLuca Weiss&tlmm { 180308b26cdSLuca Weiss /* 181308b26cdSLuca Weiss * 0-3: unused but protected by TZ 182308b26cdSLuca Weiss * 135-138: fingerprint reader (SPI) 183308b26cdSLuca Weiss */ 184308b26cdSLuca Weiss gpio-reserved-ranges = <0 4>, <135 4>; 185308b26cdSLuca Weiss}; 186308b26cdSLuca Weiss 187308b26cdSLuca Weiss&uart_0 { 188308b26cdSLuca Weiss status = "okay"; 189308b26cdSLuca Weiss}; 190308b26cdSLuca Weiss 191308b26cdSLuca Weiss&usb3 { 192308b26cdSLuca Weiss status = "okay"; 193308b26cdSLuca Weiss}; 194308b26cdSLuca Weiss 195308b26cdSLuca Weiss&usb3_dwc3 { 196308b26cdSLuca Weiss dr_mode = "peripheral"; 197308b26cdSLuca Weiss}; 198