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

rk3399pro-vmarc-som.dtsi (9758B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
      4 * Copyright (c) 2019 Vamrs Limited
      5 * Copyright (c) 2019 Amarula Solutions(India)
      6 */
      7
      8#include <dt-bindings/gpio/gpio.h>
      9#include <dt-bindings/pinctrl/rockchip.h>
     10#include <dt-bindings/pwm/pwm.h>
     11
     12/ {
     13	compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro";
     14
     15	aliases {
     16		mmc0 = &sdmmc;
     17		mmc1 = &sdhci;
     18	};
     19
     20	vcc3v3_pcie: vcc-pcie-regulator {
     21		compatible = "regulator-fixed";
     22		enable-active-high;
     23		gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
     24		pinctrl-names = "default";
     25		pinctrl-0 = <&pcie_pwr>;
     26		regulator-name = "vcc3v3_pcie";
     27		regulator-always-on;
     28		regulator-boot-on;
     29		vin-supply = <&vcc5v0_sys>;
     30	};
     31};
     32
     33&cpu_l0 {
     34	cpu-supply = <&vdd_cpu_l>;
     35};
     36
     37&cpu_l1 {
     38	cpu-supply = <&vdd_cpu_l>;
     39};
     40
     41&cpu_l2 {
     42	cpu-supply = <&vdd_cpu_l>;
     43};
     44
     45&cpu_l3 {
     46	cpu-supply = <&vdd_cpu_l>;
     47};
     48
     49&emmc_phy {
     50	status = "okay";
     51};
     52
     53&gmac {
     54	assigned-clocks = <&cru SCLK_RMII_SRC>;
     55	phy-supply = <&vcc_lan>;
     56	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
     57};
     58
     59&hdmi {
     60	ddc-i2c-bus = <&i2c3>;
     61	pinctrl-names = "default";
     62	pinctrl-0 = <&hdmi_cec>;
     63};
     64
     65&i2c0 {
     66	clock-frequency = <400000>;
     67	i2c-scl-falling-time-ns = <30>;
     68	i2c-scl-rising-time-ns = <180>;
     69	status = "okay";
     70
     71	rk809: pmic@20 {
     72		compatible = "rockchip,rk809";
     73		reg = <0x20>;
     74		interrupt-parent = <&gpio1>;
     75		interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>;
     76		#clock-cells = <1>;
     77		clock-output-names = "rk808-clkout1", "rk808-clkout2";
     78		pinctrl-names = "default";
     79		pinctrl-0 = <&pmic_int_l>;
     80		rockchip,system-power-controller;
     81		wakeup-source;
     82
     83		vcc1-supply = <&vcc5v0_sys>;
     84		vcc2-supply = <&vcc5v0_sys>;
     85		vcc3-supply = <&vcc5v0_sys>;
     86		vcc4-supply = <&vcc5v0_sys>;
     87		vcc5-supply = <&vcc_buck5>;
     88		vcc6-supply = <&vcc_buck5>;
     89		vcc7-supply = <&vcc5v0_sys>;
     90		vcc8-supply = <&vcc3v3_sys>;
     91		vcc9-supply = <&vcc5v0_sys>;
     92
     93		regulators {
     94			vdd_log: DCDC_REG1 {
     95				regulator-name = "vdd_log";
     96				regulator-always-on;
     97				regulator-boot-on;
     98				regulator-min-microvolt = <750000>;
     99				regulator-max-microvolt = <1350000>;
    100				regulator-initial-mode = <0x2>;
    101				regulator-state-mem {
    102					regulator-off-in-suspend;
    103					regulator-suspend-microvolt = <900000>;
    104				};
    105			};
    106
    107			vdd_cpu_l: DCDC_REG2 {
    108				regulator-name = "vdd_cpu_l";
    109				regulator-always-on;
    110				regulator-boot-on;
    111				regulator-min-microvolt = <750000>;
    112				regulator-max-microvolt = <1350000>;
    113				regulator-ramp-delay = <6001>;
    114				regulator-initial-mode = <0x2>;
    115				regulator-state-mem {
    116					regulator-off-in-suspend;
    117				};
    118			};
    119
    120			vcc_ddr: DCDC_REG3 {
    121				regulator-name = "vcc_ddr";
    122				regulator-always-on;
    123				regulator-boot-on;
    124				regulator-initial-mode = <0x2>;
    125				regulator-state-mem {
    126					regulator-on-in-suspend;
    127				};
    128			};
    129
    130			vcc3v3_sys: DCDC_REG4 {
    131				regulator-name = "vcc3v3_sys";
    132				regulator-always-on;
    133				regulator-boot-on;
    134				regulator-min-microvolt = <3300000>;
    135				regulator-max-microvolt = <3300000>;
    136				regulator-initial-mode = <0x2>;
    137				regulator-state-mem {
    138					regulator-on-in-suspend;
    139					regulator-suspend-microvolt = <3300000>;
    140				};
    141			};
    142
    143			vcc_buck5: DCDC_REG5 {
    144				regulator-name = "vcc_buck5";
    145				regulator-always-on;
    146				regulator-boot-on;
    147				regulator-min-microvolt = <2200000>;
    148				regulator-max-microvolt = <2200000>;
    149				regulator-state-mem {
    150					regulator-on-in-suspend;
    151					regulator-suspend-microvolt = <2200000>;
    152				};
    153			};
    154
    155			vcca_0v9: LDO_REG1 {
    156				regulator-name = "vcca_0v9";
    157				regulator-always-on;
    158				regulator-boot-on;
    159				regulator-min-microvolt = <900000>;
    160				regulator-max-microvolt = <900000>;
    161				regulator-state-mem {
    162					regulator-on-in-suspend;
    163					regulator-suspend-microvolt = <900000>;
    164				};
    165			};
    166
    167			vcc_1v8: LDO_REG2 {
    168				regulator-name = "vcc_1v8";
    169				regulator-always-on;
    170				regulator-boot-on;
    171				regulator-min-microvolt = <1800000>;
    172				regulator-max-microvolt = <1800000>;
    173				regulator-state-mem {
    174					regulator-on-in-suspend;
    175					regulator-suspend-microvolt = <1800000>;
    176				};
    177			};
    178
    179			vcc_0v9: LDO_REG3 {
    180				regulator-name = "vcc_0v9";
    181				regulator-always-on;
    182				regulator-boot-on;
    183				regulator-min-microvolt = <900000>;
    184				regulator-max-microvolt = <900000>;
    185				regulator-state-mem {
    186					regulator-on-in-suspend;
    187					regulator-suspend-microvolt = <900000>;
    188				};
    189			};
    190
    191			vcca_1v8: LDO_REG4 {
    192				regulator-name = "vcca_1v8";
    193				regulator-always-on;
    194				regulator-boot-on;
    195				regulator-min-microvolt = <1850000>;
    196				regulator-max-microvolt = <1850000>;
    197				regulator-state-mem {
    198					regulator-on-in-suspend;
    199					regulator-suspend-microvolt = <1850000>;
    200				};
    201			};
    202
    203			/*
    204			 * As per BSP, but schematic not showing any regulator
    205			 * pin for LD05.
    206			 */
    207			vdd1v5_dvp: LDO_REG5 {
    208				regulator-name = "vdd1v5_dvp";
    209				regulator-always-on;
    210				regulator-boot-on;
    211				regulator-min-microvolt = <1500000>;
    212				regulator-max-microvolt = <1500000>;
    213				regulator-state-mem {
    214					regulator-off-in-suspend;
    215				};
    216			};
    217
    218			vcc_1v5: LDO_REG6 {
    219				regulator-name = "vcc_1v5";
    220				regulator-always-on;
    221				regulator-boot-on;
    222				regulator-min-microvolt = <1500000>;
    223				regulator-max-microvolt = <1500000>;
    224				regulator-state-mem {
    225					regulator-off-in-suspend;
    226				};
    227			};
    228
    229			vccio_3v0: LDO_REG7 {
    230				regulator-name = "vccio_3v0";
    231				regulator-always-on;
    232				regulator-boot-on;
    233				regulator-min-microvolt = <3000000>;
    234				regulator-max-microvolt = <3000000>;
    235				regulator-state-mem {
    236					regulator-off-in-suspend;
    237				};
    238			};
    239
    240			vccio_sd: LDO_REG8 {
    241				regulator-name = "vccio_sd";
    242				regulator-always-on;
    243				regulator-boot-on;
    244				regulator-min-microvolt = <1800000>;
    245				regulator-max-microvolt = <3300000>;
    246				regulator-state-mem {
    247					regulator-off-in-suspend;
    248				};
    249			};
    250
    251			/*
    252			 * As per BSP, but schematic not showing any regulator
    253			 * pin for LD09.
    254			 */
    255			vcc_sd: LDO_REG9 {
    256				regulator-name = "vcc_sd";
    257				regulator-always-on;
    258				regulator-boot-on;
    259				regulator-min-microvolt = <3300000>;
    260				regulator-max-microvolt = <3300000>;
    261				regulator-state-mem {
    262					regulator-off-in-suspend;
    263				};
    264			};
    265
    266			vcc5v0_usb2: SWITCH_REG1 {
    267				regulator-name = "vcc5v0_usb2";
    268				regulator-min-microvolt = <5000000>;
    269				regulator-max-microvolt = <5000000>;
    270				regulator-state-mem {
    271					regulator-on-in-suspend;
    272					regulator-suspend-microvolt = <5000000>;
    273				};
    274			};
    275
    276			vccio_3v3: vcc_lan: SWITCH_REG2 {
    277				regulator-name = "vccio_3v3";
    278				regulator-always-on;
    279				regulator-boot-on;
    280				regulator-min-microvolt = <3300000>;
    281				regulator-max-microvolt = <3300000>;
    282				regulator-state-mem {
    283					regulator-off-in-suspend;
    284				};
    285			};
    286		};
    287	};
    288};
    289
    290&i2c1 {
    291	i2c-scl-falling-time-ns = <30>;
    292	i2c-scl-rising-time-ns = <140>;
    293	status = "okay";
    294};
    295
    296&i2c2 {
    297	clock-frequency = <400000>;
    298	status = "okay";
    299
    300	hym8563: hym8563@51 {
    301		compatible = "haoyu,hym8563";
    302		reg = <0x51>;
    303		#clock-cells = <0>;
    304		clock-frequency = <32768>;
    305		clock-output-names = "hym8563";
    306		pinctrl-names = "default";
    307		pinctrl-0 = <&hym8563_int>;
    308		interrupt-parent = <&gpio4>;
    309		interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>;
    310	};
    311};
    312
    313&i2c3 {
    314	i2c-scl-rising-time-ns = <450>;
    315	i2c-scl-falling-time-ns = <15>;
    316	status = "okay";
    317};
    318
    319&io_domains {
    320	status = "okay";
    321	bt656-supply = <&vcca_1v8>;
    322	gpio1830-supply = <&vccio_3v0>;
    323	sdmmc-supply = <&vccio_sd>;
    324};
    325
    326&pcie_phy {
    327	status = "okay";
    328};
    329
    330&pcie0 {
    331	ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
    332	num-lanes = <4>;
    333	pinctrl-0 = <&pcie_clkreqnb_cpm>;
    334	pinctrl-names = "default";
    335	vpcie0v9-supply = <&vcca_0v9>;	/* VCC_0V9_S0 */
    336	vpcie1v8-supply = <&vcca_1v8>;	/* VCC_1V8_S0 */
    337	vpcie3v3-supply = <&vcc3v3_pcie>;
    338	status = "okay";
    339};
    340
    341&pinctrl {
    342	hym8563 {
    343		hym8563_int: hym8563-int {
    344			rockchip,pins = <4 RK_PD6 0 &pcfg_pull_up>;
    345		};
    346	};
    347
    348	pcie {
    349		pcie_pwr: pcie-pwr {
    350			rockchip,pins =	<4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
    351		};
    352	};
    353
    354	pmic {
    355		pmic_int_l: pmic-int-l {
    356			rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
    357		};
    358	};
    359
    360	sdio-pwrseq {
    361		wifi_enable_h: wifi-enable-h {
    362			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
    363		};
    364	};
    365
    366	vbus_host {
    367		usb1_en_oc: usb1-en-oc {
    368			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
    369		};
    370	};
    371
    372	vbus_typec {
    373		usb0_en_oc: usb0-en-oc {
    374			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
    375		};
    376	};
    377};
    378
    379&pmu_io_domains {
    380	status = "okay";
    381	pmu1830-supply = <&vcc_1v8>;
    382};
    383
    384&sdio_pwrseq {
    385	/*
    386	 * On the module itself this is one of these (depending
    387	 * on the actual card populated):
    388	 * - SDIO_RESET_L_WL_REG_ON
    389	 * - PDN (power down when low)
    390	 */
    391	reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
    392};
    393
    394&sdhci {
    395	bus-width = <8>;
    396	mmc-hs400-1_8v;
    397	mmc-hs400-enhanced-strobe;
    398	non-removable;
    399	status = "okay";
    400};
    401
    402&sdmmc {
    403	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
    404	max-frequency = <150000000>;
    405};
    406
    407&tcphy0 {
    408	status = "okay";
    409};
    410
    411&tsadc {
    412	rockchip,hw-tshut-mode = <1>;
    413	rockchip,hw-tshut-polarity = <1>;
    414	status = "okay";
    415};
    416
    417&u2phy0 {
    418	status = "okay";
    419
    420	u2phy0_otg: otg-port {
    421		phy-supply = <&vbus_typec>;
    422		status = "okay";
    423	};
    424
    425	u2phy0_host: host-port {
    426		phy-supply = <&vbus_host>;
    427		status = "okay";
    428	};
    429};
    430
    431
    432&u2phy1 {
    433	status = "okay";
    434
    435	u2phy1_host: host-port {
    436		phy-supply = <&vbus_host>;
    437		status = "okay";
    438	};
    439};
    440
    441&usb_host0_ehci {
    442	status = "okay";
    443};
    444
    445&usb_host0_ohci {
    446	status = "okay";
    447};
    448
    449&usb_host1_ehci {
    450	status = "okay";
    451};
    452
    453&usb_host1_ohci {
    454	status = "okay";
    455};
    456
    457&usbdrd3_0 {
    458	status = "okay";
    459};
    460
    461&usbdrd_dwc3_0 {
    462	status = "okay";
    463};
    464
    465&vbus_host {
    466	enable-active-high;
    467	gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
    468	pinctrl-names = "default";
    469	pinctrl-0 = <&usb1_en_oc>;
    470};
    471
    472&vbus_typec {
    473	enable-active-high;
    474	gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
    475	pinctrl-names = "default";
    476	pinctrl-0 = <&usb0_en_oc>;
    477};