1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2026, David Wales <daviewales@disroot.org> 4 */ 5 6/dts-v1/; 7 8#include "qcom-msm8226.dtsi" 9#include "pm8226.dtsi" 10 11/delete-node/ &smem_region; 12 13/ { 14 model = "Motorola Moto G2 (2014)"; 15 compatible = "motorola,titan", "qcom,msm8226"; 16 chassis-type = "handset"; 17 18 aliases { 19 mmc0 = &sdhc_1; /* eMMC */ 20 }; 21 22 chosen { 23 #address-cells = <1>; 24 #size-cells = <1>; 25 ranges; 26 27 framebuffer@3200000 { 28 compatible = "simple-framebuffer"; 29 reg = <0x03200000 0x800000>; 30 width = <720>; 31 height = <1280>; 32 stride = <(720 * 3)>; 33 format = "r8g8b8"; 34 vsp-supply = <®_lcd_pos>; 35 vsn-supply = <®_lcd_neg>; 36 vddio-supply = <&vddio_disp_vreg>; 37 38 clocks = <&mmcc MDSS_AHB_CLK>, 39 <&mmcc MDSS_AXI_CLK>, 40 <&mmcc MDSS_BYTE0_CLK>, 41 <&mmcc MDSS_ESC0_CLK>, 42 <&mmcc MDSS_MDP_CLK>, 43 <&mmcc MMSS_MISC_AHB_CLK>, 44 <&mmcc MDSS_PCLK0_CLK>, 45 <&mmcc MDSS_VSYNC_CLK>; 46 power-domains = <&mmcc MDSS_GDSC>; 47 }; 48 }; 49 50 gpio-keys { 51 compatible = "gpio-keys"; 52 53 event-hall-sensor { 54 label = "Hall Effect Sensor"; 55 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>; 56 linux,input-type = <EV_SW>; 57 linux,code = <SW_LID>; 58 linux,can-disable; 59 }; 60 61 key-volume-down { 62 label = "Volume Down"; 63 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 64 linux,code = <KEY_VOLUMEDOWN>; 65 debounce-interval = <15>; 66 }; 67 68 key-volume-up { 69 label = "Volume Up"; 70 gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 71 linux,code = <KEY_VOLUMEUP>; 72 debounce-interval = <15>; 73 }; 74 }; 75 76 vddio_disp_vreg: regulator-vddio-disp { 77 compatible = "regulator-fixed"; 78 regulator-name = "vddio_disp"; 79 80 gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>; 81 startup-delay-us = <300>; 82 enable-active-high; 83 regulator-boot-on; 84 }; 85 86 reserved-memory { 87 #address-cells = <1>; 88 #size-cells = <1>; 89 ranges; 90 91 framebuffer@3200000 { 92 reg = <0x03200000 0xfa0000>; 93 no-map; 94 }; 95 96 dhob@f500000 { 97 reg = <0x0f500000 0x40000>; 98 no-map; 99 }; 100 101 shob@f540000 { 102 reg = <0x0f540000 0x2000>; 103 no-map; 104 }; 105 106 smem_region: smem@fa00000 { 107 reg = <0x0fa00000 0x100000>; 108 no-map; 109 }; 110 111 reserved@fb00000 { 112 reg = <0x0fb00000 0x400000>; 113 no-map; 114 }; 115 }; 116}; 117 118&blsp1_i2c4 { 119 status = "okay"; 120 121 regulator@3e { 122 compatible = "ti,tps65132"; 123 reg = <0x3e>; 124 125 pinctrl-0 = <®_lcd_default>; 126 pinctrl-names = "default"; 127 128 reg_lcd_pos: outp { 129 regulator-name = "outp"; 130 regulator-min-microvolt = <5400000>; 131 regulator-max-microvolt = <5600000>; 132 regulator-active-discharge = <1>; 133 regulator-boot-on; 134 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; 135 }; 136 137 reg_lcd_neg: outn { 138 regulator-name = "outn"; 139 regulator-min-microvolt = <5400000>; 140 regulator-max-microvolt = <5600000>; 141 regulator-active-discharge = <1>; 142 regulator-boot-on; 143 enable-gpios = <&tlmm 13 GPIO_ACTIVE_HIGH>; 144 }; 145 }; 146}; 147 148&pm8226_vib { 149 status = "okay"; 150}; 151 152&rpm_requests { 153 regulators { 154 compatible = "qcom,rpm-pm8226-regulators"; 155 156 pm8226_s3: s3 { 157 regulator-min-microvolt = <1200000>; 158 regulator-max-microvolt = <1300000>; 159 }; 160 161 pm8226_s4: s4 { 162 regulator-min-microvolt = <1800000>; 163 regulator-max-microvolt = <2200000>; 164 }; 165 166 pm8226_s5: s5 { 167 regulator-min-microvolt = <1150000>; 168 regulator-max-microvolt = <1150000>; 169 }; 170 171 pm8226_l1: l1 { 172 regulator-min-microvolt = <1225000>; 173 regulator-max-microvolt = <1225000>; 174 }; 175 176 pm8226_l2: l2 { 177 regulator-min-microvolt = <1200000>; 178 regulator-max-microvolt = <1200000>; 179 }; 180 181 pm8226_l3: l3 { 182 regulator-min-microvolt = <750000>; 183 regulator-max-microvolt = <1337500>; 184 }; 185 186 pm8226_l4: l4 { 187 regulator-min-microvolt = <1200000>; 188 regulator-max-microvolt = <1200000>; 189 }; 190 191 pm8226_l5: l5 { 192 regulator-min-microvolt = <1200000>; 193 regulator-max-microvolt = <1200000>; 194 }; 195 196 pm8226_l6: l6 { 197 /* Hall effect sensor */ 198 regulator-min-microvolt = <1800000>; 199 regulator-max-microvolt = <1800000>; 200 regulator-always-on; 201 }; 202 203 pm8226_l7: l7 { 204 regulator-min-microvolt = <1850000>; 205 regulator-max-microvolt = <1850000>; 206 }; 207 208 pm8226_l8: l8 { 209 regulator-min-microvolt = <1800000>; 210 regulator-max-microvolt = <1800000>; 211 }; 212 213 pm8226_l9: l9 { 214 regulator-min-microvolt = <2050000>; 215 regulator-max-microvolt = <2050000>; 216 }; 217 218 pm8226_l10: l10 { 219 regulator-min-microvolt = <1800000>; 220 regulator-max-microvolt = <1800000>; 221 }; 222 223 pm8226_l12: l12 { 224 regulator-min-microvolt = <1800000>; 225 regulator-max-microvolt = <1800000>; 226 }; 227 228 pm8226_l14: l14 { 229 regulator-min-microvolt = <2750000>; 230 regulator-max-microvolt = <2750000>; 231 }; 232 233 pm8226_l15: l15 { 234 regulator-min-microvolt = <2800000>; 235 regulator-max-microvolt = <2800000>; 236 }; 237 238 pm8226_l16: l16 { 239 regulator-min-microvolt = <3000000>; 240 regulator-max-microvolt = <3350000>; 241 }; 242 243 pm8226_l17: l17 { 244 regulator-min-microvolt = <2950000>; 245 regulator-max-microvolt = <2950000>; 246 }; 247 248 pm8226_l18: l18 { 249 regulator-min-microvolt = <2950000>; 250 regulator-max-microvolt = <2950000>; 251 }; 252 253 pm8226_l19: l19 { 254 regulator-min-microvolt = <2850000>; 255 regulator-max-microvolt = <2850000>; 256 }; 257 258 pm8226_l20: l20 { 259 regulator-min-microvolt = <3075000>; 260 regulator-max-microvolt = <3075000>; 261 }; 262 263 pm8226_l21: l21 { 264 regulator-min-microvolt = <1800000>; 265 regulator-max-microvolt = <2950000>; 266 regulator-allow-set-load; 267 }; 268 269 pm8226_l22: l22 { 270 regulator-min-microvolt = <1800000>; 271 regulator-max-microvolt = <2950000>; 272 }; 273 274 pm8226_l23: l23 { 275 regulator-min-microvolt = <1800000>; 276 regulator-max-microvolt = <2950000>; 277 }; 278 279 pm8226_l24: l24 { 280 regulator-min-microvolt = <1300000>; 281 regulator-max-microvolt = <1350000>; 282 }; 283 284 pm8226_l25: l25 { 285 regulator-min-microvolt = <1775000>; 286 regulator-max-microvolt = <2125000>; 287 }; 288 289 pm8226_l26: l26 { 290 regulator-min-microvolt = <1225000>; 291 regulator-max-microvolt = <1225000>; 292 }; 293 294 pm8226_l27: l27 { 295 regulator-min-microvolt = <2050000>; 296 regulator-max-microvolt = <2050000>; 297 }; 298 299 pm8226_l28: l28 { 300 regulator-min-microvolt = <1800000>; 301 regulator-max-microvolt = <3400000>; 302 regulator-boot-on; 303 }; 304 305 pm8226_lvs1: lvs1 { 306 /* Pull-up for I2C lines */ 307 regulator-always-on; 308 }; 309 }; 310}; 311 312&sdhc_1 { 313 vmmc-supply = <&pm8226_l17>; 314 vqmmc-supply = <&pm8226_l6>; 315 bus-width = <8>; 316 non-removable; 317 318 status = "okay"; 319}; 320 321&smbb { 322 qcom,fast-charge-safe-current = <2000000>; 323 qcom,fast-charge-current-limit = <1900000>; 324 qcom,fast-charge-safe-voltage = <4400000>; 325 qcom,minimum-input-voltage = <4300000>; 326 327 status = "okay"; 328}; 329 330&usb { 331 extcon = <&smbb>; 332 dr_mode = "peripheral"; 333 334 status = "okay"; 335}; 336 337&usb_hs_phy { 338 extcon = <&smbb>; 339 v1p8-supply = <&pm8226_l10>; 340 v3p3-supply = <&pm8226_l20>; 341}; 342 343&tlmm { 344 reg_lcd_default: reg-lcd-default-state { 345 pins = "gpio12", "gpio13"; 346 function = "gpio"; 347 drive-strength = <2>; 348 bias-disable; 349 }; 350}; 351