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

rk3566-roc-pc.dts (12378B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2
      3/dts-v1/;
      4
      5#include <dt-bindings/gpio/gpio.h>
      6#include <dt-bindings/pinctrl/rockchip.h>
      7#include "rk3566.dtsi"
      8
      9/ {
     10	model = "Firefly Station M2";
     11	compatible = "firefly,rk3566-roc-pc", "rockchip,rk3566";
     12
     13	aliases {
     14		mmc0 = &sdmmc0;
     15		mmc1 = &sdhci;
     16		mmc2 = &sdmmc1;
     17	};
     18
     19	chosen: chosen {
     20		stdout-path = "serial2:1500000n8";
     21	};
     22
     23	gmac1_clkin: external-gmac1-clock {
     24		compatible = "fixed-clock";
     25		clock-frequency = <125000000>;
     26		clock-output-names = "gmac1_clkin";
     27		#clock-cells = <0>;
     28	};
     29
     30	leds {
     31		compatible = "gpio-leds";
     32
     33		led-user {
     34			label = "user-led";
     35			default-state = "on";
     36			gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
     37			linux,default-trigger = "heartbeat";
     38			pinctrl-names = "default";
     39			pinctrl-0 = <&user_led_enable_h>;
     40			retain-state-suspended;
     41		};
     42	};
     43
     44	sdio_pwrseq: sdio-pwrseq {
     45		status = "okay";
     46		compatible = "mmc-pwrseq-simple";
     47		clocks = <&rk809 1>;
     48		clock-names = "ext_clock";
     49		pinctrl-names = "default";
     50		pinctrl-0 = <&wifi_enable_h>;
     51		reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
     52	};
     53
     54	usb_5v: usb-5v-regulator {
     55		compatible = "regulator-fixed";
     56		regulator-name = "usb_5v";
     57		regulator-always-on;
     58		regulator-boot-on;
     59		regulator-min-microvolt = <5000000>;
     60		regulator-max-microvolt = <5000000>;
     61	};
     62
     63	vcc5v0_sys: vcc5v0-sys-regulator {
     64		compatible = "regulator-fixed";
     65		regulator-name = "vcc5v0_sys";
     66		regulator-always-on;
     67		regulator-boot-on;
     68		regulator-min-microvolt = <5000000>;
     69		regulator-max-microvolt = <5000000>;
     70		vin-supply = <&usb_5v>;
     71	};
     72
     73	vcc3v3_sys: vcc3v3-sys-regulator {
     74		compatible = "regulator-fixed";
     75		regulator-name = "vcc3v3_sys";
     76		regulator-min-microvolt = <3300000>;
     77		regulator-max-microvolt = <3300000>;
     78		regulator-always-on;
     79		vin-supply = <&vcc5v0_sys>;
     80	};
     81
     82	vcc5v0_usb30_host: vcc5v0-usb30-host-regulator {
     83		compatible = "regulator-fixed";
     84		regulator-name = "vcc5v0_usb30_host";
     85		enable-active-high;
     86		gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
     87		pinctrl-names = "default";
     88		pinctrl-0 = <&vcc5v0_usb30_host_en_h>;
     89		regulator-always-on;
     90		regulator-min-microvolt = <5000000>;
     91		regulator-max-microvolt = <5000000>;
     92		vin-supply = <&vcc5v0_sys>;
     93	};
     94
     95	vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
     96		compatible = "regulator-fixed";
     97		regulator-name = "vcc5v0_usb_otg";
     98		enable-active-high;
     99		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
    100		pinctrl-names = "default";
    101		pinctrl-0 = <&vcc5v0_usb_otg_en_h>;
    102		regulator-always-on;
    103		regulator-min-microvolt = <5000000>;
    104		regulator-max-microvolt = <5000000>;
    105		vin-supply = <&vcc5v0_sys>;
    106	};
    107};
    108
    109&combphy1 {
    110	status = "okay";
    111};
    112
    113&cpu0 {
    114	cpu-supply = <&vdd_cpu>;
    115};
    116
    117&cpu1 {
    118	cpu-supply = <&vdd_cpu>;
    119};
    120
    121&cpu2 {
    122	cpu-supply = <&vdd_cpu>;
    123};
    124
    125&cpu3 {
    126	cpu-supply = <&vdd_cpu>;
    127};
    128
    129&gmac1 {
    130	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
    131	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
    132	clock_in_out = "input";
    133	phy-mode = "rgmii-id";
    134	phy-supply = <&vcc_3v3>;
    135	pinctrl-names = "default";
    136	pinctrl-0 = <&gmac1m0_miim
    137		     &gmac1m0_tx_bus2
    138		     &gmac1m0_rx_bus2
    139		     &gmac1m0_rgmii_clk
    140		     &gmac1m0_clkinout
    141		     &gmac1m0_rgmii_bus>;
    142	snps,reset-gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
    143	snps,reset-active-low;
    144	/* Reset time is 20ms, 100ms for rtl8211f */
    145	snps,reset-delays-us = <0 20000 100000>;
    146	tx_delay = <0x4f>;
    147	rx_delay = <0x24>;
    148	phy-handle = <&rgmii_phy1>;
    149	status = "okay";
    150};
    151
    152&i2c0 {
    153	status = "okay";
    154
    155	vdd_cpu: regulator@1c {
    156		compatible = "tcs,tcs4525";
    157		reg = <0x1c>;
    158		fcs,suspend-voltage-selector = <1>;
    159		regulator-name = "vdd_cpu";
    160		regulator-min-microvolt = <800000>;
    161		regulator-max-microvolt = <1150000>;
    162		regulator-ramp-delay = <2300>;
    163		regulator-always-on;
    164		regulator-boot-on;
    165		vin-supply = <&vcc5v0_sys>;
    166
    167		regulator-state-mem {
    168			regulator-off-in-suspend;
    169		};
    170	};
    171
    172	rk809: pmic@20 {
    173		compatible = "rockchip,rk809";
    174		reg = <0x20>;
    175		interrupt-parent = <&gpio0>;
    176		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
    177		clock-output-names = "rk808-clkout1", "rk808-clkout2";
    178
    179		pinctrl-names = "default";
    180		pinctrl-0 = <&pmic_int>;
    181		rockchip,system-power-controller;
    182		wakeup-source;
    183		#clock-cells = <1>;
    184
    185		vcc1-supply = <&vcc3v3_sys>;
    186		vcc2-supply = <&vcc3v3_sys>;
    187		vcc3-supply = <&vcc3v3_sys>;
    188		vcc4-supply = <&vcc3v3_sys>;
    189		vcc5-supply = <&vcc3v3_sys>;
    190		vcc6-supply = <&vcc3v3_sys>;
    191		vcc7-supply = <&vcc3v3_sys>;
    192		vcc8-supply = <&vcc3v3_sys>;
    193		vcc9-supply = <&vcc3v3_sys>;
    194
    195		regulators {
    196			vdd_log: DCDC_REG1 {
    197				regulator-name = "vdd_log";
    198				regulator-always-on;
    199				regulator-boot-on;
    200				regulator-min-microvolt = <500000>;
    201				regulator-max-microvolt = <1350000>;
    202				regulator-init-microvolt = <900000>;
    203				regulator-ramp-delay = <6001>;
    204
    205				regulator-state-mem {
    206					regulator-on-in-suspend;
    207					regulator-suspend-microvolt = <900000>;
    208				};
    209			};
    210
    211			vdd_gpu: DCDC_REG2 {
    212				regulator-name = "vdd_gpu";
    213				regulator-min-microvolt = <900000>;
    214				regulator-max-microvolt = <1350000>;
    215				regulator-init-microvolt = <900000>;
    216				regulator-ramp-delay = <6001>;
    217
    218				regulator-state-mem {
    219					regulator-off-in-suspend;
    220					regulator-suspend-microvolt = <900000>;
    221				};
    222			};
    223
    224			vcc_ddr: DCDC_REG3 {
    225				regulator-name = "vcc_ddr";
    226				regulator-always-on;
    227				regulator-boot-on;
    228				regulator-min-microvolt = <1100000>;
    229				regulator-max-microvolt = <1100000>;
    230				regulator-initial-mode = <0x2>;
    231				regulator-state-mem {
    232					regulator-on-in-suspend;
    233				};
    234			};
    235
    236			vdd_npu: DCDC_REG4 {
    237				regulator-name = "vdd_npu";
    238				regulator-min-microvolt = <900000>;
    239				regulator-max-microvolt = <1350000>;
    240				regulator-initial-mode = <0x2>;
    241				regulator-state-mem {
    242					regulator-off-in-suspend;
    243				};
    244			};
    245
    246			vcc_1v8: DCDC_REG5 {
    247				regulator-name = "vcc_1v8";
    248				regulator-always-on;
    249				regulator-boot-on;
    250				regulator-min-microvolt = <1800000>;
    251				regulator-max-microvolt = <1800000>;
    252
    253				regulator-state-mem {
    254					regulator-on-in-suspend;
    255					regulator-suspend-microvolt = <1800000>;
    256				};
    257			};
    258
    259			vdda0v9_image: LDO_REG1 {
    260				regulator-name = "vdda0v9_image";
    261				regulator-always-on;
    262				regulator-boot-on;
    263				regulator-min-microvolt = <900000>;
    264				regulator-max-microvolt = <900000>;
    265
    266				regulator-state-mem {
    267					regulator-on-in-suspend;
    268					regulator-suspend-microvolt = <900000>;
    269				};
    270			};
    271
    272			vdda_0v9: LDO_REG2 {
    273				regulator-name = "vdda_0v9";
    274				regulator-always-on;
    275				regulator-boot-on;
    276				regulator-min-microvolt = <900000>;
    277				regulator-max-microvolt = <900000>;
    278
    279				regulator-state-mem {
    280					regulator-on-in-suspend;
    281					regulator-suspend-microvolt = <900000>;
    282				};
    283			};
    284
    285			vdda0v9_pmu: LDO_REG3 {
    286				regulator-name = "vdda0v9_pmu";
    287				regulator-always-on;
    288				regulator-boot-on;
    289				regulator-min-microvolt = <900000>;
    290				regulator-max-microvolt = <900000>;
    291				regulator-state-mem {
    292					regulator-on-in-suspend;
    293					regulator-suspend-microvolt = <900000>;
    294				};
    295			};
    296
    297			vccio_acodec: LDO_REG4 {
    298				regulator-name = "vccio_acodec";
    299				regulator-always-on;
    300				regulator-boot-on;
    301				regulator-min-microvolt = <3300000>;
    302				regulator-max-microvolt = <3300000>;
    303
    304				regulator-state-mem {
    305					regulator-on-in-suspend;
    306					regulator-suspend-microvolt = <3300000>;
    307
    308				};
    309			};
    310
    311			vccio_sd: LDO_REG5 {
    312				regulator-name = "vccio_sd";
    313				regulator-always-on;
    314				regulator-boot-on;
    315				regulator-min-microvolt = <1800000>;
    316				regulator-max-microvolt = <3300000>;
    317
    318				regulator-state-mem {
    319					regulator-on-in-suspend;
    320					regulator-suspend-microvolt = <3300000>;
    321				};
    322			};
    323
    324			vcc3v3_pmu: LDO_REG6 {
    325				regulator-name = "vcc3v3_pmu";
    326				regulator-always-on;
    327				regulator-boot-on;
    328				regulator-min-microvolt = <3300000>;
    329				regulator-max-microvolt = <3300000>;
    330
    331				regulator-state-mem {
    332					regulator-on-in-suspend;
    333					regulator-suspend-microvolt = <3300000>;
    334				};
    335			};
    336
    337			vcca_1v8: LDO_REG7 {
    338				regulator-name = "vcca_1v8";
    339				regulator-always-on;
    340				regulator-boot-on;
    341				regulator-min-microvolt = <1800000>;
    342				regulator-max-microvolt = <1800000>;
    343
    344				regulator-state-mem {
    345					regulator-on-in-suspend;
    346					regulator-suspend-microvolt = <1800000>;
    347				};
    348			};
    349
    350			vcca1v8_pmu: LDO_REG8 {
    351				regulator-name = "vcca1v8_pmu";
    352				regulator-always-on;
    353				regulator-boot-on;
    354				regulator-min-microvolt = <1800000>;
    355				regulator-max-microvolt = <1800000>;
    356
    357				regulator-state-mem {
    358					regulator-on-in-suspend;
    359					regulator-suspend-microvolt = <1800000>;
    360				};
    361			};
    362
    363			vcca1v8_image: LDO_REG9 {
    364				regulator-name = "vcca1v8_image";
    365				regulator-always-on;
    366				regulator-boot-on;
    367				regulator-min-microvolt = <1800000>;
    368				regulator-max-microvolt = <1800000>;
    369
    370				regulator-state-mem {
    371					regulator-on-in-suspend;
    372					regulator-suspend-microvolt = <1800000>;
    373				};
    374			};
    375
    376			vcc_3v3: SWITCH_REG1 {
    377				regulator-boot-on;
    378				regulator-name = "vcc3v3";
    379			};
    380
    381			vcc3v3_sd: SWITCH_REG2 {
    382				regulator-name = "vcc3v3_sd";
    383				regulator-always-on;
    384				regulator-boot-on;
    385			};
    386		};
    387	};
    388};
    389
    390&i2c1 {
    391	status = "okay";
    392};
    393
    394&i2c2 {
    395	status = "okay";
    396};
    397
    398&i2c3 {
    399	pinctrl-names = "default";
    400	pinctrl-0 = <&i2c3m1_xfer>;
    401	status = "okay";
    402};
    403
    404&i2c5 {
    405	status = "okay";
    406};
    407
    408&mdio1 {
    409	rgmii_phy1: ethernet-phy@0 {
    410		compatible = "ethernet-phy-ieee802.3-c22";
    411		reg = <0x0>;
    412	};
    413};
    414
    415&pinctrl {
    416	bt {
    417		bt_enable_h: bt-enable-h {
    418			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
    419		};
    420
    421		bt_host_wake_l: bt-host-wake-l {
    422			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
    423		};
    424
    425		bt_wake_l: bt-wake-l {
    426			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
    427		};
    428	};
    429
    430	leds {
    431		user_led_enable_h: user-led-enable-h {
    432			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
    433		};
    434	};
    435
    436	pmic {
    437		pmic_int: pmic_int {
    438			rockchip,pins =
    439				<0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
    440		};
    441	};
    442
    443	sdio-pwrseq {
    444		wifi_enable_h: wifi-enable-h {
    445			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
    446		};
    447	};
    448
    449	usb {
    450		vcc5v0_usb30_host_en_h: vcc5v0-usb30-host-en_h {
    451			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
    452		};
    453
    454		vcc5v0_usb_otg_en_h: vcc5v0-usb-otg-en_h {
    455			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
    456		};
    457	};
    458};
    459
    460&pmu_io_domains {
    461	status = "okay";
    462	pmuio1-supply = <&vcc3v3_pmu>;
    463	pmuio2-supply = <&vcc3v3_pmu>;
    464	vccio1-supply = <&vccio_acodec>;
    465	vccio2-supply = <&vcc_1v8>;
    466	vccio3-supply = <&vccio_sd>;
    467	vccio4-supply = <&vcc_1v8>;
    468	vccio5-supply = <&vcc_3v3>;
    469	vccio6-supply = <&vcc_1v8>;
    470	vccio7-supply = <&vcc_3v3>;
    471};
    472
    473&sdhci {
    474	bus-width = <8>;
    475	mmc-hs200-1_8v;
    476	non-removable;
    477	vmmc-supply = <&vcc_3v3>;
    478	vqmmc-supply = <&vcc_1v8>;
    479	status = "okay";
    480};
    481
    482&sdmmc0 {
    483	bus-width = <4>;
    484	cap-sd-highspeed;
    485	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
    486	disable-wp;
    487	pinctrl-names = "default";
    488	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
    489	sd-uhs-sdr104;
    490	vmmc-supply = <&vcc3v3_sd>;
    491	vqmmc-supply = <&vccio_sd>;
    492	status = "okay";
    493};
    494
    495&sdmmc1 {
    496	bus-width = <4>;
    497	cap-sd-highspeed;
    498	cap-sdio-irq;
    499	keep-power-in-suspend;
    500	mmc-pwrseq = <&sdio_pwrseq>;
    501	vmmc-supply = <&vcc3v3_sys>;
    502	vqmmc-supply = <&vcca1v8_pmu>;
    503	pinctrl-names = "default";
    504	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
    505	status = "okay";
    506};
    507
    508&tsadc {
    509	status = "okay";
    510};
    511
    512&uart0 {
    513	pinctrl-names = "default";
    514	pinctrl-0 = <&uart0_xfer>;
    515	status = "okay";
    516};
    517
    518&uart1 {
    519	pinctrl-names = "default";
    520	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
    521	status = "okay";
    522	uart-has-rtscts;
    523
    524	bluetooth {
    525		compatible = "brcm,bcm43438-bt";
    526		clocks = <&rk809 1>;
    527		clock-names = "lpo";
    528		device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
    529		host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
    530		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
    531		pinctrl-names = "default";
    532		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
    533		vbat-supply = <&vcc3v3_sys>;
    534		vddio-supply = <&vcca1v8_pmu>;
    535	};
    536};
    537
    538&uart2 {
    539	status = "okay";
    540};
    541
    542&usb2phy0_host {
    543	phy-supply = <&vcc5v0_usb30_host>;
    544	status = "okay";
    545};
    546
    547&usb2phy0_otg {
    548	phy-supply = <&vcc5v0_usb_otg>;
    549	status = "okay";
    550};
    551
    552&usb2phy1_otg {
    553	phy-supply = <&vcc5v0_usb30_host>;
    554	status = "okay";
    555};
    556
    557&usb2phy0 {
    558	status = "okay";
    559};
    560
    561&usb2phy1 {
    562	status = "okay";
    563};
    564
    565&usb_host0_xhci {
    566	status = "okay";
    567};
    568
    569&usb_host1_xhci {
    570	status = "okay";
    571};
    572
    573&usb_host0_ehci {
    574	status = "okay";
    575};
    576
    577&usb_host0_ohci {
    578	status = "okay";
    579};