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

sm8350-sony-xperia-sagami.dtsi (4947B)


      1// SPDX-License-Identifier: BSD-3-Clause
      2/*
      3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
      4 */
      5
      6#include "sm8350.dtsi"
      7#include "pm8350.dtsi"
      8#include "pm8350b.dtsi"
      9#include "pm8350c.dtsi"
     10#include "pmk8350.dtsi"
     11#include "pmr735a.dtsi"
     12#include "pmr735b.dtsi"
     13
     14/ {
     15	/*
     16	 * Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350!
     17	 * Adding it will cause the bootloader to go crazy and randomly crash
     18	 * shortly after closing UEFI boot services.. Perhaps that has something
     19	 * to do with the OS running inside a VM now..?
     20	 */
     21
     22	chassis-type = "handset";
     23
     24	chosen {
     25		#address-cells = <2>;
     26		#size-cells = <2>;
     27		ranges;
     28
     29		framebuffer: framebuffer@e1000000 {
     30			compatible = "simple-framebuffer";
     31			reg = <0 0xe1000000 0 0x2300000>;
     32
     33			/* The display, even though it's 4K, initializes at 1080-ish p */
     34			width = <1096>;
     35			height = <2560>;
     36			stride = <(1096 * 4)>;
     37			format = "a8r8g8b8";
     38			/*
     39			 * That's (going to be) a lot of clocks, but it's necessary due
     40			 * to unused clk cleanup & no panel driver yet
     41			 */
     42			clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
     43				 <&gcc GCC_DISP_SF_AXI_CLK>;
     44		};
     45	};
     46
     47	gpio-keys {
     48		compatible = "gpio-keys";
     49
     50		/* For reasons still unknown, GAssist key and Camera Focus/Shutter don't work.. */
     51
     52		vol-down {
     53			label = "Volume Down";
     54			linux,code = <KEY_VOLUMEDOWN>;
     55			gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
     56			debounce-interval = <15>;
     57			linux,can-disable;
     58			gpio-key,wakeup;
     59		};
     60	};
     61
     62	reserved-memory {
     63		cont_splash_mem: memory@e1000000 {
     64			reg = <0 0xe1000000 0 0x2300000>;
     65			no-map;
     66		};
     67
     68		ramoops@ffc00000 {
     69			compatible = "ramoops";
     70			reg = <0 0xffc00000 0 0x100000>;
     71			console-size = <0x40000>;
     72			record-size = <0x1000>;
     73			no-map;
     74		};
     75	};
     76};
     77
     78&adsp {
     79	status = "okay";
     80	firmware-name = "qcom/adsp.mbn";
     81};
     82
     83&cdsp {
     84	status = "okay";
     85	firmware-name = "qcom/cdsp.mbn";
     86};
     87
     88&i2c1 {
     89	status = "okay";
     90	clock-frequency = <1000000>;
     91
     92	/* Some subset of SONY IMX663 camera sensor @ 38 */
     93};
     94
     95&i2c2 {
     96	status = "okay";
     97	clock-frequency = <400000>;
     98
     99	/* Richwave RTC6226 FM Radio Receiver @ 64 */
    100};
    101
    102&i2c4 {
    103	status = "okay";
    104	clock-frequency = <400000>;
    105
    106	/* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */
    107};
    108
    109&i2c11 {
    110	status = "okay";
    111	clock-frequency = <1000000>;
    112
    113	cs35l41_l: cs35l41@40 {
    114		compatible = "cirrus,cs35l41";
    115		reg = <0x40>;
    116		interrupt-parent = <&tlmm>;
    117		interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
    118		reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
    119		cirrus,boost-peak-milliamp = <4000>;
    120		cirrus,boost-ind-nanohenry = <1000>;
    121		cirrus,boost-cap-microfarad = <15>;
    122		cirrus,asp-sdout-hiz = <3>;
    123		cirrus,gpio2-src-select = <2>;
    124		cirrus,gpio2-output-enable;
    125		#sound-dai-cells = <1>;
    126	};
    127
    128	cs35l41_r: cs35l41@41 {
    129		compatible = "cirrus,cs35l41";
    130		reg = <0x41>;
    131		interrupt-parent = <&tlmm>;
    132		interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
    133		reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
    134		cirrus,boost-peak-milliamp = <4000>;
    135		cirrus,boost-ind-nanohenry = <1000>;
    136		cirrus,boost-cap-microfarad = <15>;
    137		cirrus,asp-sdout-hiz = <3>;
    138		cirrus,gpio2-src-select = <2>;
    139		cirrus,gpio2-output-enable;
    140		#sound-dai-cells = <1>;
    141	};
    142};
    143
    144&i2c12 {
    145	status = "okay";
    146	/* Clock frequency was not specified downstream, let's park it to 100 KHz */
    147	clock-frequency = <100000>;
    148
    149	/* AMS TCS3490 RGB+IR color sensor @ 72 */
    150};
    151
    152&i2c13 {
    153	status = "okay";
    154	/* Clock frequency was not specified downstream, let's park it to 100 KHz */
    155	clock-frequency = <100000>;
    156
    157	/* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
    158	/* Dialog SLG51000 CMIC @ 75 */
    159};
    160
    161&i2c15 {
    162	status = "okay";
    163	clock-frequency = <400000>;
    164
    165	/* NXP SN1X0 NFC @ 28 */
    166};
    167
    168&i2c17 {
    169	status = "okay";
    170	clock-frequency = <1000000>;
    171
    172	/* Cirrus Logic CS40L25A boosted haptics driver @ 40 */
    173};
    174
    175&ipa {
    176	status = "okay";
    177	memory-region = <&pil_ipa_fw_mem>;
    178	firmware-name = "qcom/ipa_fws.mbn";
    179};
    180
    181&mpss {
    182	status = "okay";
    183	firmware-name = "qcom/modem.mbn";
    184};
    185
    186&pmk8350_rtc {
    187	status = "okay";
    188};
    189
    190&pon_pwrkey {
    191	status = "okay";
    192};
    193
    194&pon_resin {
    195	status = "okay";
    196	linux,code = <KEY_VOLUMEUP>;
    197};
    198
    199&qupv3_id_0 {
    200	status = "okay";
    201};
    202
    203&qupv3_id_1 {
    204	status = "okay";
    205};
    206
    207&qupv3_id_2 {
    208	status = "okay";
    209};
    210
    211&slpi {
    212	status = "okay";
    213	firmware-name = "qcom/slpi.mbn";
    214};
    215
    216&spi14 {
    217	status = "okay";
    218
    219	/* NXP SN1X0 NFC Secure Element @ 0 */
    220};
    221
    222&tlmm {
    223	gpio-reserved-ranges = <44 4>;
    224
    225	ts_int_default: ts-int-default {
    226		pin = "gpio23";
    227		function = "gpio";
    228		drive-strength = <2>;
    229		bias-disable;
    230		input-enable;
    231	};
    232};
    233
    234/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
    235&ufs_mem_hc { status = "disabled"; };
    236&ufs_mem_phy { status = "disabled"; };
    237
    238/* TODO: Make USB3 work (perhaps needs regulators for higher-current operation?) */
    239&usb_1 {
    240	status = "okay";
    241
    242	qcom,select-utmi-as-pipe-clk;
    243};
    244
    245&usb_1_dwc3 {
    246	dr_mode = "peripheral";
    247
    248	maximum-speed = "high-speed";
    249	phys = <&usb_1_hsphy>;
    250	phy-names = "usb2-phy";
    251};
    252
    253&usb_1_hsphy {
    254	status = "okay";
    255};
    256
    257&usb_1_qmpphy {
    258	status = "okay";
    259};