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-firefly.dtsi (11781B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com>
      4 */
      5
      6#include <dt-bindings/input/input.h>
      7#include "rk3288.dtsi"
      8
      9/ {
     10	memory@0 {
     11		device_type = "memory";
     12		reg = <0x0 0x0 0x0 0x80000000>;
     13	};
     14
     15	adc-keys {
     16		compatible = "adc-keys";
     17		io-channels = <&saradc 1>;
     18		io-channel-names = "buttons";
     19		keyup-threshold-microvolt = <1800000>;
     20
     21		button-recovery {
     22			label = "Recovery";
     23			linux,code = <KEY_VENDOR>;
     24			press-threshold-microvolt = <0>;
     25		};
     26	};
     27
     28	dovdd_1v8: dovdd-1v8-regulator {
     29		compatible = "regulator-fixed";
     30		regulator-name = "dovdd_1v8";
     31		regulator-min-microvolt = <1800000>;
     32		regulator-max-microvolt = <1800000>;
     33		vin-supply = <&vcc28_dvp>;
     34	};
     35
     36	ext_gmac: external-gmac-clock {
     37		compatible = "fixed-clock";
     38		#clock-cells = <0>;
     39		clock-frequency = <125000000>;
     40		clock-output-names = "ext_gmac";
     41	};
     42
     43	ir: ir-receiver {
     44		compatible = "gpio-ir-receiver";
     45		pinctrl-names = "default";
     46		pinctrl-0 = <&ir_int>;
     47	};
     48
     49	keys: gpio-keys {
     50		compatible = "gpio-keys";
     51
     52		power {
     53			wakeup-source;
     54			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
     55			label = "GPIO Power";
     56			linux,code = <KEY_POWER>;
     57			pinctrl-names = "default";
     58			pinctrl-0 = <&pwr_key>;
     59		};
     60	};
     61
     62	leds {
     63		compatible = "gpio-leds";
     64
     65		work_led: led-0 {
     66			gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>;
     67			label = "firefly:blue:user";
     68			linux,default-trigger = "rc-feedback";
     69			pinctrl-names = "default";
     70			pinctrl-0 = <&work_led_pin>;
     71		};
     72
     73		power_led: led-1 {
     74			gpios = <&gpio8 RK_PA2 GPIO_ACTIVE_LOW>;
     75			label = "firefly:green:power";
     76			linux,default-trigger = "default-on";
     77			pinctrl-names = "default";
     78			pinctrl-0 = <&power_led_pin>;
     79		};
     80	};
     81
     82	vbat_wl: vcc_sys: vsys-regulator {
     83		compatible = "regulator-fixed";
     84		regulator-name = "vcc_sys";
     85		regulator-min-microvolt = <5000000>;
     86		regulator-max-microvolt = <5000000>;
     87		regulator-always-on;
     88		regulator-boot-on;
     89	};
     90
     91	vcc_sd: sdmmc-regulator {
     92		compatible = "regulator-fixed";
     93		gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
     94		pinctrl-names = "default";
     95		pinctrl-0 = <&sdmmc_pwr>;
     96		regulator-name = "vcc_sd";
     97		regulator-min-microvolt = <3300000>;
     98		regulator-max-microvolt = <3300000>;
     99		startup-delay-us = <100000>;
    100		vin-supply = <&vcc_io>;
    101	};
    102
    103	vcc_flash: flash-regulator {
    104		compatible = "regulator-fixed";
    105		regulator-name = "vcc_flash";
    106		regulator-min-microvolt = <1800000>;
    107		regulator-max-microvolt = <1800000>;
    108		vin-supply = <&vcc_io>;
    109	};
    110
    111	vcc_5v: usb-regulator {
    112		compatible = "regulator-fixed";
    113		regulator-name = "vcc_5v";
    114		regulator-min-microvolt = <5000000>;
    115		regulator-max-microvolt = <5000000>;
    116		regulator-always-on;
    117		regulator-boot-on;
    118		vin-supply = <&vcc_sys>;
    119	};
    120
    121	vcc_host_5v: usb-host-regulator {
    122		compatible = "regulator-fixed";
    123		enable-active-high;
    124		gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
    125		pinctrl-names = "default";
    126		pinctrl-0 = <&host_vbus_drv>;
    127		regulator-name = "vcc_host_5v";
    128		regulator-min-microvolt = <5000000>;
    129		regulator-max-microvolt = <5000000>;
    130		regulator-always-on;
    131		vin-supply = <&vcc_5v>;
    132	};
    133
    134	vcc_otg_5v: usb-otg-regulator {
    135		compatible = "regulator-fixed";
    136		enable-active-high;
    137		gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
    138		pinctrl-names = "default";
    139		pinctrl-0 = <&otg_vbus_drv>;
    140		regulator-name = "vcc_otg_5v";
    141		regulator-min-microvolt = <5000000>;
    142		regulator-max-microvolt = <5000000>;
    143		regulator-always-on;
    144		vin-supply = <&vcc_5v>;
    145	};
    146
    147	/*
    148	 * A TT8142 creates both dovdd_1v8 and vcc28_dvp, controlled
    149	 * by the dvp_pwr pin.
    150	 */
    151	vcc28_dvp: vcc28-dvp-regulator {
    152		compatible = "regulator-fixed";
    153		enable-active-high;
    154		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
    155		pinctrl-names = "default";
    156		pinctrl-0 = <&dvp_pwr>;
    157		regulator-name = "vcc28_dvp";
    158		regulator-min-microvolt = <2800000>;
    159		regulator-max-microvolt = <2800000>;
    160		regulator-always-on;
    161		vin-supply = <&vcc_io>;
    162	};
    163};
    164
    165&cpu0 {
    166	cpu0-supply = <&vdd_cpu>;
    167};
    168
    169&emmc {
    170	bus-width = <8>;
    171	cap-mmc-highspeed;
    172	disable-wp;
    173	non-removable;
    174	pinctrl-names = "default";
    175	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
    176	vmmc-supply = <&vcc_io>;
    177	vqmmc-supply = <&vcc_flash>;
    178	status = "okay";
    179};
    180
    181&gmac {
    182	assigned-clocks = <&cru SCLK_MAC>;
    183	assigned-clock-parents = <&ext_gmac>;
    184	clock_in_out = "input";
    185	pinctrl-names = "default";
    186	pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
    187	phy-supply = <&vcc_lan>;
    188	phy-mode = "rgmii";
    189	snps,reset-active-low;
    190	snps,reset-delays-us = <0 10000 1000000>;
    191	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
    192	tx_delay = <0x30>;
    193	rx_delay = <0x10>;
    194	status = "okay";
    195};
    196
    197&gpu {
    198	mali-supply = <&vdd_gpu>;
    199	status = "okay";
    200};
    201
    202&hdmi {
    203	ddc-i2c-bus = <&i2c5>;
    204	status = "okay";
    205};
    206
    207&i2c0 {
    208	clock-frequency = <400000>;
    209	status = "okay";
    210
    211	vdd_cpu: syr827@40 {
    212		compatible = "silergy,syr827";
    213		fcs,suspend-voltage-selector = <1>;
    214		reg = <0x40>;
    215		regulator-name = "vdd_cpu";
    216		regulator-min-microvolt = <850000>;
    217		regulator-max-microvolt = <1350000>;
    218		regulator-always-on;
    219		regulator-boot-on;
    220		regulator-enable-ramp-delay = <300>;
    221		regulator-ramp-delay = <8000>;
    222		vin-supply = <&vcc_sys>;
    223	};
    224
    225	vdd_gpu: syr828@41 {
    226		compatible = "silergy,syr828";
    227		fcs,suspend-voltage-selector = <1>;
    228		reg = <0x41>;
    229		regulator-name = "vdd_gpu";
    230		regulator-min-microvolt = <850000>;
    231		regulator-max-microvolt = <1350000>;
    232		regulator-always-on;
    233		vin-supply = <&vcc_sys>;
    234	};
    235
    236	hym8563: hym8563@51 {
    237		compatible = "haoyu,hym8563";
    238		reg = <0x51>;
    239		#clock-cells = <0>;
    240		clock-frequency = <32768>;
    241		clock-output-names = "xin32k";
    242		interrupt-parent = <&gpio7>;
    243		interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
    244		pinctrl-names = "default";
    245		pinctrl-0 = <&rtc_int>;
    246	};
    247
    248	act8846: act8846@5a {
    249		compatible = "active-semi,act8846";
    250		reg = <0x5a>;
    251		pinctrl-names = "default";
    252		pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
    253		system-power-controller;
    254
    255		vp1-supply = <&vcc_sys>;
    256		vp2-supply = <&vcc_sys>;
    257		vp3-supply = <&vcc_sys>;
    258		vp4-supply = <&vcc_sys>;
    259		inl1-supply = <&vcc_sys>;
    260		inl2-supply = <&vcc_sys>;
    261		inl3-supply = <&vcc_20>;
    262
    263		regulators {
    264			vcc_ddr: REG1 {
    265				regulator-name = "vcc_ddr";
    266				regulator-min-microvolt = <1200000>;
    267				regulator-max-microvolt = <1200000>;
    268				regulator-always-on;
    269			};
    270
    271			vcc_io: REG2 {
    272				regulator-name = "vcc_io";
    273				regulator-min-microvolt = <3300000>;
    274				regulator-max-microvolt = <3300000>;
    275				regulator-always-on;
    276			};
    277
    278			vdd_log: REG3 {
    279				regulator-name = "vdd_log";
    280				regulator-min-microvolt = <1100000>;
    281				regulator-max-microvolt = <1100000>;
    282				regulator-always-on;
    283			};
    284
    285			vcc_20: REG4 {
    286				regulator-name = "vcc_20";
    287				regulator-min-microvolt = <2000000>;
    288				regulator-max-microvolt = <2000000>;
    289				regulator-always-on;
    290			};
    291
    292			vccio_sd: REG5 {
    293				regulator-name = "vccio_sd";
    294				regulator-min-microvolt = <3300000>;
    295				regulator-max-microvolt = <3300000>;
    296				regulator-always-on;
    297			};
    298
    299			vdd10_lcd: REG6 {
    300				regulator-name = "vdd10_lcd";
    301				regulator-min-microvolt = <1000000>;
    302				regulator-max-microvolt = <1000000>;
    303				regulator-always-on;
    304			};
    305
    306			vcca_18: REG7 {
    307				regulator-name = "vcca_18";
    308				regulator-min-microvolt = <1800000>;
    309				regulator-max-microvolt = <1800000>;
    310			};
    311
    312			vcca_33: REG8 {
    313				regulator-name = "vcca_33";
    314				regulator-min-microvolt = <3300000>;
    315				regulator-max-microvolt = <3300000>;
    316			};
    317
    318			vcc_lan: REG9 {
    319				regulator-name = "vcc_lan";
    320				regulator-min-microvolt = <3300000>;
    321				regulator-max-microvolt = <3300000>;
    322			};
    323
    324			vdd_10: REG10 {
    325				regulator-name = "vdd_10";
    326				regulator-min-microvolt = <1000000>;
    327				regulator-max-microvolt = <1000000>;
    328				regulator-always-on;
    329			};
    330
    331			vccio_wl: vcc_18: REG11 {
    332				regulator-name = "vcc_18";
    333				regulator-min-microvolt = <1800000>;
    334				regulator-max-microvolt = <1800000>;
    335				regulator-always-on;
    336			};
    337
    338			vcc18_lcd: REG12 {
    339				regulator-name = "vcc18_lcd";
    340				regulator-min-microvolt = <1800000>;
    341				regulator-max-microvolt = <1800000>;
    342				regulator-always-on;
    343			};
    344		};
    345	};
    346};
    347
    348&i2c1 {
    349	status = "okay";
    350};
    351
    352&i2c2 {
    353	status = "okay";
    354};
    355
    356&i2c4 {
    357	status = "okay";
    358};
    359
    360&i2c5 {
    361	status = "okay";
    362};
    363
    364&io_domains {
    365	status = "okay";
    366
    367	audio-supply = <&vcca_33>;
    368	bb-supply = <&vcc_io>;
    369	dvp-supply = <&dovdd_1v8>;
    370	flash0-supply = <&vcc_flash>;
    371	flash1-supply = <&vcc_lan>;
    372	gpio30-supply = <&vcc_io>;
    373	gpio1830-supply = <&vcc_io>;
    374	lcdc-supply = <&vcc_io>;
    375	sdcard-supply = <&vccio_sd>;
    376	wifi-supply = <&vccio_wl>;
    377};
    378
    379&pinctrl {
    380	pcfg_output_high: pcfg-output-high {
    381		output-high;
    382	};
    383
    384	pcfg_output_low: pcfg-output-low {
    385		output-low;
    386	};
    387
    388	pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
    389		bias-pull-up;
    390		drive-strength = <12>;
    391	};
    392
    393	act8846 {
    394		pwr_hold: pwr-hold {
    395			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>;
    396		};
    397	};
    398
    399	dvp {
    400		dvp_pwr: dvp-pwr {
    401			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
    402		};
    403	};
    404
    405	gmac {
    406		phy_int: phy-int {
    407			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
    408		};
    409
    410		phy_pmeb: phy-pmeb {
    411			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
    412		};
    413
    414		phy_rst: phy-rst {
    415			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
    416		};
    417	};
    418
    419	hym8563 {
    420		rtc_int: rtc-int {
    421			rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
    422		};
    423	};
    424
    425	keys {
    426		pwr_key: pwr-key {
    427			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
    428		};
    429	};
    430
    431	leds {
    432		power_led_pin: power-led-pin {
    433			rockchip,pins = <8 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
    434		};
    435
    436		work_led_pin: work-led-pin {
    437			rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
    438		};
    439	};
    440
    441	sdmmc {
    442		/*
    443		 * Default drive strength isn't enough to achieve even
    444		 * high-speed mode on firefly board so bump up to 12ma.
    445		 */
    446		sdmmc_bus4: sdmmc-bus4 {
    447			rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>,
    448					<6 RK_PC1 1 &pcfg_pull_up_drv_12ma>,
    449					<6 RK_PC2 1 &pcfg_pull_up_drv_12ma>,
    450					<6 RK_PC3 1 &pcfg_pull_up_drv_12ma>;
    451		};
    452
    453		sdmmc_clk: sdmmc-clk {
    454			rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>;
    455		};
    456
    457		sdmmc_cmd: sdmmc-cmd {
    458			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>;
    459		};
    460
    461		sdmmc_pwr: sdmmc-pwr {
    462			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
    463		};
    464	};
    465
    466	usb_host {
    467		host_vbus_drv: host-vbus-drv {
    468			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
    469		};
    470
    471		usbhub_rst: usbhub-rst {
    472			rockchip,pins = <8 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>;
    473		};
    474	};
    475
    476	usb_otg {
    477		otg_vbus_drv: otg-vbus-drv {
    478			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
    479		};
    480	};
    481};
    482
    483&saradc {
    484	vref-supply = <&vcc_18>;
    485	status = "okay";
    486};
    487
    488&sdio0 {
    489	bus-width = <4>;
    490	disable-wp;
    491	non-removable;
    492	pinctrl-names = "default";
    493	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
    494	vmmc-supply = <&vbat_wl>;
    495	vqmmc-supply = <&vccio_wl>;
    496	status = "okay";
    497};
    498
    499&sdmmc {
    500	bus-width = <4>;
    501	cap-mmc-highspeed;
    502	cap-sd-highspeed;
    503	card-detect-delay = <200>;
    504	disable-wp;
    505	pinctrl-names = "default";
    506	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
    507	vmmc-supply = <&vcc_sd>;
    508	vqmmc-supply = <&vccio_sd>;
    509	status = "okay";
    510};
    511
    512&spi0 {
    513	pinctrl-names = "default";
    514	pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
    515	status = "okay";
    516};
    517
    518&tsadc {
    519	rockchip,hw-tshut-mode = <0>;
    520	rockchip,hw-tshut-polarity = <0>;
    521	status = "okay";
    522};
    523
    524&uart0 {
    525	pinctrl-names = "default";
    526	pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
    527	status = "okay";
    528};
    529
    530&uart1 {
    531	status = "okay";
    532};
    533
    534&uart2 {
    535	status = "okay";
    536};
    537
    538&uart3 {
    539	status = "okay";
    540};
    541
    542&usbphy {
    543	status = "okay";
    544};
    545
    546&usb_host1 {
    547	pinctrl-names = "default";
    548	pinctrl-0 = <&usbhub_rst>;
    549	status = "okay";
    550};
    551
    552&usb_otg {
    553	status = "okay";
    554};
    555
    556&vopb {
    557	status = "okay";
    558};
    559
    560&vopb_mmu {
    561	status = "okay";
    562};
    563
    564&vopl {
    565	status = "okay";
    566};
    567
    568&vopl_mmu {
    569	status = "okay";
    570};
    571
    572&wdt {
    573	status = "okay";
    574};