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 7*0c4f1091SLuca Weiss#include <dt-bindings/leds/common.h> 8308b26cdSLuca Weiss#include "sdm632.dtsi" 9308b26cdSLuca Weiss#include "pm8953.dtsi" 10*0c4f1091SLuca Weiss#include "pmi632.dtsi" 11308b26cdSLuca Weiss 12308b26cdSLuca Weiss/ { 13308b26cdSLuca Weiss model = "Fairphone 3"; 14308b26cdSLuca Weiss compatible = "fairphone,fp3", "qcom,sdm632"; 15308b26cdSLuca Weiss chassis-type = "handset"; 16308b26cdSLuca Weiss qcom,msm-id = <349 0>; 17308b26cdSLuca Weiss qcom,board-id = <8 0x10000>; 18308b26cdSLuca Weiss 19308b26cdSLuca Weiss aliases { 20308b26cdSLuca Weiss mmc0 = &sdhc_1; 21308b26cdSLuca Weiss mmc1 = &sdhc_2; 22308b26cdSLuca Weiss serial0 = &uart_0; 23308b26cdSLuca Weiss }; 24308b26cdSLuca Weiss 25308b26cdSLuca Weiss chosen { 26308b26cdSLuca Weiss stdout-path = "serial0:115200n8"; 27308b26cdSLuca Weiss }; 28308b26cdSLuca Weiss 29308b26cdSLuca Weiss gpio-keys { 30308b26cdSLuca Weiss compatible = "gpio-keys"; 31308b26cdSLuca Weiss 32b08f5cbdSKrzysztof Kozlowski key-volume-up { 33308b26cdSLuca Weiss label = "volume_up"; 34308b26cdSLuca Weiss linux,code = <KEY_VOLUMEUP>; 35308b26cdSLuca Weiss gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 36308b26cdSLuca Weiss }; 37308b26cdSLuca Weiss }; 38308b26cdSLuca Weiss 39308b26cdSLuca Weiss vph_pwr: vph-pwr-regulator { 40308b26cdSLuca Weiss compatible = "regulator-fixed"; 41308b26cdSLuca Weiss regulator-name = "vph_pwr"; 42308b26cdSLuca Weiss regulator-always-on; 43308b26cdSLuca Weiss regulator-boot-on; 44308b26cdSLuca Weiss }; 45308b26cdSLuca Weiss}; 46308b26cdSLuca Weiss 47308b26cdSLuca Weiss&hsusb_phy { 48308b26cdSLuca Weiss status = "okay"; 49308b26cdSLuca Weiss vdd-supply = <&pm8953_l3>; 50308b26cdSLuca Weiss vdda-pll-supply = <&pm8953_l7>; 51308b26cdSLuca Weiss vdda-phy-dpdm-supply = <&pm8953_l13>; 52308b26cdSLuca Weiss}; 53308b26cdSLuca Weiss 546d9a666dSJob Noorman&i2c_3 { 556d9a666dSJob Noorman status = "okay"; 566d9a666dSJob Noorman 576d9a666dSJob Noorman touchscreen@48 { 586d9a666dSJob Noorman compatible = "himax,hx83112b"; 596d9a666dSJob Noorman reg = <0x48>; 606d9a666dSJob Noorman interrupt-parent = <&tlmm>; 616d9a666dSJob Noorman interrupts = <65 IRQ_TYPE_LEVEL_LOW>; 626d9a666dSJob Noorman touchscreen-size-x = <1080>; 636d9a666dSJob Noorman touchscreen-size-y = <2160>; 646d9a666dSJob Noorman reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; 656d9a666dSJob Noorman }; 666d9a666dSJob Noorman}; 676d9a666dSJob Noorman 6829dcf3c1SLuca Weiss&i2c_5 { 6929dcf3c1SLuca Weiss status = "okay"; 7029dcf3c1SLuca Weiss 7129dcf3c1SLuca Weiss nfc@28 { 7229dcf3c1SLuca Weiss compatible = "nxp,nq310", "nxp,nxp-nci-i2c"; 7329dcf3c1SLuca Weiss reg = <0x28>; 7429dcf3c1SLuca Weiss 7529dcf3c1SLuca Weiss interrupt-parent = <&tlmm>; 7629dcf3c1SLuca Weiss interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; 7729dcf3c1SLuca Weiss 7829dcf3c1SLuca Weiss enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; 7929dcf3c1SLuca Weiss firmware-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; 8029dcf3c1SLuca Weiss }; 8129dcf3c1SLuca Weiss}; 8229dcf3c1SLuca Weiss 83308b26cdSLuca Weiss&pm8953_resin { 84308b26cdSLuca Weiss status = "okay"; 85308b26cdSLuca Weiss linux,code = <KEY_VOLUMEDOWN>; 86308b26cdSLuca Weiss}; 87308b26cdSLuca Weiss 88*0c4f1091SLuca Weiss&pmi632_lpg { 89*0c4f1091SLuca Weiss status = "okay"; 90*0c4f1091SLuca Weiss 91*0c4f1091SLuca Weiss multi-led { 92*0c4f1091SLuca Weiss color = <LED_COLOR_ID_RGB>; 93*0c4f1091SLuca Weiss function = LED_FUNCTION_STATUS; 94*0c4f1091SLuca Weiss 95*0c4f1091SLuca Weiss #address-cells = <1>; 96*0c4f1091SLuca Weiss #size-cells = <0>; 97*0c4f1091SLuca Weiss 98*0c4f1091SLuca Weiss led@1 { 99*0c4f1091SLuca Weiss reg = <1>; 100*0c4f1091SLuca Weiss color = <LED_COLOR_ID_RED>; 101*0c4f1091SLuca Weiss }; 102*0c4f1091SLuca Weiss 103*0c4f1091SLuca Weiss led@2 { 104*0c4f1091SLuca Weiss reg = <2>; 105*0c4f1091SLuca Weiss color = <LED_COLOR_ID_GREEN>; 106*0c4f1091SLuca Weiss }; 107*0c4f1091SLuca Weiss 108*0c4f1091SLuca Weiss led@3 { 109*0c4f1091SLuca Weiss reg = <3>; 110*0c4f1091SLuca Weiss color = <LED_COLOR_ID_BLUE>; 111*0c4f1091SLuca Weiss }; 112*0c4f1091SLuca Weiss }; 113*0c4f1091SLuca Weiss}; 114*0c4f1091SLuca Weiss 115308b26cdSLuca Weiss&sdhc_1 { 116308b26cdSLuca Weiss status = "okay"; 117308b26cdSLuca Weiss vmmc-supply = <&pm8953_l8>; 118308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l5>; 119308b26cdSLuca Weiss}; 120308b26cdSLuca Weiss 121308b26cdSLuca Weiss&sdhc_2 { 122308b26cdSLuca Weiss status = "okay"; 123308b26cdSLuca Weiss vmmc-supply = <&pm8953_l11>; 124308b26cdSLuca Weiss vqmmc-supply = <&pm8953_l12>; 125308b26cdSLuca Weiss 126308b26cdSLuca Weiss cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 127308b26cdSLuca Weiss}; 128308b26cdSLuca Weiss 129308b26cdSLuca Weiss&rpm_requests { 130372698e8SKrzysztof Kozlowski regulators { 131308b26cdSLuca Weiss compatible = "qcom,rpm-pm8953-regulators"; 132308b26cdSLuca Weiss 133308b26cdSLuca Weiss vdd_l1-supply = <&pm8953_s3>; 134308b26cdSLuca Weiss vdd_l2_l3-supply = <&pm8953_s3>; 135308b26cdSLuca Weiss vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 136308b26cdSLuca Weiss vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 137308b26cdSLuca Weiss vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 138308b26cdSLuca Weiss 139308b26cdSLuca Weiss pm8953_s3: s3 { 140308b26cdSLuca Weiss regulator-min-microvolt = <984000>; 141308b26cdSLuca Weiss regulator-max-microvolt = <1240000>; 142308b26cdSLuca Weiss }; 143308b26cdSLuca Weiss pm8953_s4: s4 { 144308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 145308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 146308b26cdSLuca Weiss }; 147308b26cdSLuca Weiss pm8953_s5: s5 { 148308b26cdSLuca Weiss regulator-min-microvolt = <1036000>; 149308b26cdSLuca Weiss regulator-max-microvolt = <2040000>; 150308b26cdSLuca Weiss }; 151308b26cdSLuca Weiss 152308b26cdSLuca Weiss pm8953_l1: l1 { 153308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 154308b26cdSLuca Weiss regulator-max-microvolt = <1050000>; 155308b26cdSLuca Weiss }; 156308b26cdSLuca Weiss pm8953_l2: l2 { 157308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 158308b26cdSLuca Weiss regulator-max-microvolt = <1175000>; 159308b26cdSLuca Weiss }; 160308b26cdSLuca Weiss pm8953_l3: l3 { 161308b26cdSLuca Weiss regulator-min-microvolt = <925000>; 162308b26cdSLuca Weiss regulator-max-microvolt = <925000>; 163308b26cdSLuca Weiss }; 164308b26cdSLuca Weiss pm8953_l5: l5 { 165308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 166308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 167308b26cdSLuca Weiss }; 168308b26cdSLuca Weiss pm8953_l6: l6 { 169308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 170308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 171308b26cdSLuca Weiss }; 172308b26cdSLuca Weiss pm8953_l7: l7 { 173308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 174308b26cdSLuca Weiss regulator-max-microvolt = <1900000>; 175308b26cdSLuca Weiss }; 176308b26cdSLuca Weiss pm8953_l8: l8 { 177308b26cdSLuca Weiss regulator-min-microvolt = <2900000>; 178308b26cdSLuca Weiss regulator-max-microvolt = <2900000>; 179308b26cdSLuca Weiss }; 180308b26cdSLuca Weiss pm8953_l9: l9 { 181308b26cdSLuca Weiss regulator-min-microvolt = <3000000>; 182308b26cdSLuca Weiss regulator-max-microvolt = <3300000>; 183308b26cdSLuca Weiss }; 184308b26cdSLuca Weiss pm8953_l10: l10 { 185308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 186308b26cdSLuca Weiss regulator-max-microvolt = <3000000>; 187308b26cdSLuca Weiss }; 188308b26cdSLuca Weiss pm8953_l11: l11 { 189308b26cdSLuca Weiss regulator-min-microvolt = <2950000>; 190308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 191308b26cdSLuca Weiss }; 192308b26cdSLuca Weiss pm8953_l12: l12 { 193308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 194308b26cdSLuca Weiss regulator-max-microvolt = <2950000>; 195308b26cdSLuca Weiss }; 196308b26cdSLuca Weiss pm8953_l13: l13 { 197308b26cdSLuca Weiss regulator-min-microvolt = <3125000>; 198308b26cdSLuca Weiss regulator-max-microvolt = <3125000>; 199308b26cdSLuca Weiss }; 200308b26cdSLuca Weiss pm8953_l16: l16 { 201308b26cdSLuca Weiss regulator-min-microvolt = <1800000>; 202308b26cdSLuca Weiss regulator-max-microvolt = <1800000>; 203308b26cdSLuca Weiss }; 204308b26cdSLuca Weiss pm8953_l17: l17 { 205308b26cdSLuca Weiss regulator-min-microvolt = <2850000>; 206308b26cdSLuca Weiss regulator-max-microvolt = <2850000>; 207308b26cdSLuca Weiss }; 208308b26cdSLuca Weiss pm8953_l19: l19 { 209308b26cdSLuca Weiss regulator-min-microvolt = <1200000>; 210308b26cdSLuca Weiss regulator-max-microvolt = <1350000>; 211308b26cdSLuca Weiss }; 212308b26cdSLuca Weiss pm8953_l22: l22 { 213308b26cdSLuca Weiss regulator-min-microvolt = <2800000>; 214308b26cdSLuca Weiss regulator-max-microvolt = <2800000>; 215308b26cdSLuca Weiss }; 216308b26cdSLuca Weiss pm8953_l23: l23 { 217308b26cdSLuca Weiss regulator-min-microvolt = <975000>; 218308b26cdSLuca Weiss regulator-max-microvolt = <1225000>; 219308b26cdSLuca Weiss }; 220308b26cdSLuca Weiss }; 221308b26cdSLuca Weiss}; 222308b26cdSLuca Weiss 223308b26cdSLuca Weiss&tlmm { 224308b26cdSLuca Weiss /* 225308b26cdSLuca Weiss * 0-3: unused but protected by TZ 226308b26cdSLuca Weiss * 135-138: fingerprint reader (SPI) 227308b26cdSLuca Weiss */ 228308b26cdSLuca Weiss gpio-reserved-ranges = <0 4>, <135 4>; 229308b26cdSLuca Weiss}; 230308b26cdSLuca Weiss 231308b26cdSLuca Weiss&uart_0 { 232308b26cdSLuca Weiss status = "okay"; 233308b26cdSLuca Weiss}; 234308b26cdSLuca Weiss 235308b26cdSLuca Weiss&usb3 { 236308b26cdSLuca Weiss status = "okay"; 237308b26cdSLuca Weiss}; 238308b26cdSLuca Weiss 239308b26cdSLuca Weiss&usb3_dwc3 { 240308b26cdSLuca Weiss dr_mode = "peripheral"; 241308b26cdSLuca Weiss}; 242