cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

msm8998-sony-xperia-yoshino.dtsi (14994B)


      1// SPDX-License-Identifier: BSD-3-Clause
      2/*
      3 * Copyright (c) 2021, AngeloGioacchino Del Regno
      4 *                     <angelogioacchino.delregno@somainline.org>
      5 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
      6 */
      7
      8#include "msm8998.dtsi"
      9#include "pm8005.dtsi"
     10#include "pm8998.dtsi"
     11#include "pmi8998.dtsi"
     12#include <dt-bindings/input/input.h>
     13#include <dt-bindings/leds/common.h>
     14#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
     15#include <dt-bindings/sound/qcom,q6afe.h>
     16#include <dt-bindings/sound/qcom,q6asm.h>
     17
     18/ {
     19	/* required for bootloader to select correct board */
     20	qcom,msm-id = <0x124 0x20000>, <0x124 0x20001>; /* 8998v2, v2.1 */
     21	qcom,board-id = <8 0>;
     22
     23	clocks {
     24		compatible = "simple-bus";
     25
     26		div1_mclk: divclk1 {
     27			compatible = "gpio-gate-clock";
     28			pinctrl-0 = <&audio_mclk_pin>;
     29			pinctrl-names = "default";
     30			clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
     31			#clock-cells = <0>;
     32			enable-gpios = <&pm8998_gpio 13 GPIO_ACTIVE_HIGH>;
     33		};
     34	};
     35
     36	board_vbat: vbat-regulator {
     37		compatible = "regulator-fixed";
     38		regulator-name = "VBAT";
     39
     40		regulator-min-microvolt = <4000000>;
     41		regulator-max-microvolt = <4000000>;
     42		regulator-always-on;
     43		regulator-boot-on;
     44	};
     45
     46	cam0_vdig_vreg: cam0-vdig {
     47		compatible = "regulator-fixed";
     48		regulator-name = "cam0_vdig";
     49		startup-delay-us = <0>;
     50		enable-active-high;
     51		gpio = <&tlmm 21 GPIO_ACTIVE_HIGH>;
     52		pinctrl-names = "default";
     53		pinctrl-0 = <&cam0_vdig_default>;
     54	};
     55
     56	cam1_vdig_vreg: cam1-vdig {
     57		compatible = "regulator-fixed";
     58		regulator-name = "cam1_vdig";
     59		startup-delay-us = <0>;
     60		enable-active-high;
     61		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
     62		pinctrl-names = "default";
     63		pinctrl-0 = <&cam1_vdig_default>;
     64		vin-supply = <&vreg_s3a_1p35>;
     65	};
     66
     67	cam_vio_vreg: cam-vio-vreg {
     68		compatible = "regulator-fixed";
     69		regulator-name = "cam_vio_vreg";
     70		startup-delay-us = <0>;
     71		enable-active-high;
     72		gpio = <&pmi8998_gpio 1 GPIO_ACTIVE_HIGH>;
     73		pinctrl-names = "default";
     74		pinctrl-0 = <&cam_vio_default>;
     75		vin-supply = <&vreg_lvs1a_1p8>;
     76	};
     77
     78	touch_vddio_vreg: touch-vddio-vreg {
     79		compatible = "regulator-fixed";
     80		regulator-name = "touch_vddio_vreg";
     81		startup-delay-us = <10000>;
     82		gpio = <&tlmm 133 GPIO_ACTIVE_HIGH>;
     83		pinctrl-names = "default";
     84		pinctrl-0 = <&ts_vddio_en>;
     85	};
     86
     87	vph_pwr: vph-pwr-regulator {
     88		compatible = "regulator-fixed";
     89		regulator-name = "vph_pwr";
     90		regulator-always-on;
     91		regulator-boot-on;
     92	};
     93
     94	gpio-keys {
     95		compatible = "gpio-keys";
     96		label = "Side buttons";
     97		pinctrl-names = "default";
     98		pinctrl-0 = <&vol_down_pin_a>, <&cam_focus_pin_a>,
     99			    <&cam_snapshot_pin_a>;
    100		vol-down {
    101			label = "Volume Down";
    102			gpios = <&pm8998_gpio 5 GPIO_ACTIVE_LOW>;
    103			linux,input-type = <EV_KEY>;
    104			linux,code = <KEY_VOLUMEDOWN>;
    105			gpio-key,wakeup;
    106			debounce-interval = <15>;
    107		};
    108
    109		camera-snapshot {
    110			label = "Camera Snapshot";
    111			gpios = <&pm8998_gpio 7 GPIO_ACTIVE_LOW>;
    112			linux,input-type = <EV_KEY>;
    113			linux,code = <KEY_CAMERA>;
    114			debounce-interval = <15>;
    115		};
    116
    117		camera-focus {
    118			label = "Camera Focus";
    119			gpios = <&pm8998_gpio 8 GPIO_ACTIVE_LOW>;
    120			linux,input-type = <EV_KEY>;
    121			linux,code = <KEY_CAMERA_FOCUS>;
    122			debounce-interval = <15>;
    123		};
    124	};
    125
    126	gpio-hall-sensor {
    127		compatible = "gpio-keys";
    128		label = "Hall sensors";
    129		pinctrl-names = "default";
    130		pinctrl-0 = <&hall_sensor0_default>;
    131
    132		hall-sensor0 {
    133			label = "Cover Hall Sensor";
    134			gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
    135			linux,input-type = <EV_SW>;
    136			linux,code = <SW_LID>;
    137			gpio-key,wakeup;
    138			debounce-interval = <30>;
    139		};
    140	};
    141
    142	reserved-memory {
    143		#address-cells = <2>;
    144		#size-cells = <2>;
    145		ranges;
    146
    147		hyp_mem: memory@85800000 {
    148			reg = <0x0 0x85800000 0x0 0x3700000>;
    149			no-map;
    150		};
    151
    152		cont_splash_mem: memory@9d400000 {
    153			reg = <0x0 0x9d400000 0x0 0x2400000>;
    154			no-map;
    155		};
    156
    157		zap_shader_region: memory@f6400000 {
    158			compatible = "shared-dma-pool";
    159			reg = <0x0 0xf6400000 0x0 0x2000>;
    160			no-map;
    161		};
    162
    163		adsp_region: memory@fe000000 {
    164			reg = <0x0 0xfe000000 0x0 0x800000>;
    165			no-map;
    166		};
    167
    168		qseecom_region: memory@fe800000 {
    169			reg = <0x0 0xfe800000 0x0 0x1400000>;
    170			no-map;
    171		};
    172
    173		ramoops@ffc00000 {
    174			compatible = "ramoops";
    175			reg = <0x0 0xffc00000 0x0 0x100000>;
    176			record-size = <0x10000>;
    177			console-size = <0x60000>;
    178			ftrace-size = <0x10000>;
    179			pmsg-size = <0x20000>;
    180			ecc-size = <16>;
    181		};
    182	};
    183
    184	vibrator {
    185		compatible = "gpio-vibrator";
    186		enable-gpios = <&pmi8998_gpio 5 GPIO_ACTIVE_HIGH>;
    187		pinctrl-names = "default";
    188		pinctrl-0 = <&vib_default>;
    189	};
    190};
    191
    192&blsp1_i2c5 {
    193	status = "okay";
    194	clock-frequency = <355000>;
    195
    196	touchscreen@2c {
    197		compatible = "syna,rmi4-i2c";
    198		reg = <0x2c>;
    199		#address-cells = <1>;
    200		#size-cells = <0>;
    201		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
    202
    203		pinctrl-names = "default";
    204		pinctrl-0 = <&ts_int_n>;
    205
    206		vdd-supply = <&vreg_l28_3p0>;
    207		vio-supply = <&touch_vddio_vreg>;
    208
    209		syna,reset-delay-ms = <220>;
    210		syna,startup-delay-ms = <1000>;
    211
    212		rmi4-f01@1 {
    213			reg = <0x01>;
    214			syna,nosleep-mode = <1>;
    215		};
    216
    217		rmi4-f11@11 {
    218			reg = <0x11>;
    219			syna,sensor-type = <1>;
    220		};
    221	};
    222};
    223
    224&blsp1_i2c5_sleep {
    225	bias-disable;
    226};
    227
    228&blsp1_uart3 {
    229	status = "okay";
    230
    231	bluetooth {
    232		compatible = "qcom,wcn3990-bt";
    233
    234		vddio-supply = <&vreg_s4a_1p8>;
    235		vddxo-supply = <&vreg_l7a_1p8>;
    236		vddrf-supply = <&vreg_l17a_1p3>;
    237		vddch0-supply = <&vreg_l25a_3p3>;
    238		max-speed = <3200000>;
    239
    240		clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
    241	};
    242};
    243
    244&blsp2_uart1 {
    245	status = "okay";
    246};
    247
    248&ibb {
    249	regulator-min-microamp = <800000>;
    250	regulator-max-microamp = <800000>;
    251	regulator-enable-ramp-delay = <200>;
    252	regulator-over-current-protection;
    253	regulator-pull-down;
    254	regulator-ramp-delay = <1>;
    255	regulator-settling-time-up-us = <600>;
    256	regulator-settling-time-down-us = <1000>;
    257	regulator-soft-start;
    258	qcom,discharge-resistor-kohms = <300>;
    259};
    260
    261&lab {
    262	regulator-min-microamp = <200000>;
    263	regulator-max-microamp = <200000>;
    264	regulator-enable-ramp-delay = <500>;
    265	regulator-over-current-protection;
    266	regulator-pull-down;
    267	regulator-ramp-delay = <1>;
    268	regulator-settling-time-up-us = <50000>;
    269	regulator-settling-time-down-us = <3000>;
    270	regulator-soft-start;
    271};
    272
    273&mmcc {
    274	status = "ok";
    275};
    276
    277&mmss_smmu {
    278	status = "ok";
    279};
    280
    281&pm8005_lsid1 {
    282	pm8005-regulators {
    283		compatible = "qcom,pm8005-regulators";
    284
    285		vdd_s1-supply = <&vph_pwr>;
    286
    287		/* VDD_GFX supply */
    288		pm8005_s1: s1 {
    289			regulator-min-microvolt = <524000>;
    290			regulator-max-microvolt = <1088000>;
    291			regulator-enable-ramp-delay = <500>;
    292			regulator-always-on;
    293		};
    294	};
    295};
    296
    297&pm8998_gpio {
    298	vol_down_pin_a: vol-down-active {
    299		pins = "gpio5";
    300		function = PMIC_GPIO_FUNC_NORMAL;
    301		bias-pull-up;
    302		input-enable;
    303		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    304	};
    305
    306	cam_focus_pin_a: cam-focus-btn-active {
    307		pins = "gpio7";
    308		function = PMIC_GPIO_FUNC_NORMAL;
    309		bias-pull-up;
    310		input-enable;
    311		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    312	};
    313
    314	cam_snapshot_pin_a: cam-snapshot-btn-active {
    315		pins = "gpio8";
    316		function = PMIC_GPIO_FUNC_NORMAL;
    317		bias-pull-up;
    318		input-enable;
    319		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    320	};
    321
    322	audio_mclk_pin: audio-mclk-pin-active {
    323		pins = "gpio13";
    324		function = "func2";
    325		power-source = <0>;
    326	};
    327};
    328
    329&pmi8998_gpio {
    330	cam_vio_default: cam-vio-active {
    331		pins = "gpio1";
    332		function = PMIC_GPIO_FUNC_NORMAL;
    333		bias-disable;
    334		drive-push-pull;
    335		output-low;
    336		qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
    337		power-source = <1>;
    338	};
    339
    340	vib_default: vib-en {
    341		pins = "gpio5";
    342		function = PMIC_GPIO_FUNC_NORMAL;
    343		bias-disable;
    344		drive-push-pull;
    345		output-low;
    346		qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
    347		power-source = <0>;
    348	};
    349};
    350
    351&pm8998_pon {
    352	resin {
    353		compatible = "qcom,pm8941-resin";
    354		interrupts = <GIC_SPI 0x8 1 IRQ_TYPE_EDGE_BOTH>;
    355		debounce = <15625>;
    356		bias-pull-up;
    357		linux,code = <KEY_VOLUMEUP>;
    358	};
    359};
    360
    361&qusb2phy {
    362	status = "okay";
    363
    364	vdda-pll-supply = <&vreg_l12a_1p8>;
    365	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
    366};
    367
    368&rpm_requests {
    369	pm8998-regulators {
    370		compatible = "qcom,rpm-pm8998-regulators";
    371
    372		vdd_s1-supply = <&vph_pwr>;
    373		vdd_s2-supply = <&vph_pwr>;
    374		vdd_s3-supply = <&vph_pwr>;
    375		vdd_s4-supply = <&vph_pwr>;
    376		vdd_s5-supply = <&vph_pwr>;
    377		vdd_s6-supply = <&vph_pwr>;
    378		vdd_s7-supply = <&vph_pwr>;
    379		vdd_s8-supply = <&vph_pwr>;
    380		vdd_s9-supply = <&vph_pwr>;
    381		vdd_s10-supply = <&vph_pwr>;
    382		vdd_s11-supply = <&vph_pwr>;
    383		vdd_s12-supply = <&vph_pwr>;
    384		vdd_s13-supply = <&vph_pwr>;
    385		vdd_l1_l27-supply = <&vreg_s7a_1p025>;
    386		vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
    387		vdd_l3_l11-supply = <&vreg_s7a_1p025>;
    388		vdd_l4_l5-supply = <&vreg_s7a_1p025>;
    389		vdd_l6-supply = <&vreg_s5a_2p04>;
    390		vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
    391		vdd_l9-supply = <&vreg_bob>;
    392		vdd_l10_l23_l25-supply = <&vreg_bob>;
    393		vdd_l13_l19_l21-supply = <&vreg_bob>;
    394		vdd_l16_l28-supply = <&vreg_bob>;
    395		vdd_l18_l22-supply = <&vreg_bob>;
    396		vdd_l20_l24-supply = <&vreg_bob>;
    397		vdd_l26-supply = <&vreg_s3a_1p35>;
    398		vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
    399
    400		vreg_s3a_1p35: s3 {
    401			regulator-min-microvolt = <1352000>;
    402			regulator-max-microvolt = <1352000>;
    403		};
    404		vreg_s4a_1p8: s4 {
    405			regulator-min-microvolt = <1800000>;
    406			regulator-max-microvolt = <1800000>;
    407			regulator-system-load = <100000>;
    408			regulator-allow-set-load;
    409		};
    410		vreg_s5a_2p04: s5 {
    411			regulator-min-microvolt = <1904000>;
    412			regulator-max-microvolt = <2032000>;
    413		};
    414		vreg_s7a_1p025: s7 {
    415			regulator-min-microvolt = <900000>;
    416			regulator-max-microvolt = <1028000>;
    417		};
    418		vreg_l1a_0p875: l1 {
    419			regulator-min-microvolt = <880000>;
    420			regulator-max-microvolt = <880000>;
    421			regulator-system-load = <73400>;
    422			regulator-allow-set-load;
    423		};
    424		vreg_l2a_1p2: l2 {
    425			regulator-min-microvolt = <1200000>;
    426			regulator-max-microvolt = <1200000>;
    427			regulator-system-load = <12560>;
    428			regulator-allow-set-load;
    429		};
    430		vreg_l3a_1p0: l3 {
    431			regulator-min-microvolt = <1000000>;
    432			regulator-max-microvolt = <1000000>;
    433		};
    434		vreg_l5a_0p8: l5 {
    435			regulator-min-microvolt = <800000>;
    436			regulator-max-microvolt = <800000>;
    437		};
    438		vreg_l6a_1p8: l6 {
    439			regulator-min-microvolt = <1800000>;
    440			regulator-max-microvolt = <1800000>;
    441		};
    442		vreg_l7a_1p8: l7 {
    443			regulator-min-microvolt = <1800000>;
    444			regulator-max-microvolt = <1800000>;
    445		};
    446		vreg_l8a_1p2: l8 {
    447			regulator-min-microvolt = <1200000>;
    448			regulator-max-microvolt = <1200000>;
    449		};
    450		vreg_l9a_1p8: l9 {
    451			regulator-min-microvolt = <1808000>;
    452			regulator-max-microvolt = <2960000>;
    453		};
    454		vreg_l10a_1p8: l10 {
    455			regulator-min-microvolt = <1808000>;
    456			regulator-max-microvolt = <2960000>;
    457		};
    458		vreg_l11a_1p0: l11 {
    459			regulator-min-microvolt = <1000000>;
    460			regulator-max-microvolt = <1000000>;
    461		};
    462		vreg_l12a_1p8: l12 {
    463			regulator-min-microvolt = <1800000>;
    464			regulator-max-microvolt = <1800000>;
    465		};
    466		vreg_l13a_2p95: l13 {
    467			regulator-min-microvolt = <1808000>;
    468			regulator-max-microvolt = <2960000>;
    469			regulator-allow-set-load;
    470		};
    471		vreg_l14a_1p85: l14 {
    472			regulator-min-microvolt = <1848000>;
    473			regulator-max-microvolt = <1856000>;
    474			regulator-system-load = <32000>;
    475			regulator-allow-set-load;
    476		};
    477		vreg_l15a_1p8: l15 {
    478			regulator-min-microvolt = <1800000>;
    479			regulator-max-microvolt = <1800000>;
    480		};
    481		vreg_l16a_2p7: l16 {
    482			regulator-min-microvolt = <2704000>;
    483			regulator-max-microvolt = <2704000>;
    484		};
    485		vreg_l17a_1p3: l17 {
    486			regulator-min-microvolt = <1304000>;
    487			regulator-max-microvolt = <1304000>;
    488		};
    489		vreg_l18a_2p85: l18 {};
    490		vreg_l19a_2p7: l19 {
    491			regulator-min-microvolt = <2696000>;
    492			regulator-max-microvolt = <2704000>;
    493		};
    494		vreg_l20a_2p95: l20 {
    495			regulator-min-microvolt = <2960000>;
    496			regulator-max-microvolt = <2960000>;
    497			regulator-system-load = <10000>;
    498			regulator-allow-set-load;
    499		};
    500		vreg_l21a_2p95: l21 {
    501			regulator-min-microvolt = <2960000>;
    502			regulator-max-microvolt = <2960000>;
    503			regulator-system-load = <800000>;
    504			regulator-allow-set-load;
    505		};
    506		vreg_l22a_2p85: l22 { };
    507		vreg_l23a_3p3: l23 {
    508			regulator-min-microvolt = <3312000>;
    509			regulator-max-microvolt = <3312000>;
    510		};
    511		vreg_l24a_3p075: l24 {
    512			regulator-min-microvolt = <3088000>;
    513			regulator-max-microvolt = <3088000>;
    514		};
    515		vreg_l25a_3p3: l25 {
    516			regulator-min-microvolt = <3104000>;
    517			regulator-max-microvolt = <3312000>;
    518		};
    519		vreg_l26a_1p2: l26 {
    520			regulator-min-microvolt = <1200000>;
    521			regulator-max-microvolt = <1200000>;
    522			regulator-allow-set-load;
    523		};
    524		vreg_l28_3p0: l28 {
    525			regulator-min-microvolt = <3000000>;
    526			regulator-max-microvolt = <3000000>;
    527		};
    528		vreg_lvs1a_1p8: lvs1 { };
    529		vreg_lvs2a_1p8: lvs2 { };
    530	};
    531
    532	pmi8998-regulators {
    533		compatible = "qcom,rpm-pmi8998-regulators";
    534
    535		vdd_bob-supply = <&vph_pwr>;
    536
    537		vreg_bob: bob {
    538			regulator-min-microvolt = <3312000>;
    539			regulator-max-microvolt = <3600000>;
    540		};
    541	};
    542};
    543
    544&sdhc2 {
    545	status = "okay";
    546	cd-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
    547
    548	vmmc-supply = <&vreg_l21a_2p95>;
    549	vqmmc-supply = <&vreg_l13a_2p95>;
    550
    551	pinctrl-names = "default", "sleep";
    552	pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on  &sdc2_data_on  &sdc2_cd_on>;
    553	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
    554};
    555
    556&tlmm {
    557	gpio-reserved-ranges = <0 4>, <81 4>;
    558
    559	mdp_vsync_n: mdp-vsync-n {
    560		pins = "gpio10";
    561		function = "mdp_vsync_a";
    562		drive-strength = <2>;
    563		bias-pull-down;
    564	};
    565
    566	nfc_ven: nfc-ven {
    567		pins = "gpio12";
    568		function = "gpio";
    569		bias-disable;
    570		drive-strength = <2>;
    571		output-low;
    572	};
    573
    574	msm_mclk0_default: msm-mclk0-active {
    575		pins = "gpio13";
    576		function = "cam_mclk";
    577		drive-strength = <2>;
    578		bias-disable;
    579	};
    580
    581	msm_mclk1_default: msm-mclk1-active {
    582		pins = "gpio14";
    583		function = "cam_mclk";
    584		drive-strength = <2>;
    585		bias-disable;
    586	};
    587
    588	cci0_default: cci0-default {
    589		pins = "gpio18", "gpio19";
    590		function = "cci_i2c";
    591		bias-disable;
    592		drive-strength = <2>;
    593	};
    594
    595	cci1_default: cci1-default {
    596		pins = "gpio19", "gpio20";
    597		function = "cci_i2c";
    598		bias-disable;
    599		drive-strength = <2>;
    600	};
    601
    602	cam0_vdig_default: cam0-vdig-default {
    603		pins = "gpio21";
    604		function = "gpio";
    605		bias-disable;
    606		drive-strength = <2>;
    607	};
    608
    609	cam1_vdig_default: cam1-vdig-default {
    610		pins = "gpio25";
    611		function = "gpio";
    612		bias-disable;
    613		drive-strength = <2>;
    614	};
    615
    616	hall_sensor0_default: acc-cover-open {
    617		pins = "gpio124";
    618		function = "gpio";
    619		bias-disable;
    620		drive-strength = <2>;
    621		input-enable;
    622	};
    623
    624	ts_int_n: ts-int-n {
    625		pins = "gpio125";
    626		function = "gpio";
    627		drive-strength = <8>;
    628		bias-pull-up;
    629	};
    630
    631	ts_vddio_en: ts-vddio-en-default {
    632		pins = "gpio133";
    633		function = "gpio";
    634		bias-disable;
    635		drive-strength = <2>;
    636		output-low;
    637	};
    638};
    639
    640/*
    641 * WARNING:
    642 * Disable UFS until card quirks are in to avoid unrecoverable hard-brick
    643 * that would happen as soon as the UFS card gets probed as, without the
    644 * required quirks, the bootloader will be erased right after card probe.
    645 */
    646&ufshc {
    647	status = "disabled";
    648};
    649
    650&ufsphy {
    651	status = "disabled";
    652};
    653
    654&usb3 {
    655	status = "okay";
    656};
    657
    658&usb3_dwc3 {
    659	/* Force to peripheral until we have Type-C hooked up */
    660	dr_mode = "peripheral";
    661};
    662
    663&usb3phy {
    664	status = "okay";
    665
    666	vdda-phy-supply = <&vreg_l1a_0p875>;
    667	vdda-pll-supply = <&vreg_l2a_1p2>;
    668};