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-quartz64-b.dts (13160B)


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