1*a2dd7cf8SCristian Cozzolino// SPDX-License-Identifier: BSD-3-Clause 2*a2dd7cf8SCristian Cozzolino/* 3*a2dd7cf8SCristian Cozzolino * Copyright (c) 2025, Cristian Cozzolino 4*a2dd7cf8SCristian Cozzolino */ 5*a2dd7cf8SCristian Cozzolino/dts-v1/; 6*a2dd7cf8SCristian Cozzolino 7*a2dd7cf8SCristian Cozzolino#include "msm8953.dtsi" 8*a2dd7cf8SCristian Cozzolino#include "pm8953.dtsi" 9*a2dd7cf8SCristian Cozzolino#include "pmi8950.dtsi" 10*a2dd7cf8SCristian Cozzolino 11*a2dd7cf8SCristian Cozzolino/delete-node/ &cont_splash_mem; 12*a2dd7cf8SCristian Cozzolino/delete-node/ &qseecom_mem; 13*a2dd7cf8SCristian Cozzolino 14*a2dd7cf8SCristian Cozzolino/ { 15*a2dd7cf8SCristian Cozzolino model = "Billion Capture+"; 16*a2dd7cf8SCristian Cozzolino compatible = "flipkart,rimob", "qcom,msm8953"; 17*a2dd7cf8SCristian Cozzolino chassis-type = "handset"; 18*a2dd7cf8SCristian Cozzolino qcom,msm-id = <293 0>; 19*a2dd7cf8SCristian Cozzolino qcom,board-id = <0x340008 0>; 20*a2dd7cf8SCristian Cozzolino 21*a2dd7cf8SCristian Cozzolino chosen { 22*a2dd7cf8SCristian Cozzolino #address-cells = <2>; 23*a2dd7cf8SCristian Cozzolino #size-cells = <2>; 24*a2dd7cf8SCristian Cozzolino ranges; 25*a2dd7cf8SCristian Cozzolino 26*a2dd7cf8SCristian Cozzolino framebuffer@90001000 { 27*a2dd7cf8SCristian Cozzolino compatible = "simple-framebuffer"; 28*a2dd7cf8SCristian Cozzolino reg = <0 0x90001000 0 (1920 * 1080 * 3)>; 29*a2dd7cf8SCristian Cozzolino 30*a2dd7cf8SCristian Cozzolino width = <1080>; 31*a2dd7cf8SCristian Cozzolino height = <1920>; 32*a2dd7cf8SCristian Cozzolino stride = <(1080 * 3)>; 33*a2dd7cf8SCristian Cozzolino format = "r8g8b8"; 34*a2dd7cf8SCristian Cozzolino 35*a2dd7cf8SCristian Cozzolino power-domains = <&gcc MDSS_GDSC>; 36*a2dd7cf8SCristian Cozzolino 37*a2dd7cf8SCristian Cozzolino clocks = <&gcc GCC_MDSS_AHB_CLK>, 38*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_AXI_CLK>, 39*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_VSYNC_CLK>, 40*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_MDP_CLK>, 41*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_BYTE0_CLK>, 42*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_PCLK0_CLK>, 43*a2dd7cf8SCristian Cozzolino <&gcc GCC_MDSS_ESC0_CLK>; 44*a2dd7cf8SCristian Cozzolino }; 45*a2dd7cf8SCristian Cozzolino }; 46*a2dd7cf8SCristian Cozzolino 47*a2dd7cf8SCristian Cozzolino gpio-keys { 48*a2dd7cf8SCristian Cozzolino compatible = "gpio-keys"; 49*a2dd7cf8SCristian Cozzolino 50*a2dd7cf8SCristian Cozzolino pinctrl-0 = <&gpio_key_default>; 51*a2dd7cf8SCristian Cozzolino pinctrl-names = "default"; 52*a2dd7cf8SCristian Cozzolino 53*a2dd7cf8SCristian Cozzolino key-volume-up { 54*a2dd7cf8SCristian Cozzolino label = "Volume Up"; 55*a2dd7cf8SCristian Cozzolino gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; 56*a2dd7cf8SCristian Cozzolino linux,code = <KEY_VOLUMEUP>; 57*a2dd7cf8SCristian Cozzolino debounce-interval = <15>; 58*a2dd7cf8SCristian Cozzolino }; 59*a2dd7cf8SCristian Cozzolino }; 60*a2dd7cf8SCristian Cozzolino 61*a2dd7cf8SCristian Cozzolino reserved-memory { 62*a2dd7cf8SCristian Cozzolino qseecom_mem: qseecom@84a00000 { 63*a2dd7cf8SCristian Cozzolino reg = <0x0 0x84a00000 0x0 0x1900000>; 64*a2dd7cf8SCristian Cozzolino no-map; 65*a2dd7cf8SCristian Cozzolino }; 66*a2dd7cf8SCristian Cozzolino 67*a2dd7cf8SCristian Cozzolino cont_splash_mem: cont-splash@90001000 { 68*a2dd7cf8SCristian Cozzolino reg = <0x0 0x90001000 0x0 (1080 * 1920 * 3)>; 69*a2dd7cf8SCristian Cozzolino no-map; 70*a2dd7cf8SCristian Cozzolino }; 71*a2dd7cf8SCristian Cozzolino }; 72*a2dd7cf8SCristian Cozzolino 73*a2dd7cf8SCristian Cozzolino vph_pwr: vph-pwr-regulator { 74*a2dd7cf8SCristian Cozzolino compatible = "regulator-fixed"; 75*a2dd7cf8SCristian Cozzolino regulator-name = "vph_pwr"; 76*a2dd7cf8SCristian Cozzolino regulator-always-on; 77*a2dd7cf8SCristian Cozzolino regulator-boot-on; 78*a2dd7cf8SCristian Cozzolino }; 79*a2dd7cf8SCristian Cozzolino}; 80*a2dd7cf8SCristian Cozzolino 81*a2dd7cf8SCristian Cozzolino 82*a2dd7cf8SCristian Cozzolino&hsusb_phy { 83*a2dd7cf8SCristian Cozzolino vdd-supply = <&pm8953_l3>; 84*a2dd7cf8SCristian Cozzolino vdda-pll-supply = <&pm8953_l7>; 85*a2dd7cf8SCristian Cozzolino vdda-phy-dpdm-supply = <&pm8953_l13>; 86*a2dd7cf8SCristian Cozzolino 87*a2dd7cf8SCristian Cozzolino status = "okay"; 88*a2dd7cf8SCristian Cozzolino}; 89*a2dd7cf8SCristian Cozzolino 90*a2dd7cf8SCristian Cozzolino&pm8953_resin { 91*a2dd7cf8SCristian Cozzolino linux,code = <KEY_VOLUMEDOWN>; 92*a2dd7cf8SCristian Cozzolino status = "okay"; 93*a2dd7cf8SCristian Cozzolino}; 94*a2dd7cf8SCristian Cozzolino 95*a2dd7cf8SCristian Cozzolino&rpm_requests { 96*a2dd7cf8SCristian Cozzolino regulators { 97*a2dd7cf8SCristian Cozzolino compatible = "qcom,rpm-pm8953-regulators"; 98*a2dd7cf8SCristian Cozzolino vdd_s1-supply = <&vph_pwr>; 99*a2dd7cf8SCristian Cozzolino vdd_s2-supply = <&vph_pwr>; 100*a2dd7cf8SCristian Cozzolino vdd_s3-supply = <&vph_pwr>; 101*a2dd7cf8SCristian Cozzolino vdd_s4-supply = <&vph_pwr>; 102*a2dd7cf8SCristian Cozzolino vdd_s5-supply = <&vph_pwr>; 103*a2dd7cf8SCristian Cozzolino vdd_s6-supply = <&vph_pwr>; 104*a2dd7cf8SCristian Cozzolino vdd_s7-supply = <&vph_pwr>; 105*a2dd7cf8SCristian Cozzolino vdd_l1-supply = <&pm8953_s3>; 106*a2dd7cf8SCristian Cozzolino vdd_l2_l3-supply = <&pm8953_s3>; 107*a2dd7cf8SCristian Cozzolino vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; 108*a2dd7cf8SCristian Cozzolino vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; 109*a2dd7cf8SCristian Cozzolino vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; 110*a2dd7cf8SCristian Cozzolino vdd_l23-supply = <&pm8953_s3>; 111*a2dd7cf8SCristian Cozzolino 112*a2dd7cf8SCristian Cozzolino pm8953_s1: s1 { 113*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <870000>; 114*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1156000>; 115*a2dd7cf8SCristian Cozzolino }; 116*a2dd7cf8SCristian Cozzolino 117*a2dd7cf8SCristian Cozzolino pm8953_s3: s3 { 118*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1224000>; 119*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1224000>; 120*a2dd7cf8SCristian Cozzolino }; 121*a2dd7cf8SCristian Cozzolino 122*a2dd7cf8SCristian Cozzolino pm8953_s4: s4 { 123*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1900000>; 124*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2050000>; 125*a2dd7cf8SCristian Cozzolino }; 126*a2dd7cf8SCristian Cozzolino 127*a2dd7cf8SCristian Cozzolino pm8953_l1: l1 { 128*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1000000>; 129*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1000000>; 130*a2dd7cf8SCristian Cozzolino }; 131*a2dd7cf8SCristian Cozzolino 132*a2dd7cf8SCristian Cozzolino pm8953_l2: l2 { 133*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <975000>; 134*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1225000>; 135*a2dd7cf8SCristian Cozzolino }; 136*a2dd7cf8SCristian Cozzolino 137*a2dd7cf8SCristian Cozzolino pm8953_l3: l3 { 138*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <925000>; 139*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <925000>; 140*a2dd7cf8SCristian Cozzolino }; 141*a2dd7cf8SCristian Cozzolino 142*a2dd7cf8SCristian Cozzolino pm8953_l5: l5 { 143*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1800000>; 144*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1800000>; 145*a2dd7cf8SCristian Cozzolino regulator-allow-set-load; 146*a2dd7cf8SCristian Cozzolino }; 147*a2dd7cf8SCristian Cozzolino 148*a2dd7cf8SCristian Cozzolino pm8953_l6: l6 { 149*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1800000>; 150*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1800000>; 151*a2dd7cf8SCristian Cozzolino }; 152*a2dd7cf8SCristian Cozzolino 153*a2dd7cf8SCristian Cozzolino pm8953_l7: l7 { 154*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1800000>; 155*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1900000>; 156*a2dd7cf8SCristian Cozzolino }; 157*a2dd7cf8SCristian Cozzolino 158*a2dd7cf8SCristian Cozzolino pm8953_l8: l8 { 159*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <2900000>; 160*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2900000>; 161*a2dd7cf8SCristian Cozzolino regulator-allow-set-load; 162*a2dd7cf8SCristian Cozzolino }; 163*a2dd7cf8SCristian Cozzolino 164*a2dd7cf8SCristian Cozzolino pm8953_l9: l9 { 165*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <3000000>; 166*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <3300000>; 167*a2dd7cf8SCristian Cozzolino }; 168*a2dd7cf8SCristian Cozzolino 169*a2dd7cf8SCristian Cozzolino pm8953_l10: l10 { 170*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <2850000>; 171*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2850000>; 172*a2dd7cf8SCristian Cozzolino }; 173*a2dd7cf8SCristian Cozzolino 174*a2dd7cf8SCristian Cozzolino pm8953_l11: l11 { 175*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <2950000>; 176*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2950000>; 177*a2dd7cf8SCristian Cozzolino regulator-allow-set-load; 178*a2dd7cf8SCristian Cozzolino }; 179*a2dd7cf8SCristian Cozzolino 180*a2dd7cf8SCristian Cozzolino pm8953_l12: l12 { 181*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1800000>; 182*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2950000>; 183*a2dd7cf8SCristian Cozzolino regulator-allow-set-load; 184*a2dd7cf8SCristian Cozzolino }; 185*a2dd7cf8SCristian Cozzolino 186*a2dd7cf8SCristian Cozzolino pm8953_l13: l13 { 187*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <3125000>; 188*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <3125000>; 189*a2dd7cf8SCristian Cozzolino }; 190*a2dd7cf8SCristian Cozzolino 191*a2dd7cf8SCristian Cozzolino pm8953_l16: l16 { 192*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1800000>; 193*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1800000>; 194*a2dd7cf8SCristian Cozzolino }; 195*a2dd7cf8SCristian Cozzolino 196*a2dd7cf8SCristian Cozzolino pm8953_l17: l17 { 197*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <2850000>; 198*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2850000>; 199*a2dd7cf8SCristian Cozzolino }; 200*a2dd7cf8SCristian Cozzolino 201*a2dd7cf8SCristian Cozzolino pm8953_l19: l19 { 202*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <1200000>; 203*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1350000>; 204*a2dd7cf8SCristian Cozzolino }; 205*a2dd7cf8SCristian Cozzolino 206*a2dd7cf8SCristian Cozzolino pm8953_l22: l22 { 207*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <2800000>; 208*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <2800000>; 209*a2dd7cf8SCristian Cozzolino }; 210*a2dd7cf8SCristian Cozzolino 211*a2dd7cf8SCristian Cozzolino pm8953_l23: l23 { 212*a2dd7cf8SCristian Cozzolino regulator-min-microvolt = <975000>; 213*a2dd7cf8SCristian Cozzolino regulator-max-microvolt = <1225000>; 214*a2dd7cf8SCristian Cozzolino }; 215*a2dd7cf8SCristian Cozzolino }; 216*a2dd7cf8SCristian Cozzolino}; 217*a2dd7cf8SCristian Cozzolino 218*a2dd7cf8SCristian Cozzolino&sdhc_1 { 219*a2dd7cf8SCristian Cozzolino vmmc-supply = <&pm8953_l8>; 220*a2dd7cf8SCristian Cozzolino vqmmc-supply = <&pm8953_l5>; 221*a2dd7cf8SCristian Cozzolino 222*a2dd7cf8SCristian Cozzolino status = "okay"; 223*a2dd7cf8SCristian Cozzolino}; 224*a2dd7cf8SCristian Cozzolino 225*a2dd7cf8SCristian Cozzolino&sdhc_2 { 226*a2dd7cf8SCristian Cozzolino vmmc-supply = <&pm8953_l11>; 227*a2dd7cf8SCristian Cozzolino vqmmc-supply = <&pm8953_l12>; 228*a2dd7cf8SCristian Cozzolino 229*a2dd7cf8SCristian Cozzolino cd-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>; 230*a2dd7cf8SCristian Cozzolino 231*a2dd7cf8SCristian Cozzolino pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 232*a2dd7cf8SCristian Cozzolino pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; 233*a2dd7cf8SCristian Cozzolino pinctrl-names = "default", "sleep"; 234*a2dd7cf8SCristian Cozzolino 235*a2dd7cf8SCristian Cozzolino status = "okay"; 236*a2dd7cf8SCristian Cozzolino}; 237*a2dd7cf8SCristian Cozzolino 238*a2dd7cf8SCristian Cozzolino&tlmm { 239*a2dd7cf8SCristian Cozzolino gpio-reserved-ranges = <0 4>, <135 4>; 240*a2dd7cf8SCristian Cozzolino 241*a2dd7cf8SCristian Cozzolino gpio_key_default: gpio-key-default-state { 242*a2dd7cf8SCristian Cozzolino pins = "gpio85"; 243*a2dd7cf8SCristian Cozzolino function = "gpio"; 244*a2dd7cf8SCristian Cozzolino drive-strength = <2>; 245*a2dd7cf8SCristian Cozzolino bias-pull-up; 246*a2dd7cf8SCristian Cozzolino }; 247*a2dd7cf8SCristian Cozzolino}; 248*a2dd7cf8SCristian Cozzolino 249*a2dd7cf8SCristian Cozzolino&usb3 { 250*a2dd7cf8SCristian Cozzolino status = "okay"; 251*a2dd7cf8SCristian Cozzolino}; 252*a2dd7cf8SCristian Cozzolino 253*a2dd7cf8SCristian Cozzolino&usb3_dwc3 { 254*a2dd7cf8SCristian Cozzolino dr_mode = "peripheral"; 255*a2dd7cf8SCristian Cozzolino}; 256