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 526d9a666dSJob Noorman&i2c_3 { 536d9a666dSJob Noorman status = "okay"; 546d9a666dSJob Noorman 556d9a666dSJob Noorman touchscreen@48 { 566d9a666dSJob Noorman compatible = "himax,hx83112b"; 576d9a666dSJob Noorman reg = <0x48>; 586d9a666dSJob Noorman interrupt-parent = <&tlmm>; 596d9a666dSJob Noorman interrupts = <65 IRQ_TYPE_LEVEL_LOW>; 606d9a666dSJob Noorman touchscreen-size-x = <1080>; 616d9a666dSJob Noorman touchscreen-size-y = <2160>; 626d9a666dSJob Noorman reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 636d9a666dSJob Noorman }; 646d9a666dSJob Noorman}; 656d9a666dSJob Noorman 66*29dcf3c1SLuca Weiss&i2c_5 { 67*29dcf3c1SLuca Weiss status = "okay"; 68*29dcf3c1SLuca Weiss 69*29dcf3c1SLuca Weiss nfc@28 { 70*29dcf3c1SLuca Weiss compatible = "nxp,nq310", "nxp,nxp-nci-i2c"; 71*29dcf3c1SLuca Weiss reg = <0x28>; 72*29dcf3c1SLuca Weiss 73*29dcf3c1SLuca Weiss interrupt-parent = <&tlmm>; 74*29dcf3c1SLuca Weiss interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; 75*29dcf3c1SLuca Weiss 76*29dcf3c1SLuca Weiss enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; 77*29dcf3c1SLuca Weiss firmware-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; 78*29dcf3c1SLuca Weiss }; 79*29dcf3c1SLuca Weiss}; 80*29dcf3c1SLuca Weiss 81308b26cdSLuca Weiss&pm8953_resin { 82308b26cdSLuca Weiss status = "okay"; 83308b26cdSLuca Weiss linux,code = <KEY_VOLUMEDOWN>; 84308b26cdSLuca Weiss}; 85308b26cdSLuca Weiss 86308b26cdSLuca Weiss&sdhc_1 { 87308b26cdSLuca Weiss status = "okay"; 88308b26cdSLuca Weiss vmmc-supply = <&pm8953_l8>; 89308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l5>; 90308b26cdSLuca Weiss}; 91308b26cdSLuca Weiss 92308b26cdSLuca Weiss&sdhc_2 { 93308b26cdSLuca Weiss status = "okay"; 94308b26cdSLuca Weiss vmmc-supply = <&pm8953_l11>; 95308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l12>; 96308b26cdSLuca Weiss 97308b26cdSLuca Weiss cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 98308b26cdSLuca Weiss}; 99308b26cdSLuca Weiss 100308b26cdSLuca Weiss&rpm_requests { 101372698e8SKrzysztof Kozlowski regulators { 102308b26cdSLuca Weiss compatible = "qcom,rpm-pm8953-regulators"; 103308b26cdSLuca Weiss 104308b26cdSLuca Weiss vdd_l1-supply = <&pm8953_s3>; 105308b26cdSLuca Weiss vdd_l2_l3-supply = <&pm8953_s3>; 106308b26cdSLuca Weiss vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 107308b26cdSLuca Weiss vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 108308b26cdSLuca Weiss vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 109308b26cdSLuca Weiss 110308b26cdSLuca Weiss pm8953_s3: s3 { 111308b26cdSLuca Weiss regulator-min-microvolt = <984000>; 112308b26cdSLuca Weiss regulator-max-microvolt = <1240000>; 113308b26cdSLuca Weiss }; 114308b26cdSLuca Weiss pm8953_s4: s4 { 115308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 116308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 117308b26cdSLuca Weiss }; 118308b26cdSLuca Weiss pm8953_s5: s5 { 119308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 120308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 121308b26cdSLuca Weiss }; 122308b26cdSLuca Weiss 123308b26cdSLuca Weiss pm8953_l1: l1 { 124308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 125308b26cdSLuca Weiss regulator-max-microvolt = <1050000>; 126308b26cdSLuca Weiss }; 127308b26cdSLuca Weiss pm8953_l2: l2 { 128308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 129308b26cdSLuca Weiss regulator-max-microvolt = <1175000>; 130308b26cdSLuca Weiss }; 131308b26cdSLuca Weiss pm8953_l3: l3 { 132308b26cdSLuca Weiss regulator-min-microvolt = <925000>; 133308b26cdSLuca Weiss regulator-max-microvolt = <925000>; 134308b26cdSLuca Weiss }; 135308b26cdSLuca Weiss pm8953_l5: l5 { 136308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 137308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 138308b26cdSLuca Weiss }; 139308b26cdSLuca Weiss pm8953_l6: l6 { 140308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 141308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 142308b26cdSLuca Weiss }; 143308b26cdSLuca Weiss pm8953_l7: l7 { 144308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 145308b26cdSLuca Weiss regulator-max-microvolt = <1900000>; 146308b26cdSLuca Weiss }; 147308b26cdSLuca Weiss pm8953_l8: l8 { 148308b26cdSLuca Weiss regulator-min-microvolt = <2900000>; 149308b26cdSLuca Weiss regulator-max-microvolt = <2900000>; 150308b26cdSLuca Weiss }; 151308b26cdSLuca Weiss pm8953_l9: l9 { 152308b26cdSLuca Weiss regulator-min-microvolt = <3000000>; 153308b26cdSLuca Weiss regulator-max-microvolt = <3300000>; 154308b26cdSLuca Weiss }; 155308b26cdSLuca Weiss pm8953_l10: l10 { 156308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 157308b26cdSLuca Weiss regulator-max-microvolt = <3000000>; 158308b26cdSLuca Weiss }; 159308b26cdSLuca Weiss pm8953_l11: l11 { 160308b26cdSLuca Weiss regulator-min-microvolt = <2950000>; 161308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 162308b26cdSLuca Weiss }; 163308b26cdSLuca Weiss pm8953_l12: l12 { 164308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 165308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 166308b26cdSLuca Weiss }; 167308b26cdSLuca Weiss pm8953_l13: l13 { 168308b26cdSLuca Weiss regulator-min-microvolt = <3125000>; 169308b26cdSLuca Weiss regulator-max-microvolt = <3125000>; 170308b26cdSLuca Weiss }; 171308b26cdSLuca Weiss pm8953_l16: l16 { 172308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 173308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 174308b26cdSLuca Weiss }; 175308b26cdSLuca Weiss pm8953_l17: l17 { 176308b26cdSLuca Weiss regulator-min-microvolt = <2850000>; 177308b26cdSLuca Weiss regulator-max-microvolt = <2850000>; 178308b26cdSLuca Weiss }; 179308b26cdSLuca Weiss pm8953_l19: l19 { 180308b26cdSLuca Weiss regulator-min-microvolt = <1200000>; 181308b26cdSLuca Weiss regulator-max-microvolt = <1350000>; 182308b26cdSLuca Weiss }; 183308b26cdSLuca Weiss pm8953_l22: l22 { 184308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 185308b26cdSLuca Weiss regulator-max-microvolt = <2800000>; 186308b26cdSLuca Weiss }; 187308b26cdSLuca Weiss pm8953_l23: l23 { 188308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 189308b26cdSLuca Weiss regulator-max-microvolt = <1225000>; 190308b26cdSLuca Weiss }; 191308b26cdSLuca Weiss }; 192308b26cdSLuca Weiss}; 193308b26cdSLuca Weiss 194308b26cdSLuca Weiss&tlmm { 195308b26cdSLuca Weiss /* 196308b26cdSLuca Weiss * 0-3: unused but protected by TZ 197308b26cdSLuca Weiss * 135-138: fingerprint reader (SPI) 198308b26cdSLuca Weiss */ 199308b26cdSLuca Weiss gpio-reserved-ranges = <0 4>, <135 4>; 200308b26cdSLuca Weiss}; 201308b26cdSLuca Weiss 202308b26cdSLuca Weiss&uart_0 { 203308b26cdSLuca Weiss status = "okay"; 204308b26cdSLuca Weiss}; 205308b26cdSLuca Weiss 206308b26cdSLuca Weiss&usb3 { 207308b26cdSLuca Weiss status = "okay"; 208308b26cdSLuca Weiss}; 209308b26cdSLuca Weiss 210308b26cdSLuca Weiss&usb3_dwc3 { 211308b26cdSLuca Weiss dr_mode = "peripheral"; 212308b26cdSLuca Weiss}; 213