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

rk3399-sapphire.dtsi (12699B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
      4 */
      5
      6#include "dt-bindings/pwm/pwm.h"
      7#include "dt-bindings/input/input.h"
      8#include "rk3399.dtsi"
      9#include "rk3399-opp.dtsi"
     10
     11/ {
     12	compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
     13
     14	aliases {
     15		mmc0 = &sdmmc;
     16		mmc1 = &sdhci;
     17	};
     18
     19	chosen {
     20		stdout-path = "serial2:1500000n8";
     21	};
     22
     23	clkin_gmac: external-gmac-clock {
     24		compatible = "fixed-clock";
     25		clock-frequency = <125000000>;
     26		clock-output-names = "clkin_gmac";
     27		#clock-cells = <0>;
     28	};
     29
     30	dc_12v: dc-12v {
     31		compatible = "regulator-fixed";
     32		regulator-name = "dc_12v";
     33		regulator-always-on;
     34		regulator-boot-on;
     35		regulator-min-microvolt = <12000000>;
     36		regulator-max-microvolt = <12000000>;
     37	};
     38
     39	/*
     40	 * The fan power supply comes from the baseboard.
     41	 * For the standalone Sapphire one option is to connect a wire
     42	 * from  R90030 DNP R0805 pin2  to  C90002 10uF C0805 pin1 (vcc_sys).
     43	 */
     44	fan0: gpio-fan {
     45		#cooling-cells = <2>;
     46		compatible = "gpio-fan";
     47		gpio-fan,speed-map = <0 0 3000 1>;
     48		gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
     49		status = "okay";
     50	};
     51
     52	keys: gpio-keys {
     53		compatible = "gpio-keys";
     54		autorepeat;
     55
     56		power {
     57			debounce-interval = <100>;
     58			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
     59			label = "GPIO Power";
     60			linux,code = <KEY_POWER>;
     61			linux,input-type = <1>;
     62			pinctrl-names = "default";
     63			pinctrl-0 = <&pwr_btn>;
     64			wakeup-source;
     65		};
     66	};
     67
     68	/* switched by pmic_sleep */
     69	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
     70		compatible = "regulator-fixed";
     71		regulator-name = "vcc1v8_s3";
     72		regulator-always-on;
     73		regulator-boot-on;
     74		regulator-min-microvolt = <1800000>;
     75		regulator-max-microvolt = <1800000>;
     76		vin-supply = <&vcc_1v8>;
     77	};
     78
     79	vcc3v0_sd: vcc3v0-sd {
     80		compatible = "regulator-fixed";
     81		enable-active-high;
     82		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
     83		pinctrl-names = "default";
     84		pinctrl-0 = <&sdmmc0_pwr_h>;
     85		regulator-always-on;
     86		regulator-max-microvolt = <3000000>;
     87		regulator-min-microvolt = <3000000>;
     88		regulator-name = "vcc3v0_sd";
     89		vin-supply = <&vcc3v3_sys>;
     90	};
     91
     92	vcc3v3_sys: vcc3v3-sys {
     93		compatible = "regulator-fixed";
     94		regulator-name = "vcc3v3_sys";
     95		regulator-always-on;
     96		regulator-boot-on;
     97		regulator-min-microvolt = <3300000>;
     98		regulator-max-microvolt = <3300000>;
     99		vin-supply = <&vcc_sys>;
    100	};
    101
    102	vcc5v0_host: vcc5v0-host-regulator {
    103		compatible = "regulator-fixed";
    104		enable-active-high;
    105		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
    106		pinctrl-names = "default";
    107		pinctrl-0 = <&vcc5v0_host_en>;
    108		regulator-name = "vcc5v0_host";
    109		regulator-always-on;
    110		vin-supply = <&vcc_sys>;
    111	};
    112
    113	vcc5v0_typec0: vcc5v0-typec0-regulator {
    114		compatible = "regulator-fixed";
    115		enable-active-high;
    116		gpio = <&gpio2 RK_PA0 GPIO_ACTIVE_HIGH>;
    117		pinctrl-names = "default";
    118		pinctrl-0 = <&vcc5v0_typec0_en>;
    119		regulator-name = "vcc5v0_typec0";
    120		vin-supply = <&vcc_sys>;
    121	};
    122
    123	vcc_sys: vcc-sys {
    124		compatible = "regulator-fixed";
    125		regulator-name = "vcc_sys";
    126		regulator-always-on;
    127		regulator-boot-on;
    128		regulator-min-microvolt = <5000000>;
    129		regulator-max-microvolt = <5000000>;
    130		vin-supply = <&dc_12v>;
    131	};
    132
    133	vdd_log: vdd-log {
    134		compatible = "pwm-regulator";
    135		pwms = <&pwm2 0 25000 1>;
    136		pwm-supply = <&vcc_sys>;
    137		regulator-name = "vdd_log";
    138		regulator-always-on;
    139		regulator-boot-on;
    140		regulator-min-microvolt = <800000>;
    141		regulator-max-microvolt = <1400000>;
    142	};
    143};
    144
    145&cpu_l0 {
    146	cpu-supply = <&vdd_cpu_l>;
    147};
    148
    149&cpu_l1 {
    150	cpu-supply = <&vdd_cpu_l>;
    151};
    152
    153&cpu_l2 {
    154	cpu-supply = <&vdd_cpu_l>;
    155};
    156
    157&cpu_l3 {
    158	cpu-supply = <&vdd_cpu_l>;
    159};
    160
    161&cpu_b0 {
    162	cpu-supply = <&vdd_cpu_b>;
    163};
    164
    165&cpu_b1 {
    166	cpu-supply = <&vdd_cpu_b>;
    167};
    168
    169&cpu_thermal {
    170	trips {
    171		cpu_hot: cpu_hot {
    172			hysteresis = <10000>;
    173			temperature = <55000>;
    174			type = "active";
    175		};
    176	};
    177
    178	cooling-maps {
    179		map2 {
    180			cooling-device =
    181				<&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    182			trip = <&cpu_hot>;
    183		};
    184	};
    185};
    186
    187&emmc_phy {
    188	status = "okay";
    189};
    190
    191&gmac {
    192	assigned-clocks = <&cru SCLK_RMII_SRC>;
    193	assigned-clock-parents = <&clkin_gmac>;
    194	clock_in_out = "input";
    195	phy-supply = <&vcc_lan>;
    196	phy-mode = "rgmii";
    197	pinctrl-names = "default";
    198	pinctrl-0 = <&rgmii_pins>;
    199	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
    200	snps,reset-active-low;
    201	snps,reset-delays-us = <0 10000 50000>;
    202	tx_delay = <0x28>;
    203	rx_delay = <0x11>;
    204	status = "okay";
    205};
    206
    207&gpu {
    208	mali-supply = <&vdd_gpu>;
    209	status = "okay";
    210};
    211
    212&hdmi {
    213	ddc-i2c-bus = <&i2c3>;
    214	status = "okay";
    215};
    216
    217&hdmi_sound {
    218	status = "okay";
    219};
    220
    221&i2c0 {
    222	clock-frequency = <400000>;
    223	i2c-scl-rising-time-ns = <168>;
    224	i2c-scl-falling-time-ns = <4>;
    225	status = "okay";
    226
    227	rk808: pmic@1b {
    228		compatible = "rockchip,rk808";
    229		reg = <0x1b>;
    230		interrupt-parent = <&gpio1>;
    231		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
    232		#clock-cells = <1>;
    233		clock-output-names = "xin32k", "rk808-clkout2";
    234		pinctrl-names = "default";
    235		pinctrl-0 = <&pmic_int_l>;
    236		rockchip,system-power-controller;
    237		wakeup-source;
    238
    239		vcc1-supply = <&vcc_sys>;
    240		vcc2-supply = <&vcc_sys>;
    241		vcc3-supply = <&vcc_sys>;
    242		vcc4-supply = <&vcc_sys>;
    243		vcc6-supply = <&vcc_sys>;
    244		vcc7-supply = <&vcc_sys>;
    245		vcc8-supply = <&vcc3v3_sys>;
    246		vcc9-supply = <&vcc_sys>;
    247		vcc10-supply = <&vcc_sys>;
    248		vcc11-supply = <&vcc_sys>;
    249		vcc12-supply = <&vcc3v3_sys>;
    250		vddio-supply = <&vcc1v8_pmu>;
    251
    252		regulators {
    253			vdd_center: DCDC_REG1 {
    254				regulator-name = "vdd_center";
    255				regulator-always-on;
    256				regulator-boot-on;
    257				regulator-min-microvolt = <750000>;
    258				regulator-max-microvolt = <1350000>;
    259				regulator-ramp-delay = <6001>;
    260				regulator-state-mem {
    261					regulator-off-in-suspend;
    262				};
    263			};
    264
    265			vdd_cpu_l: DCDC_REG2 {
    266				regulator-name = "vdd_cpu_l";
    267				regulator-always-on;
    268				regulator-boot-on;
    269				regulator-min-microvolt = <750000>;
    270				regulator-max-microvolt = <1350000>;
    271				regulator-ramp-delay = <6001>;
    272				regulator-state-mem {
    273					regulator-off-in-suspend;
    274				};
    275			};
    276
    277			vcc_ddr: DCDC_REG3 {
    278				regulator-name = "vcc_ddr";
    279				regulator-always-on;
    280				regulator-boot-on;
    281				regulator-state-mem {
    282					regulator-on-in-suspend;
    283				};
    284			};
    285
    286			vcc_1v8: DCDC_REG4 {
    287				regulator-name = "vcc_1v8";
    288				regulator-always-on;
    289				regulator-boot-on;
    290				regulator-min-microvolt = <1800000>;
    291				regulator-max-microvolt = <1800000>;
    292				regulator-state-mem {
    293					regulator-on-in-suspend;
    294					regulator-suspend-microvolt = <1800000>;
    295				};
    296			};
    297
    298			vcc1v8_dvp: LDO_REG1 {
    299				regulator-name = "vcc1v8_dvp";
    300				regulator-always-on;
    301				regulator-boot-on;
    302				regulator-min-microvolt = <1800000>;
    303				regulator-max-microvolt = <1800000>;
    304				regulator-state-mem {
    305					regulator-off-in-suspend;
    306				};
    307			};
    308
    309			vcc3v0_tp: LDO_REG2 {
    310				regulator-name = "vcc3v0_tp";
    311				regulator-always-on;
    312				regulator-boot-on;
    313				regulator-min-microvolt = <3000000>;
    314				regulator-max-microvolt = <3000000>;
    315				regulator-state-mem {
    316					regulator-off-in-suspend;
    317				};
    318			};
    319
    320			vcc1v8_pmu: LDO_REG3 {
    321				regulator-name = "vcc1v8_pmu";
    322				regulator-always-on;
    323				regulator-boot-on;
    324				regulator-min-microvolt = <1800000>;
    325				regulator-max-microvolt = <1800000>;
    326				regulator-state-mem {
    327					regulator-on-in-suspend;
    328					regulator-suspend-microvolt = <1800000>;
    329				};
    330			};
    331
    332			vcc_sdio: LDO_REG4 {
    333				regulator-name = "vcc_sdio";
    334				regulator-always-on;
    335				regulator-boot-on;
    336				regulator-min-microvolt = <1800000>;
    337				regulator-max-microvolt = <3300000>;
    338				regulator-state-mem {
    339					regulator-on-in-suspend;
    340					regulator-suspend-microvolt = <3000000>;
    341				};
    342			};
    343
    344			vcca3v0_codec: LDO_REG5 {
    345				regulator-name = "vcca3v0_codec";
    346				regulator-always-on;
    347				regulator-boot-on;
    348				regulator-min-microvolt = <3000000>;
    349				regulator-max-microvolt = <3000000>;
    350				regulator-state-mem {
    351					regulator-off-in-suspend;
    352				};
    353			};
    354
    355			vcc_1v5: LDO_REG6 {
    356				regulator-name = "vcc_1v5";
    357				regulator-always-on;
    358				regulator-boot-on;
    359				regulator-min-microvolt = <1500000>;
    360				regulator-max-microvolt = <1500000>;
    361				regulator-state-mem {
    362					regulator-on-in-suspend;
    363					regulator-suspend-microvolt = <1500000>;
    364				};
    365			};
    366
    367			vcca1v8_codec: LDO_REG7 {
    368				regulator-name = "vcca1v8_codec";
    369				regulator-always-on;
    370				regulator-boot-on;
    371				regulator-min-microvolt = <1800000>;
    372				regulator-max-microvolt = <1800000>;
    373				regulator-state-mem {
    374					regulator-off-in-suspend;
    375				};
    376			};
    377
    378			vcc_3v0: LDO_REG8 {
    379				regulator-name = "vcc_3v0";
    380				regulator-always-on;
    381				regulator-boot-on;
    382				regulator-min-microvolt = <3000000>;
    383				regulator-max-microvolt = <3000000>;
    384				regulator-state-mem {
    385					regulator-on-in-suspend;
    386					regulator-suspend-microvolt = <3000000>;
    387				};
    388			};
    389
    390			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
    391				regulator-name = "vcc3v3_s3";
    392				regulator-always-on;
    393				regulator-boot-on;
    394				regulator-state-mem {
    395					regulator-off-in-suspend;
    396				};
    397			};
    398
    399			vcc3v3_s0: SWITCH_REG2 {
    400				regulator-name = "vcc3v3_s0";
    401				regulator-always-on;
    402				regulator-boot-on;
    403				regulator-state-mem {
    404					regulator-off-in-suspend;
    405				};
    406			};
    407		};
    408	};
    409
    410	vdd_cpu_b: regulator@40 {
    411		compatible = "silergy,syr827";
    412		reg = <0x40>;
    413		fcs,suspend-voltage-selector = <1>;
    414		regulator-name = "vdd_cpu_b";
    415		regulator-min-microvolt = <712500>;
    416		regulator-max-microvolt = <1500000>;
    417		regulator-ramp-delay = <1000>;
    418		regulator-always-on;
    419		regulator-boot-on;
    420		vin-supply = <&vcc_sys>;
    421
    422		regulator-state-mem {
    423			regulator-off-in-suspend;
    424		};
    425	};
    426
    427	vdd_gpu: regulator@41 {
    428		compatible = "silergy,syr828";
    429		reg = <0x41>;
    430		fcs,suspend-voltage-selector = <1>;
    431		regulator-name = "vdd_gpu";
    432		regulator-min-microvolt = <712500>;
    433		regulator-max-microvolt = <1500000>;
    434		regulator-ramp-delay = <1000>;
    435		regulator-always-on;
    436		regulator-boot-on;
    437		vin-supply = <&vcc_sys>;
    438
    439		regulator-state-mem {
    440			regulator-off-in-suspend;
    441		};
    442	};
    443};
    444
    445&i2c3 {
    446	i2c-scl-rising-time-ns = <450>;
    447	i2c-scl-falling-time-ns = <15>;
    448	status = "okay";
    449};
    450
    451&i2s2 {
    452	status = "okay";
    453};
    454
    455&io_domains {
    456	status = "okay";
    457
    458	bt656-supply = <&vcc_3v0>;
    459	audio-supply = <&vcca1v8_codec>;
    460	sdmmc-supply = <&vcc_sdio>;
    461	gpio1830-supply = <&vcc_3v0>;
    462};
    463
    464&pmu_io_domains {
    465	pmu1830-supply = <&vcc_3v0>;
    466	status = "okay";
    467};
    468
    469&pinctrl {
    470	buttons {
    471		pwr_btn: pwr-btn {
    472			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
    473		};
    474	};
    475
    476	fan {
    477		motor_pwr: motor-pwr {
    478			rockchip,pins =
    479				<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
    480		};
    481	};
    482
    483	pmic {
    484		pmic_int_l: pmic-int-l {
    485			rockchip,pins =
    486				<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
    487		};
    488
    489		vsel1_pin: vsel1-pin {
    490			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
    491		};
    492
    493		vsel2_pin: vsel2-pin {
    494			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
    495		};
    496	};
    497
    498	sd {
    499		sdmmc0_pwr_h: sdmmc0-pwr-h {
    500			rockchip,pins =
    501				<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
    502		};
    503	};
    504
    505	usb2 {
    506		vcc5v0_host_en: vcc5v0-host-en {
    507			rockchip,pins =
    508				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
    509		};
    510		vcc5v0_typec0_en: vcc5v0-typec0-en {
    511			rockchip,pins =
    512				<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
    513		};
    514	};
    515};
    516
    517&pwm0 {
    518	status = "okay";
    519};
    520
    521&pwm2 {
    522	status = "okay";
    523};
    524
    525&saradc {
    526	vref-supply = <&vcca1v8_s3>;
    527	status = "okay";
    528};
    529
    530&sdhci {
    531	bus-width = <8>;
    532	mmc-hs400-1_8v;
    533	mmc-hs400-enhanced-strobe;
    534	non-removable;
    535	status = "okay";
    536};
    537
    538&sdmmc {
    539	broken-cd;
    540	bus-width = <4>;
    541	cap-mmc-highspeed;
    542	cap-sd-highspeed;
    543	clock-frequency = <150000000>;
    544	disable-wp;
    545	max-frequency = <150000000>;
    546	pinctrl-names = "default";
    547	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
    548	vmmc-supply = <&vcc3v0_sd>;
    549	vqmmc-supply = <&vcc_sdio>;
    550	status = "okay";
    551};
    552
    553&tcphy0 {
    554	status = "okay";
    555};
    556
    557&tcphy1 {
    558	status = "okay";
    559};
    560
    561&tsadc {
    562	/* tshut mode 0:CRU 1:GPIO */
    563	rockchip,hw-tshut-mode = <1>;
    564	/* tshut polarity 0:LOW 1:HIGH */
    565	rockchip,hw-tshut-polarity = <1>;
    566	status = "okay";
    567};
    568
    569&u2phy0 {
    570	status = "okay";
    571
    572	u2phy0_otg: otg-port {
    573		status = "okay";
    574	};
    575
    576	u2phy0_host: host-port {
    577		phy-supply = <&vcc5v0_typec0>;
    578		status = "okay";
    579	};
    580};
    581
    582&u2phy1 {
    583	status = "okay";
    584
    585	u2phy1_otg: otg-port {
    586		status = "okay";
    587	};
    588
    589	u2phy1_host: host-port {
    590		phy-supply = <&vcc5v0_host>;
    591		status = "okay";
    592	};
    593};
    594
    595&uart0 {
    596	pinctrl-names = "default";
    597	pinctrl-0 = <&uart0_xfer &uart0_cts>;
    598	status = "okay";
    599};
    600
    601&uart2 {
    602	status = "okay";
    603};
    604
    605&usb_host0_ehci {
    606	status = "okay";
    607};
    608
    609&usb_host0_ohci {
    610	status = "okay";
    611};
    612
    613&usb_host1_ehci {
    614	status = "okay";
    615};
    616
    617&usb_host1_ohci {
    618	status = "okay";
    619};
    620
    621&usbdrd3_0 {
    622	status = "okay";
    623};
    624
    625&usbdrd_dwc3_0 {
    626	status = "okay";
    627	dr_mode = "host";
    628};
    629
    630&usbdrd3_1 {
    631	status = "okay";
    632};
    633
    634&usbdrd_dwc3_1 {
    635	status = "okay";
    636	dr_mode = "host";
    637};
    638
    639&vopb {
    640	status = "okay";
    641};
    642
    643&vopb_mmu {
    644	status = "okay";
    645};
    646
    647&vopl {
    648	status = "okay";
    649};
    650
    651&vopl_mmu {
    652	status = "okay";
    653};