18bab661aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 28bab661aSEmmanuel Vadot/* 38bab661aSEmmanuel Vadot * Device tree for Google Pixel 3a, adapted from google-blueline device tree, 48bab661aSEmmanuel Vadot * xiaomi-lavender device tree, and oneplus-common device tree. 58bab661aSEmmanuel Vadot * 68bab661aSEmmanuel Vadot * Copyright (c) 2022, Richard Acayan. All rights reserved. 78bab661aSEmmanuel Vadot */ 88bab661aSEmmanuel Vadot 98bab661aSEmmanuel Vadot/dts-v1/; 108bab661aSEmmanuel Vadot 118bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 128bab661aSEmmanuel Vadot#include <dt-bindings/input/input.h> 138bab661aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 148bab661aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h> 158bab661aSEmmanuel Vadot#include "sdm670.dtsi" 168bab661aSEmmanuel Vadot#include "pm660.dtsi" 178bab661aSEmmanuel Vadot#include "pm660l.dtsi" 188bab661aSEmmanuel Vadot 198bab661aSEmmanuel Vadot/delete-node/ &mpss_region; 208bab661aSEmmanuel Vadot/delete-node/ &venus_mem; 218bab661aSEmmanuel Vadot/delete-node/ &wlan_msa_mem; 228bab661aSEmmanuel Vadot/delete-node/ &cdsp_mem; 238bab661aSEmmanuel Vadot/delete-node/ &mba_region; 248bab661aSEmmanuel Vadot/delete-node/ &adsp_mem; 258bab661aSEmmanuel Vadot/delete-node/ &ipa_fw_mem; 268bab661aSEmmanuel Vadot/delete-node/ &ipa_gsi_mem; 278bab661aSEmmanuel Vadot/delete-node/ &gpu_mem; 288bab661aSEmmanuel Vadot 298bab661aSEmmanuel Vadot/ { 308bab661aSEmmanuel Vadot model = "Google Pixel 3a"; 318bab661aSEmmanuel Vadot compatible = "google,sargo", "qcom,sdm670"; 328bab661aSEmmanuel Vadot 338bab661aSEmmanuel Vadot aliases { }; 348bab661aSEmmanuel Vadot 358bab661aSEmmanuel Vadot chosen { 368bab661aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 378bab661aSEmmanuel Vadot 388bab661aSEmmanuel Vadot #address-cells = <2>; 398bab661aSEmmanuel Vadot #size-cells = <2>; 408bab661aSEmmanuel Vadot ranges; 418bab661aSEmmanuel Vadot 428bab661aSEmmanuel Vadot framebuffer@9c000000 { 438bab661aSEmmanuel Vadot compatible = "simple-framebuffer"; 448bab661aSEmmanuel Vadot reg = <0 0x9c000000 0 (1080 * 2220 * 4)>; 458bab661aSEmmanuel Vadot width = <1080>; 468bab661aSEmmanuel Vadot height = <2220>; 478bab661aSEmmanuel Vadot stride = <(1080 * 4)>; 488bab661aSEmmanuel Vadot format = "a8r8g8b8"; 498bab661aSEmmanuel Vadot }; 508bab661aSEmmanuel Vadot }; 518bab661aSEmmanuel Vadot 528bab661aSEmmanuel Vadot clocks { 538bab661aSEmmanuel Vadot sleep_clk: sleep-clk { 548bab661aSEmmanuel Vadot compatible = "fixed-clock"; 558bab661aSEmmanuel Vadot #clock-cells = <0>; 568bab661aSEmmanuel Vadot clock-frequency = <32764>; 578bab661aSEmmanuel Vadot }; 588bab661aSEmmanuel Vadot 598bab661aSEmmanuel Vadot xo_board: xo-board { 608bab661aSEmmanuel Vadot compatible = "fixed-clock"; 618bab661aSEmmanuel Vadot #clock-cells = <0>; 628bab661aSEmmanuel Vadot clock-frequency = <38400000>; 638bab661aSEmmanuel Vadot }; 648bab661aSEmmanuel Vadot }; 658bab661aSEmmanuel Vadot 668bab661aSEmmanuel Vadot gpio-keys { 678bab661aSEmmanuel Vadot compatible = "gpio-keys"; 688bab661aSEmmanuel Vadot autorepeat; 698bab661aSEmmanuel Vadot 708bab661aSEmmanuel Vadot pinctrl-names = "default"; 718bab661aSEmmanuel Vadot pinctrl-0 = <&vol_up_pin>; 728bab661aSEmmanuel Vadot 738bab661aSEmmanuel Vadot key-vol-up { 748bab661aSEmmanuel Vadot label = "Volume Up"; 758bab661aSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 768bab661aSEmmanuel Vadot gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>; 778bab661aSEmmanuel Vadot }; 788bab661aSEmmanuel Vadot }; 798bab661aSEmmanuel Vadot 808bab661aSEmmanuel Vadot reserved-memory { 818bab661aSEmmanuel Vadot #address-cells = <2>; 828bab661aSEmmanuel Vadot #size-cells = <2>; 838bab661aSEmmanuel Vadot 848bab661aSEmmanuel Vadot mpss_region: mpss@8b000000 { 858bab661aSEmmanuel Vadot reg = <0 0x8b000000 0 0x9800000>; 868bab661aSEmmanuel Vadot no-map; 878bab661aSEmmanuel Vadot }; 888bab661aSEmmanuel Vadot 898bab661aSEmmanuel Vadot venus_mem: venus@94800000 { 908bab661aSEmmanuel Vadot reg = <0 0x94800000 0 0x500000>; 918bab661aSEmmanuel Vadot no-map; 928bab661aSEmmanuel Vadot }; 938bab661aSEmmanuel Vadot 948bab661aSEmmanuel Vadot wlan_msa_mem: wlan-msa@94d00000 { 958bab661aSEmmanuel Vadot reg = <0 0x94d00000 0 0x100000>; 968bab661aSEmmanuel Vadot no-map; 978bab661aSEmmanuel Vadot }; 988bab661aSEmmanuel Vadot 998bab661aSEmmanuel Vadot cdsp_mem: cdsp@94e00000 { 1008bab661aSEmmanuel Vadot reg = <0 0x94e00000 0 0x800000>; 1018bab661aSEmmanuel Vadot no-map; 1028bab661aSEmmanuel Vadot }; 1038bab661aSEmmanuel Vadot 1048bab661aSEmmanuel Vadot mba_region: mba@95600000 { 1058bab661aSEmmanuel Vadot reg = <0 0x95600000 0 0x200000>; 1068bab661aSEmmanuel Vadot no-map; 1078bab661aSEmmanuel Vadot }; 1088bab661aSEmmanuel Vadot 1098bab661aSEmmanuel Vadot adsp_mem: adsp@95800000 { 1108bab661aSEmmanuel Vadot reg = <0 0x95800000 0 0x2200000>; 1118bab661aSEmmanuel Vadot no-map; 1128bab661aSEmmanuel Vadot }; 1138bab661aSEmmanuel Vadot 1148bab661aSEmmanuel Vadot ipa_fw_mem: ipa-fw@97a00000 { 1158bab661aSEmmanuel Vadot reg = <0 0x97a00000 0 0x10000>; 1168bab661aSEmmanuel Vadot no-map; 1178bab661aSEmmanuel Vadot }; 1188bab661aSEmmanuel Vadot 1198bab661aSEmmanuel Vadot ipa_gsi_mem: ipa-gsi@97a10000 { 1208bab661aSEmmanuel Vadot reg = <0 0x97a10000 0 0x5000>; 1218bab661aSEmmanuel Vadot no-map; 1228bab661aSEmmanuel Vadot }; 1238bab661aSEmmanuel Vadot 1248bab661aSEmmanuel Vadot gpu_mem: gpu@97a15000 { 1258bab661aSEmmanuel Vadot reg = <0 0x97a15000 0 0x2000>; 1268bab661aSEmmanuel Vadot no-map; 1278bab661aSEmmanuel Vadot }; 1288bab661aSEmmanuel Vadot 1298bab661aSEmmanuel Vadot framebuffer-region@9c000000 { 1308bab661aSEmmanuel Vadot reg = <0 0x9c000000 0 0x2400000>; 1318bab661aSEmmanuel Vadot no-map; 1328bab661aSEmmanuel Vadot }; 1338bab661aSEmmanuel Vadot 1348bab661aSEmmanuel Vadot /* Also includes ramoops regions */ 1358bab661aSEmmanuel Vadot debug_info_mem: debug-info@a1800000 { 1368bab661aSEmmanuel Vadot reg = <0 0xa1800000 0 0x411000>; 1378bab661aSEmmanuel Vadot no-map; 1388bab661aSEmmanuel Vadot }; 1398bab661aSEmmanuel Vadot }; 1408bab661aSEmmanuel Vadot 1418bab661aSEmmanuel Vadot /* 1428bab661aSEmmanuel Vadot * The touchscreen regulator seems to be controlled somehow by a gpio. 1438bab661aSEmmanuel Vadot * Model it as a fixed regulator and keep it on. Without schematics we 1448bab661aSEmmanuel Vadot * don't know how this is actually wired up... 1458bab661aSEmmanuel Vadot */ 1468bab661aSEmmanuel Vadot ts_1p8_supply: ts-1p8-regulator { 1478bab661aSEmmanuel Vadot compatible = "regulator-fixed"; 1488bab661aSEmmanuel Vadot regulator-name = "ts_1p8_supply"; 1498bab661aSEmmanuel Vadot 1508bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 1518bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 1528bab661aSEmmanuel Vadot 1538bab661aSEmmanuel Vadot gpio = <&pm660_gpios 12 GPIO_ACTIVE_HIGH>; 1548bab661aSEmmanuel Vadot enable-active-high; 1558bab661aSEmmanuel Vadot }; 1568bab661aSEmmanuel Vadot 1578bab661aSEmmanuel Vadot vph_pwr: vph-pwr-regulator { 1588bab661aSEmmanuel Vadot compatible = "regulator-fixed"; 1598bab661aSEmmanuel Vadot regulator-name = "vph_pwr"; 1608bab661aSEmmanuel Vadot regulator-min-microvolt = <3312000>; 1618bab661aSEmmanuel Vadot regulator-max-microvolt = <3312000>; 1628bab661aSEmmanuel Vadot 1638bab661aSEmmanuel Vadot regulator-always-on; 1648bab661aSEmmanuel Vadot regulator-boot-on; 1658bab661aSEmmanuel Vadot }; 1668bab661aSEmmanuel Vadot 1678bab661aSEmmanuel Vadot /* 1688bab661aSEmmanuel Vadot * Supply map from xiaomi-lavender specifies this as the supply for 1698bab661aSEmmanuel Vadot * ldob1, ldob9, ldob10, ldoa2, and ldoa3, while downstream specifies 1708bab661aSEmmanuel Vadot * this as a power domain. Set this as a fixed regulator with the same 1718bab661aSEmmanuel Vadot * voltage as lavender until display is needed to avoid unneccessarily 1728bab661aSEmmanuel Vadot * using a deprecated binding (regulator-fixed-domain). 1738bab661aSEmmanuel Vadot */ 1748bab661aSEmmanuel Vadot vreg_s2b_1p05: vreg-s2b-regulator { 1758bab661aSEmmanuel Vadot compatible = "regulator-fixed"; 1768bab661aSEmmanuel Vadot regulator-name = "vreg_s2b"; 1778bab661aSEmmanuel Vadot regulator-min-microvolt = <1050000>; 1788bab661aSEmmanuel Vadot regulator-max-microvolt = <1050000>; 1798bab661aSEmmanuel Vadot }; 1808bab661aSEmmanuel Vadot}; 1818bab661aSEmmanuel Vadot 1828bab661aSEmmanuel Vadot&apps_rsc { 1838bab661aSEmmanuel Vadot regulators-0 { 1848bab661aSEmmanuel Vadot compatible = "qcom,pm660-rpmh-regulators"; 1858bab661aSEmmanuel Vadot qcom,pmic-id = "a"; 1868bab661aSEmmanuel Vadot 1878bab661aSEmmanuel Vadot vdd-s1-supply = <&vph_pwr>; 1888bab661aSEmmanuel Vadot vdd-s2-supply = <&vph_pwr>; 1898bab661aSEmmanuel Vadot vdd-s3-supply = <&vph_pwr>; 1908bab661aSEmmanuel Vadot vdd-s4-supply = <&vph_pwr>; 1918bab661aSEmmanuel Vadot vdd-s5-supply = <&vph_pwr>; 1928bab661aSEmmanuel Vadot vdd-s6-supply = <&vph_pwr>; 1938bab661aSEmmanuel Vadot 1948bab661aSEmmanuel Vadot vdd-l1-l6-l7-supply = <&vreg_s6a_0p87>; 1958bab661aSEmmanuel Vadot vdd-l2-l3-supply = <&vreg_s2b_1p05>; 1968bab661aSEmmanuel Vadot vdd-l5-supply = <&vreg_s2b_1p05>; 1978bab661aSEmmanuel Vadot vdd-l8-l9-l10-l11-l12-l13-l14-supply = <&vreg_s4a_2p04>; 1988bab661aSEmmanuel Vadot vdd-l15-l16-l17-l18-l19-supply = <&vreg_bob>; 1998bab661aSEmmanuel Vadot 2008bab661aSEmmanuel Vadot /* 2018bab661aSEmmanuel Vadot * S1A (FTAPC0), S2A (FTAPC1), S3A (HFAPC1) are managed 2028bab661aSEmmanuel Vadot * by the Core Power Reduction hardened (CPRh) and the 2038bab661aSEmmanuel Vadot * Operating State Manager (OSM) HW automatically. 2048bab661aSEmmanuel Vadot */ 2058bab661aSEmmanuel Vadot 2068bab661aSEmmanuel Vadot vreg_s4a_2p04: smps4 { 2078bab661aSEmmanuel Vadot regulator-min-microvolt = <1808000>; 2088bab661aSEmmanuel Vadot regulator-max-microvolt = <2040000>; 2098bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <200>; 2108bab661aSEmmanuel Vadot }; 2118bab661aSEmmanuel Vadot 2128bab661aSEmmanuel Vadot vreg_s6a_0p87: smps6 { 2138bab661aSEmmanuel Vadot regulator-min-microvolt = <1224000>; 2148bab661aSEmmanuel Vadot regulator-max-microvolt = <1352000>; 2158bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <150>; 2168bab661aSEmmanuel Vadot }; 2178bab661aSEmmanuel Vadot 2188bab661aSEmmanuel Vadot /* LDOs */ 2198bab661aSEmmanuel Vadot vreg_l1a_1p225: ldo1 { 2208bab661aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 2218bab661aSEmmanuel Vadot regulator-max-microvolt = <1250000>; 2228bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2238bab661aSEmmanuel Vadot }; 2248bab661aSEmmanuel Vadot 2258bab661aSEmmanuel Vadot vreg_l2a_1p0: ldo2 { 2268bab661aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 2278bab661aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 2288bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2298bab661aSEmmanuel Vadot }; 2308bab661aSEmmanuel Vadot 2318bab661aSEmmanuel Vadot vreg_l3a_1p0: ldo3 { 2328bab661aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 2338bab661aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 2348bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2358bab661aSEmmanuel Vadot }; 2368bab661aSEmmanuel Vadot 2378bab661aSEmmanuel Vadot vreg_l5a_0p848: ldo5 { 2388bab661aSEmmanuel Vadot regulator-min-microvolt = <800000>; 2398bab661aSEmmanuel Vadot regulator-max-microvolt = <800000>; 2408bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2418bab661aSEmmanuel Vadot }; 2428bab661aSEmmanuel Vadot 2438bab661aSEmmanuel Vadot vreg_l6a_1p3: ldo6 { 2448bab661aSEmmanuel Vadot regulator-min-microvolt = <1248000>; 2458bab661aSEmmanuel Vadot regulator-max-microvolt = <1304000>; 2468bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2478bab661aSEmmanuel Vadot }; 2488bab661aSEmmanuel Vadot 2498bab661aSEmmanuel Vadot vreg_l7a_1p2: ldo7 { 2508bab661aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 2518bab661aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 2528bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2538bab661aSEmmanuel Vadot }; 2548bab661aSEmmanuel Vadot 2558bab661aSEmmanuel Vadot vreg_l8a_1p8: ldo8 { 2568bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2578bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2588bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 259cb7aa33aSEmmanuel Vadot regulator-always-on; 2608bab661aSEmmanuel Vadot }; 2618bab661aSEmmanuel Vadot 2628bab661aSEmmanuel Vadot vreg_l9a_1p8: ldo9 { 2638bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2648bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2658bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2668bab661aSEmmanuel Vadot }; 2678bab661aSEmmanuel Vadot 2688bab661aSEmmanuel Vadot vreg_l10a_1p8: ldo10 { 2698bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2708bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2718bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2728bab661aSEmmanuel Vadot }; 2738bab661aSEmmanuel Vadot 2748bab661aSEmmanuel Vadot vreg_l11a_1p8: ldo11 { 2758bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2768bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2778bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2788bab661aSEmmanuel Vadot }; 2798bab661aSEmmanuel Vadot 2808bab661aSEmmanuel Vadot vreg_l12a_1p8: ldo12 { 2818bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2828bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2838bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2848bab661aSEmmanuel Vadot }; 2858bab661aSEmmanuel Vadot 2868bab661aSEmmanuel Vadot vreg_l13a_1p8: ldo13 { 2878bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2888bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2898bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2908bab661aSEmmanuel Vadot }; 2918bab661aSEmmanuel Vadot 2928bab661aSEmmanuel Vadot vreg_l14a_1p8: ldo14 { 2938bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 2948bab661aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 2958bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 2968bab661aSEmmanuel Vadot }; 2978bab661aSEmmanuel Vadot 2988bab661aSEmmanuel Vadot vreg_l15a_1p8: ldo15 { 2998bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 3008bab661aSEmmanuel Vadot regulator-max-microvolt = <2950000>; 3018bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3028bab661aSEmmanuel Vadot }; 3038bab661aSEmmanuel Vadot 3048bab661aSEmmanuel Vadot vreg_l16a_2p7: ldo16 { 3058bab661aSEmmanuel Vadot regulator-min-microvolt = <2696000>; 3068bab661aSEmmanuel Vadot regulator-max-microvolt = <2696000>; 3078bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3088bab661aSEmmanuel Vadot }; 3098bab661aSEmmanuel Vadot 3108bab661aSEmmanuel Vadot vreg_l17a_1p8: ldo17 { 3118bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 3128bab661aSEmmanuel Vadot regulator-max-microvolt = <2950000>; 3138bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3148bab661aSEmmanuel Vadot }; 3158bab661aSEmmanuel Vadot 3168bab661aSEmmanuel Vadot vreg_l19a_3p3: ldo19 { 3178bab661aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 3188bab661aSEmmanuel Vadot regulator-max-microvolt = <3312000>; 3198bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3208bab661aSEmmanuel Vadot }; 3218bab661aSEmmanuel Vadot }; 3228bab661aSEmmanuel Vadot 3238bab661aSEmmanuel Vadot regulators-1 { 3248bab661aSEmmanuel Vadot compatible = "qcom,pm660l-rpmh-regulators"; 3258bab661aSEmmanuel Vadot qcom,pmic-id = "b"; 3268bab661aSEmmanuel Vadot 3278bab661aSEmmanuel Vadot vdd-s1-supply = <&vph_pwr>; 3288bab661aSEmmanuel Vadot vdd-s2-supply = <&vph_pwr>; 3298bab661aSEmmanuel Vadot vdd-s3-s4-supply = <&vph_pwr>; 3308bab661aSEmmanuel Vadot vdd-s5-supply = <&vph_pwr>; 3318bab661aSEmmanuel Vadot 3328bab661aSEmmanuel Vadot vdd-l1-l9-l10-supply = <&vreg_s2b_1p05>; 3338bab661aSEmmanuel Vadot vdd-l2-supply = <&vreg_bob>; 3348bab661aSEmmanuel Vadot vdd-l3-l5-l7-l8-supply = <&vreg_bob>; 3358bab661aSEmmanuel Vadot vdd-l4-l6-supply = <&vreg_bob>; 3368bab661aSEmmanuel Vadot vdd-bob-supply = <&vph_pwr>; 3378bab661aSEmmanuel Vadot 3388bab661aSEmmanuel Vadot /* LDOs */ 3398bab661aSEmmanuel Vadot vreg_l1b_0p925: ldo1 { 3408bab661aSEmmanuel Vadot regulator-min-microvolt = <880000>; 3418bab661aSEmmanuel Vadot regulator-max-microvolt = <900000>; 3428bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3438bab661aSEmmanuel Vadot }; 3448bab661aSEmmanuel Vadot 3458bab661aSEmmanuel Vadot vreg_l2b_2p95: ldo2 { 3468bab661aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 3478bab661aSEmmanuel Vadot regulator-max-microvolt = <2960000>; 3488bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3498bab661aSEmmanuel Vadot }; 3508bab661aSEmmanuel Vadot 3518bab661aSEmmanuel Vadot vreg_l3b_3p0: ldo3 { 3528bab661aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 3538bab661aSEmmanuel Vadot regulator-max-microvolt = <3008000>; 3548bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3558bab661aSEmmanuel Vadot }; 3568bab661aSEmmanuel Vadot 3578bab661aSEmmanuel Vadot vreg_l4b_2p95: ldo4 { 3588bab661aSEmmanuel Vadot regulator-min-microvolt = <2960000>; 3598bab661aSEmmanuel Vadot regulator-max-microvolt = <2960000>; 3608bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3618bab661aSEmmanuel Vadot }; 3628bab661aSEmmanuel Vadot 3638bab661aSEmmanuel Vadot vreg_l5b_2p95: ldo5 { 3648bab661aSEmmanuel Vadot regulator-min-microvolt = <2960000>; 3658bab661aSEmmanuel Vadot regulator-max-microvolt = <2960000>; 3668bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3678bab661aSEmmanuel Vadot }; 3688bab661aSEmmanuel Vadot 3698bab661aSEmmanuel Vadot vreg_l6b_3p3: ldo6 { 3708bab661aSEmmanuel Vadot regulator-min-microvolt = <3008000>; 3718bab661aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 3728bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3738bab661aSEmmanuel Vadot }; 3748bab661aSEmmanuel Vadot 3758bab661aSEmmanuel Vadot vreg_l7b_3p125: ldo7 { 3768bab661aSEmmanuel Vadot regulator-min-microvolt = <3088000>; 3778bab661aSEmmanuel Vadot regulator-max-microvolt = <3100000>; 3788bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3798bab661aSEmmanuel Vadot }; 3808bab661aSEmmanuel Vadot 3818bab661aSEmmanuel Vadot vreg_l8b_3p3: ldo8 { 3828bab661aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 3838bab661aSEmmanuel Vadot regulator-max-microvolt = <3312000>; 3848bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <250>; 3858bab661aSEmmanuel Vadot }; 3868bab661aSEmmanuel Vadot 3878bab661aSEmmanuel Vadot /* 3888bab661aSEmmanuel Vadot * Downstream specifies a fixed voltage of 3.312 V, but the 3898bab661aSEmmanuel Vadot * PMIC4 BOB ranges don't support that. Widen the range a 3908bab661aSEmmanuel Vadot * little to avoid adding a new BOB regulator type. 3918bab661aSEmmanuel Vadot */ 3928bab661aSEmmanuel Vadot vreg_bob: bob { 3938bab661aSEmmanuel Vadot regulator-min-microvolt = <3296000>; 3948bab661aSEmmanuel Vadot regulator-max-microvolt = <3328000>; 3958bab661aSEmmanuel Vadot regulator-enable-ramp-delay = <500>; 3968bab661aSEmmanuel Vadot }; 3978bab661aSEmmanuel Vadot }; 3988bab661aSEmmanuel Vadot}; 3998bab661aSEmmanuel Vadot 4008bab661aSEmmanuel Vadot&gcc { 4018bab661aSEmmanuel Vadot protected-clocks = <GCC_QSPI_CORE_CLK>, 4028bab661aSEmmanuel Vadot <GCC_QSPI_CORE_CLK_SRC>, 4038bab661aSEmmanuel Vadot <GCC_QSPI_CNOC_PERIPH_AHB_CLK>; 4048bab661aSEmmanuel Vadot}; 4058bab661aSEmmanuel Vadot 4068bab661aSEmmanuel Vadot&gpi_dma1 { 4078bab661aSEmmanuel Vadot status = "okay"; 4088bab661aSEmmanuel Vadot}; 4098bab661aSEmmanuel Vadot 4108bab661aSEmmanuel Vadot&i2c9 { 4118bab661aSEmmanuel Vadot clock-frequency = <100000>; 4128bab661aSEmmanuel Vadot status = "okay"; 4138bab661aSEmmanuel Vadot 4148bab661aSEmmanuel Vadot synaptics-rmi4-i2c@20 { 4158bab661aSEmmanuel Vadot compatible = "syna,rmi4-i2c"; 4168bab661aSEmmanuel Vadot reg = <0x20>; 4178bab661aSEmmanuel Vadot interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; 4188bab661aSEmmanuel Vadot 4198bab661aSEmmanuel Vadot pinctrl-names = "default"; 4208bab661aSEmmanuel Vadot pinctrl-0 = <&touchscreen_default>; 4218bab661aSEmmanuel Vadot 4228bab661aSEmmanuel Vadot vio-supply = <&ts_1p8_supply>; 4238bab661aSEmmanuel Vadot 4248bab661aSEmmanuel Vadot syna,reset-delay-ms = <200>; 4258bab661aSEmmanuel Vadot syna,startup-delay-ms = <200>; 4268bab661aSEmmanuel Vadot 4278bab661aSEmmanuel Vadot #address-cells = <1>; 4288bab661aSEmmanuel Vadot #size-cells = <0>; 4298bab661aSEmmanuel Vadot 4308bab661aSEmmanuel Vadot rmi4-f01@1 { 4318bab661aSEmmanuel Vadot reg = <0x01>; 4328bab661aSEmmanuel Vadot syna,nosleep-mode = <1>; 4338bab661aSEmmanuel Vadot }; 4348bab661aSEmmanuel Vadot 4358bab661aSEmmanuel Vadot rmi4-f12@12 { 4368bab661aSEmmanuel Vadot reg = <0x12>; 4378bab661aSEmmanuel Vadot touchscreen-x-mm = <62>; 4388bab661aSEmmanuel Vadot touchscreen-y-mm = <127>; 4398bab661aSEmmanuel Vadot syna,sensor-type = <1>; 4408bab661aSEmmanuel Vadot }; 4418bab661aSEmmanuel Vadot }; 4428bab661aSEmmanuel Vadot}; 4438bab661aSEmmanuel Vadot 444*7d0873ebSEmmanuel Vadot&mdss { 445*7d0873ebSEmmanuel Vadot status = "okay"; 446*7d0873ebSEmmanuel Vadot}; 447*7d0873ebSEmmanuel Vadot 448*7d0873ebSEmmanuel Vadot&mdss_dsi0 { 449*7d0873ebSEmmanuel Vadot vdda-supply = <&vreg_l1a_1p225>; 450*7d0873ebSEmmanuel Vadot status = "okay"; 451*7d0873ebSEmmanuel Vadot 452*7d0873ebSEmmanuel Vadot panel@0 { 453*7d0873ebSEmmanuel Vadot compatible = "samsung,s6e3fa7-ams559nk06"; 454*7d0873ebSEmmanuel Vadot reg = <0>; 455*7d0873ebSEmmanuel Vadot 456*7d0873ebSEmmanuel Vadot reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; 457*7d0873ebSEmmanuel Vadot 458*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 459*7d0873ebSEmmanuel Vadot pinctrl-0 = <&panel_default>; 460*7d0873ebSEmmanuel Vadot 461*7d0873ebSEmmanuel Vadot power-supply = <&vreg_l6b_3p3>; 462*7d0873ebSEmmanuel Vadot 463*7d0873ebSEmmanuel Vadot port { 464*7d0873ebSEmmanuel Vadot panel_in: endpoint { 465*7d0873ebSEmmanuel Vadot remote-endpoint = <&mdss_dsi0_out>; 466*7d0873ebSEmmanuel Vadot }; 467*7d0873ebSEmmanuel Vadot }; 468*7d0873ebSEmmanuel Vadot }; 469*7d0873ebSEmmanuel Vadot}; 470*7d0873ebSEmmanuel Vadot 471*7d0873ebSEmmanuel Vadot&mdss_dsi0_out { 472*7d0873ebSEmmanuel Vadot remote-endpoint = <&panel_in>; 473*7d0873ebSEmmanuel Vadot data-lanes = <0 1 2 3>; 474*7d0873ebSEmmanuel Vadot}; 475*7d0873ebSEmmanuel Vadot 476*7d0873ebSEmmanuel Vadot&mdss_dsi0_phy { 477*7d0873ebSEmmanuel Vadot vdds-supply = <&vreg_l1b_0p925>; 478*7d0873ebSEmmanuel Vadot status = "okay"; 479*7d0873ebSEmmanuel Vadot}; 480*7d0873ebSEmmanuel Vadot 481*7d0873ebSEmmanuel Vadot&mdss_mdp { 482*7d0873ebSEmmanuel Vadot status = "okay"; 483*7d0873ebSEmmanuel Vadot}; 484*7d0873ebSEmmanuel Vadot 4858bab661aSEmmanuel Vadot&pm660l_gpios { 4868bab661aSEmmanuel Vadot vol_up_pin: vol-up-state { 4878bab661aSEmmanuel Vadot pins = "gpio7"; 4888bab661aSEmmanuel Vadot function = "normal"; 4898bab661aSEmmanuel Vadot qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 4908bab661aSEmmanuel Vadot input-enable; 4918bab661aSEmmanuel Vadot bias-pull-up; 4928bab661aSEmmanuel Vadot }; 4938bab661aSEmmanuel Vadot}; 4948bab661aSEmmanuel Vadot 4958bab661aSEmmanuel Vadot&pon_pwrkey { 4968bab661aSEmmanuel Vadot status = "okay"; 4978bab661aSEmmanuel Vadot}; 4988bab661aSEmmanuel Vadot 4998bab661aSEmmanuel Vadot&pon_resin { 5008bab661aSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 5018bab661aSEmmanuel Vadot status = "okay"; 5028bab661aSEmmanuel Vadot}; 5038bab661aSEmmanuel Vadot 5048bab661aSEmmanuel Vadot&qupv3_id_1 { 5058bab661aSEmmanuel Vadot status = "okay"; 5068bab661aSEmmanuel Vadot}; 5078bab661aSEmmanuel Vadot 5088bab661aSEmmanuel Vadot&sdhc_1 { 5098bab661aSEmmanuel Vadot supports-cqe; 5108bab661aSEmmanuel Vadot mmc-hs200-1_8v; 5118bab661aSEmmanuel Vadot mmc-hs400-1_8v; 5128bab661aSEmmanuel Vadot mmc-ddr-1_8v; 5138bab661aSEmmanuel Vadot 5148bab661aSEmmanuel Vadot qcom,ddr-config = <0xc3040873>; 5158bab661aSEmmanuel Vadot 5168bab661aSEmmanuel Vadot vmmc-supply = <&vreg_l4b_2p95>; 5178bab661aSEmmanuel Vadot vqmmc-supply = <&vreg_l8a_1p8>; 5188bab661aSEmmanuel Vadot 5198bab661aSEmmanuel Vadot status = "okay"; 5208bab661aSEmmanuel Vadot}; 5218bab661aSEmmanuel Vadot 5228bab661aSEmmanuel Vadot&tlmm { 5238bab661aSEmmanuel Vadot gpio-reserved-ranges = <0 4>, <81 4>; 5248bab661aSEmmanuel Vadot 525*7d0873ebSEmmanuel Vadot panel_default: panel-default-state { 526*7d0873ebSEmmanuel Vadot te-pins { 527*7d0873ebSEmmanuel Vadot pins = "gpio10"; 528*7d0873ebSEmmanuel Vadot function = "mdp_vsync"; 529*7d0873ebSEmmanuel Vadot drive-strength = <2>; 530*7d0873ebSEmmanuel Vadot bias-pull-down; 531*7d0873ebSEmmanuel Vadot }; 532*7d0873ebSEmmanuel Vadot 533*7d0873ebSEmmanuel Vadot reset-pins { 534*7d0873ebSEmmanuel Vadot pins = "gpio75"; 535*7d0873ebSEmmanuel Vadot function = "gpio"; 536*7d0873ebSEmmanuel Vadot drive-strength = <8>; 537*7d0873ebSEmmanuel Vadot bias-disable; 538*7d0873ebSEmmanuel Vadot }; 539*7d0873ebSEmmanuel Vadot 540*7d0873ebSEmmanuel Vadot mode-pins { 541*7d0873ebSEmmanuel Vadot pins = "gpio76"; 542*7d0873ebSEmmanuel Vadot function = "gpio"; 543*7d0873ebSEmmanuel Vadot drive-strength = <8>; 544*7d0873ebSEmmanuel Vadot bias-disable; 545*7d0873ebSEmmanuel Vadot }; 546*7d0873ebSEmmanuel Vadot }; 547*7d0873ebSEmmanuel Vadot 5488bab661aSEmmanuel Vadot touchscreen_default: ts-default-state { 5498bab661aSEmmanuel Vadot ts-reset-pins { 5508bab661aSEmmanuel Vadot pins = "gpio99"; 5518bab661aSEmmanuel Vadot function = "gpio"; 5528bab661aSEmmanuel Vadot drive-strength = <2>; 5538bab661aSEmmanuel Vadot bias-pull-up; 5548bab661aSEmmanuel Vadot output-high; 5558bab661aSEmmanuel Vadot }; 5568bab661aSEmmanuel Vadot 5578bab661aSEmmanuel Vadot ts-irq-pins { 5588bab661aSEmmanuel Vadot pins = "gpio125"; 5598bab661aSEmmanuel Vadot function = "gpio"; 5608bab661aSEmmanuel Vadot drive-strength = <2>; 5618bab661aSEmmanuel Vadot bias-disable; 5628bab661aSEmmanuel Vadot }; 5638bab661aSEmmanuel Vadot 5648bab661aSEmmanuel Vadot ts-switch-pins { 5658bab661aSEmmanuel Vadot pins = "gpio135"; 5668bab661aSEmmanuel Vadot function = "gpio"; 5678bab661aSEmmanuel Vadot drive-strength = <2>; 5688bab661aSEmmanuel Vadot bias-disable; 5698bab661aSEmmanuel Vadot output-low; 5708bab661aSEmmanuel Vadot }; 5718bab661aSEmmanuel Vadot }; 5728bab661aSEmmanuel Vadot}; 5738bab661aSEmmanuel Vadot 5748bab661aSEmmanuel Vadot&usb_1_hsphy { 5758bab661aSEmmanuel Vadot vdd-supply = <&vreg_l1b_0p925>; 5768bab661aSEmmanuel Vadot vdda-pll-supply = <&vreg_l10a_1p8>; 5778bab661aSEmmanuel Vadot vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; 5788bab661aSEmmanuel Vadot 5798bab661aSEmmanuel Vadot status = "okay"; 5808bab661aSEmmanuel Vadot}; 5818bab661aSEmmanuel Vadot 5828bab661aSEmmanuel Vadot&usb_1 { 5838bab661aSEmmanuel Vadot qcom,select-utmi-as-pipe-clk; 5848bab661aSEmmanuel Vadot status = "okay"; 5858bab661aSEmmanuel Vadot}; 5868bab661aSEmmanuel Vadot 5878bab661aSEmmanuel Vadot&usb_1_dwc3 { 5888bab661aSEmmanuel Vadot /* Only peripheral works for now */ 5898bab661aSEmmanuel Vadot dr_mode = "peripheral"; 5908bab661aSEmmanuel Vadot 5918bab661aSEmmanuel Vadot /* Do not assume that sdm670.dtsi will never support USB 3.0 */ 5928bab661aSEmmanuel Vadot phys = <&usb_1_hsphy>; 5938bab661aSEmmanuel Vadot phy-names = "usb2-phy"; 5948bab661aSEmmanuel Vadot maximum-speed = "high-speed"; 5958bab661aSEmmanuel Vadot}; 596