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

rk3288-tinker.dtsi (10930B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
      4 */
      5
      6#include "rk3288.dtsi"
      7#include <dt-bindings/input/input.h>
      8#include <dt-bindings/clock/rockchip,rk808.h>
      9
     10/ {
     11	chosen {
     12		stdout-path = "serial2:115200n8";
     13	};
     14
     15	memory {
     16		reg = <0x0 0x0 0x0 0x80000000>;
     17		device_type = "memory";
     18	};
     19
     20	ext_gmac: external-gmac-clock {
     21		compatible = "fixed-clock";
     22		#clock-cells = <0>;
     23		clock-frequency = <125000000>;
     24		clock-output-names = "ext_gmac";
     25	};
     26
     27	gpio-keys {
     28		compatible = "gpio-keys";
     29		#address-cells = <1>;
     30		#size-cells = <0>;
     31		autorepeat;
     32
     33		pinctrl-names = "default";
     34		pinctrl-0 = <&pwrbtn>;
     35
     36		button@0 {
     37			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
     38			linux,code = <KEY_POWER>;
     39			label = "GPIO Key Power";
     40			linux,input-type = <1>;
     41			wakeup-source;
     42			debounce-interval = <100>;
     43		};
     44	};
     45
     46	gpio-leds {
     47		compatible = "gpio-leds";
     48
     49		act_led: led-0 {
     50			gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
     51			linux,default-trigger = "mmc0";
     52		};
     53
     54		heartbeat_led: led-1 {
     55			gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
     56			linux,default-trigger = "heartbeat";
     57		};
     58
     59		pwr_led: led-2 {
     60			gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
     61			linux,default-trigger = "default-on";
     62		};
     63	};
     64
     65	sdio_pwrseq: sdio-pwrseq {
     66		compatible = "mmc-pwrseq-simple";
     67		clocks = <&rk808 RK808_CLKOUT1>;
     68		clock-names = "ext_clock";
     69		pinctrl-names = "default";
     70		pinctrl-0 = <&wifi_enable>;
     71		reset-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_LOW>,
     72			<&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
     73	};
     74
     75	sound {
     76		compatible = "simple-audio-card";
     77		simple-audio-card,format = "i2s";
     78		simple-audio-card,name = "rockchip,tinker-codec";
     79		simple-audio-card,mclk-fs = <512>;
     80
     81		simple-audio-card,codec {
     82			sound-dai = <&hdmi>;
     83		};
     84
     85		simple-audio-card,cpu {
     86			sound-dai = <&i2s>;
     87		};
     88	};
     89
     90	vcc_sys: vsys-regulator {
     91		compatible = "regulator-fixed";
     92		regulator-name = "vcc_sys";
     93		regulator-min-microvolt = <5000000>;
     94		regulator-max-microvolt = <5000000>;
     95		regulator-always-on;
     96		regulator-boot-on;
     97	};
     98
     99	vcc_sd: sdmmc-regulator {
    100		compatible = "regulator-fixed";
    101		gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
    102		pinctrl-names = "default";
    103		pinctrl-0 = <&sdmmc_pwr>;
    104		regulator-name = "vcc_sd";
    105		regulator-min-microvolt = <3300000>;
    106		regulator-max-microvolt = <3300000>;
    107		startup-delay-us = <100000>;
    108		vin-supply = <&vcc_io>;
    109	};
    110};
    111
    112&cpu0 {
    113	cpu0-supply = <&vdd_cpu>;
    114};
    115
    116&cpu_opp_table {
    117	opp-1704000000 {
    118		opp-hz = /bits/ 64 <1704000000>;
    119		opp-microvolt = <1350000>;
    120	};
    121	opp-1800000000 {
    122		opp-hz = /bits/ 64 <1800000000>;
    123		opp-microvolt = <1400000>;
    124	};
    125};
    126
    127&gmac {
    128	assigned-clocks = <&cru SCLK_MAC>;
    129	assigned-clock-parents = <&ext_gmac>;
    130	clock_in_out = "input";
    131	phy-mode = "rgmii";
    132	phy-supply = <&vcc33_lan>;
    133	pinctrl-names = "default";
    134	pinctrl-0 = <&rgmii_pins>;
    135	snps,reset-gpio = <&gpio4 7 0>;
    136	snps,reset-active-low;
    137	snps,reset-delays-us = <0 10000 1000000>;
    138	tx_delay = <0x30>;
    139	rx_delay = <0x10>;
    140	status = "okay";
    141};
    142
    143&gpu {
    144	mali-supply = <&vdd_gpu>;
    145	status = "okay";
    146};
    147
    148&hdmi {
    149	ddc-i2c-bus = <&i2c5>;
    150	status = "okay";
    151};
    152
    153&i2c0 {
    154	clock-frequency = <400000>;
    155	status = "okay";
    156
    157	rk808: pmic@1b {
    158		compatible = "rockchip,rk808";
    159		reg = <0x1b>;
    160		interrupt-parent = <&gpio0>;
    161		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
    162		#clock-cells = <1>;
    163		clock-output-names = "xin32k", "rk808-clkout2";
    164		dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
    165				<&gpio0 12 GPIO_ACTIVE_HIGH>;
    166		pinctrl-names = "default";
    167		pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>;
    168		rockchip,system-power-controller;
    169		wakeup-source;
    170
    171		vcc1-supply = <&vcc_sys>;
    172		vcc2-supply = <&vcc_sys>;
    173		vcc3-supply = <&vcc_sys>;
    174		vcc4-supply = <&vcc_sys>;
    175		vcc6-supply = <&vcc_sys>;
    176		vcc7-supply = <&vcc_sys>;
    177		vcc8-supply = <&vcc_io>;
    178		vcc9-supply = <&vcc_io>;
    179		vcc10-supply = <&vcc_io>;
    180		vcc11-supply = <&vcc_sys>;
    181		vcc12-supply = <&vcc_io>;
    182		vddio-supply = <&vcc_io>;
    183
    184		regulators {
    185			vdd_cpu: DCDC_REG1 {
    186				regulator-always-on;
    187				regulator-boot-on;
    188				regulator-min-microvolt = <750000>;
    189				regulator-max-microvolt = <1400000>;
    190				regulator-name = "vdd_arm";
    191				regulator-ramp-delay = <6000>;
    192				regulator-state-mem {
    193					regulator-off-in-suspend;
    194				};
    195			};
    196
    197			vdd_gpu: DCDC_REG2 {
    198				regulator-always-on;
    199				regulator-boot-on;
    200				regulator-min-microvolt = <850000>;
    201				regulator-max-microvolt = <1250000>;
    202				regulator-name = "vdd_gpu";
    203				regulator-ramp-delay = <6000>;
    204				regulator-state-mem {
    205					regulator-on-in-suspend;
    206					regulator-suspend-microvolt = <1000000>;
    207				};
    208			};
    209
    210			vcc_ddr: DCDC_REG3 {
    211				regulator-always-on;
    212				regulator-boot-on;
    213				regulator-name = "vcc_ddr";
    214				regulator-state-mem {
    215					regulator-on-in-suspend;
    216				};
    217			};
    218
    219			vcc_io: DCDC_REG4 {
    220				regulator-always-on;
    221				regulator-boot-on;
    222				regulator-min-microvolt = <3300000>;
    223				regulator-max-microvolt = <3300000>;
    224				regulator-name = "vcc_io";
    225				regulator-state-mem {
    226					regulator-on-in-suspend;
    227					regulator-suspend-microvolt = <3300000>;
    228				};
    229			};
    230
    231			vcc18_ldo1: LDO_REG1 {
    232				regulator-always-on;
    233				regulator-boot-on;
    234				regulator-min-microvolt = <1800000>;
    235				regulator-max-microvolt = <1800000>;
    236				regulator-name = "vcc18_ldo1";
    237				regulator-state-mem {
    238					regulator-on-in-suspend;
    239					regulator-suspend-microvolt = <1800000>;
    240				};
    241			};
    242
    243			vcc33_mipi: LDO_REG2 {
    244				regulator-always-on;
    245				regulator-boot-on;
    246				regulator-min-microvolt = <3300000>;
    247				regulator-max-microvolt = <3300000>;
    248				regulator-name = "vcc33_mipi";
    249				regulator-state-mem {
    250					regulator-off-in-suspend;
    251				};
    252			};
    253
    254			vdd_10: LDO_REG3 {
    255				regulator-always-on;
    256				regulator-boot-on;
    257				regulator-min-microvolt = <1000000>;
    258				regulator-max-microvolt = <1000000>;
    259				regulator-name = "vdd_10";
    260				regulator-state-mem {
    261					regulator-on-in-suspend;
    262					regulator-suspend-microvolt = <1000000>;
    263				};
    264			};
    265
    266			vcc18_codec: LDO_REG4 {
    267				regulator-always-on;
    268				regulator-boot-on;
    269				regulator-min-microvolt = <1800000>;
    270				regulator-max-microvolt = <1800000>;
    271				regulator-name = "vcc18_codec";
    272				regulator-state-mem {
    273					regulator-on-in-suspend;
    274					regulator-suspend-microvolt = <1800000>;
    275				};
    276			};
    277
    278			vccio_sd: LDO_REG5 {
    279				regulator-always-on;
    280				regulator-boot-on;
    281				regulator-min-microvolt = <1800000>;
    282				regulator-max-microvolt = <3300000>;
    283				regulator-name = "vccio_sd";
    284				regulator-state-mem {
    285					regulator-on-in-suspend;
    286					regulator-suspend-microvolt = <3300000>;
    287				};
    288			};
    289
    290			vdd10_lcd: LDO_REG6 {
    291				regulator-always-on;
    292				regulator-boot-on;
    293				regulator-min-microvolt = <1000000>;
    294				regulator-max-microvolt = <1000000>;
    295				regulator-name = "vdd10_lcd";
    296				regulator-state-mem {
    297					regulator-on-in-suspend;
    298					regulator-suspend-microvolt = <1000000>;
    299				};
    300			};
    301
    302			vcc_18: LDO_REG7 {
    303				regulator-always-on;
    304				regulator-boot-on;
    305				regulator-min-microvolt = <1800000>;
    306				regulator-max-microvolt = <1800000>;
    307				regulator-name = "vcc_18";
    308				regulator-state-mem {
    309					regulator-on-in-suspend;
    310					regulator-suspend-microvolt = <1800000>;
    311				};
    312			};
    313
    314			vcc18_lcd: LDO_REG8 {
    315				regulator-always-on;
    316				regulator-boot-on;
    317				regulator-min-microvolt = <1800000>;
    318				regulator-max-microvolt = <1800000>;
    319				regulator-name = "vcc18_lcd";
    320				regulator-state-mem {
    321					regulator-on-in-suspend;
    322					regulator-suspend-microvolt = <1800000>;
    323				};
    324			};
    325
    326			vcc33_sd: SWITCH_REG1 {
    327				regulator-always-on;
    328				regulator-boot-on;
    329				regulator-name = "vcc33_sd";
    330				regulator-state-mem {
    331					regulator-on-in-suspend;
    332				};
    333			};
    334
    335			vcc33_lan: SWITCH_REG2 {
    336				regulator-always-on;
    337				regulator-boot-on;
    338				regulator-name = "vcc33_lan";
    339				regulator-state-mem {
    340					regulator-on-in-suspend;
    341				};
    342			};
    343		};
    344	};
    345};
    346
    347&i2c2 {
    348	status = "okay";
    349};
    350
    351&i2c5 {
    352	status = "okay";
    353};
    354
    355&i2s {
    356	#sound-dai-cells = <0>;
    357	status = "okay";
    358};
    359
    360&io_domains {
    361	status = "okay";
    362
    363	sdcard-supply = <&vccio_sd>;
    364	wifi-supply = <&vcc_18>;
    365};
    366
    367&pinctrl {
    368	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
    369		drive-strength = <8>;
    370	};
    371
    372	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
    373		bias-pull-up;
    374		drive-strength = <8>;
    375	};
    376
    377	backlight {
    378		bl_en: bl-en {
    379			rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
    380		};
    381	};
    382
    383	buttons {
    384		pwrbtn: pwrbtn {
    385			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
    386		};
    387	};
    388
    389	eth_phy {
    390		eth_phy_pwr: eth-phy-pwr {
    391			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
    392		};
    393	};
    394
    395	pmic {
    396		pmic_int: pmic-int {
    397			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
    398		};
    399
    400		dvs_1: dvs-1 {
    401			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
    402		};
    403
    404		dvs_2: dvs-2 {
    405			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
    406		};
    407	};
    408
    409	sdmmc {
    410		sdmmc_bus4: sdmmc-bus4 {
    411			rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
    412					<6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
    413					<6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
    414					<6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
    415		};
    416
    417		sdmmc_clk: sdmmc-clk {
    418			rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
    419		};
    420
    421		sdmmc_cmd: sdmmc-cmd {
    422			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
    423		};
    424
    425		sdmmc_pwr: sdmmc-pwr {
    426			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
    427		};
    428	};
    429
    430	usb {
    431		host_vbus_drv: host-vbus-drv {
    432			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
    433		};
    434
    435		pwr_3g: pwr-3g {
    436			rockchip,pins = <7 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
    437		};
    438	};
    439
    440	sdio {
    441		wifi_enable: wifi-enable {
    442			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>,
    443					<4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
    444		};
    445	};
    446};
    447
    448&pwm0 {
    449	status = "okay";
    450};
    451
    452&saradc {
    453	vref-supply = <&vcc18_ldo1>;
    454	status = "okay";
    455};
    456
    457&sdmmc {
    458	bus-width = <4>;
    459	cap-mmc-highspeed;
    460	cap-sd-highspeed;
    461	broken-cd;
    462	disable-wp;			/* wp not hooked up */
    463	pinctrl-names = "default";
    464	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
    465	status = "okay";
    466	vmmc-supply = <&vcc33_sd>;
    467	vqmmc-supply = <&vccio_sd>;
    468};
    469
    470&sdio0 {
    471	bus-width = <4>;
    472	cap-sd-highspeed;
    473	cap-sdio-irq;
    474	keep-power-in-suspend;
    475	max-frequency = <50000000>;
    476	mmc-pwrseq = <&sdio_pwrseq>;
    477	non-removable;
    478	pinctrl-names = "default";
    479	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
    480	sd-uhs-sdr12;
    481	sd-uhs-sdr25;
    482	sd-uhs-sdr50;
    483	vmmc-supply = <&vcc_io>;
    484	vqmmc-supply = <&vcc_18>;
    485	status = "okay";
    486};
    487
    488&tsadc {
    489	rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
    490	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
    491	status = "okay";
    492};
    493
    494&uart0 {
    495	status = "okay";
    496};
    497
    498&uart1 {
    499	status = "okay";
    500};
    501
    502&uart2 {
    503	status = "okay";
    504};
    505
    506&uart3 {
    507	status = "okay";
    508};
    509
    510&uart4 {
    511	status = "okay";
    512};
    513
    514&usbphy {
    515	status = "okay";
    516};
    517
    518&usb_host0_ehci {
    519	status = "okay";
    520};
    521
    522&usb_host1 {
    523	status = "okay";
    524};
    525
    526&usb_otg {
    527	status = "okay";
    528};
    529
    530&vopb {
    531	status = "okay";
    532};
    533
    534&vopb_mmu {
    535	status = "okay";
    536};
    537
    538&vopl {
    539	status = "okay";
    540};
    541
    542&vopl_mmu {
    543	status = "okay";
    544};
    545
    546&wdt {
    547	status = "okay";
    548};