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

exynos5422-odroidxu3-common.dtsi (11409B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source
      4 *
      5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
      6 *		http://www.samsung.com
      7 * Copyright (c) 2014 Collabora Ltd.
      8 * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
      9 *                    Anand Moon <linux.amoon@gmail.com>
     10 */
     11
     12#include <dt-bindings/input/input.h>
     13#include "exynos5422-odroid-core.dtsi"
     14
     15/ {
     16	gpio-keys {
     17		compatible = "gpio-keys";
     18		pinctrl-names = "default";
     19		pinctrl-0 = <&power_key>;
     20
     21		power-key {
     22			/*
     23			 * The power button (SW2) is connected to the PWRON
     24			 * pin (active high) of the S2MPS11 PMIC, which acts
     25			 * as a 16ms debouce filter and signal inverter with
     26			 * output on ONOB pin (active low). ONOB PMIC pin is
     27			 * then connected to XEINT3 SoC pin.
     28			 */
     29			gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
     30			linux,code = <KEY_POWER>;
     31			label = "power key";
     32			debounce-interval = <0>;
     33			wakeup-source;
     34		};
     35	};
     36
     37	emmc_pwrseq: pwrseq {
     38		pinctrl-0 = <&emmc_nrst_pin>;
     39		pinctrl-names = "default";
     40		compatible = "mmc-pwrseq-emmc";
     41		reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
     42	};
     43
     44	fan0: pwm-fan {
     45		compatible = "pwm-fan";
     46		pwms = <&pwm 0 20972 0>;
     47		#cooling-cells = <2>;
     48		cooling-levels = <0 130 170 230>;
     49	};
     50
     51	thermal-zones {
     52		cpu0_thermal: cpu0-thermal {
     53			thermal-sensors = <&tmu_cpu0 0>;
     54			polling-delay-passive = <250>;
     55			polling-delay = <0>;
     56			trips {
     57				cpu0_alert0: cpu-alert-0 {
     58					temperature = <50000>; /* millicelsius */
     59					hysteresis = <5000>; /* millicelsius */
     60					type = "active";
     61				};
     62				cpu0_alert1: cpu-alert-1 {
     63					temperature = <60000>; /* millicelsius */
     64					hysteresis = <5000>; /* millicelsius */
     65					type = "active";
     66				};
     67				cpu0_alert2: cpu-alert-2 {
     68					temperature = <70000>; /* millicelsius */
     69					hysteresis = <5000>; /* millicelsius */
     70					type = "active";
     71				};
     72				cpu0_crit0: cpu-crit-0 {
     73					temperature = <120000>; /* millicelsius */
     74					hysteresis = <0>; /* millicelsius */
     75					type = "critical";
     76				};
     77				/*
     78				 * Exynos542x supports only 4 trip-points
     79				 * so for these polling mode is required.
     80				 * Start polling at temperature level of last
     81				 * interrupt-driven trip: cpu0_alert2
     82				 */
     83				cpu0_alert3: cpu-alert-3 {
     84					temperature = <70000>; /* millicelsius */
     85					hysteresis = <10000>; /* millicelsius */
     86					type = "passive";
     87				};
     88				cpu0_alert4: cpu-alert-4 {
     89					temperature = <85000>; /* millicelsius */
     90					hysteresis = <10000>; /* millicelsius */
     91					type = "passive";
     92				};
     93			};
     94			cooling-maps {
     95				map0 {
     96					trip = <&cpu0_alert0>;
     97					cooling-device = <&fan0 0 1>;
     98				};
     99				map1 {
    100					trip = <&cpu0_alert1>;
    101					cooling-device = <&fan0 1 2>;
    102				};
    103				map2 {
    104					trip = <&cpu0_alert2>;
    105					cooling-device = <&fan0 2 3>;
    106				};
    107				/*
    108				 * When reaching cpu0_alert3, reduce CPU
    109				 * by 2 steps. On Exynos5422/5800 that would
    110				 * (usually) be: 1800 MHz and 1200 MHz.
    111				 */
    112				map3 {
    113					trip = <&cpu0_alert3>;
    114					cooling-device = <&cpu0 0 2>,
    115							 <&cpu1 0 2>,
    116							 <&cpu2 0 2>,
    117							 <&cpu3 0 2>,
    118							 <&cpu4 0 2>,
    119							 <&cpu5 0 2>,
    120							 <&cpu6 0 2>,
    121							 <&cpu7 0 2>;
    122				};
    123				/*
    124				 * When reaching cpu0_alert4, reduce CPU
    125				 * further, down to 600 MHz (14 steps for big,
    126				 * 8 steps for LITTLE).
    127				 */
    128				cpu0_cooling_map4: map4 {
    129					trip = <&cpu0_alert4>;
    130					cooling-device = <&cpu0 3 8>,
    131							 <&cpu1 3 8>,
    132							 <&cpu2 3 8>,
    133							 <&cpu3 3 8>,
    134							 <&cpu4 3 14>,
    135							 <&cpu5 3 14>,
    136							 <&cpu6 3 14>,
    137							 <&cpu7 3 14>;
    138				};
    139			};
    140		};
    141		cpu1_thermal: cpu1-thermal {
    142			thermal-sensors = <&tmu_cpu1 0>;
    143			polling-delay-passive = <250>;
    144			polling-delay = <0>;
    145			trips {
    146				cpu1_alert0: cpu-alert-0 {
    147					temperature = <50000>;
    148					hysteresis = <5000>;
    149					type = "active";
    150				};
    151				cpu1_alert1: cpu-alert-1 {
    152					temperature = <60000>;
    153					hysteresis = <5000>;
    154					type = "active";
    155				};
    156				cpu1_alert2: cpu-alert-2 {
    157					temperature = <70000>;
    158					hysteresis = <5000>;
    159					type = "active";
    160				};
    161				cpu1_crit0: cpu-crit-0 {
    162					temperature = <120000>;
    163					hysteresis = <0>;
    164					type = "critical";
    165				};
    166				cpu1_alert3: cpu-alert-3 {
    167					temperature = <70000>;
    168					hysteresis = <10000>;
    169					type = "passive";
    170				};
    171				cpu1_alert4: cpu-alert-4 {
    172					temperature = <85000>;
    173					hysteresis = <10000>;
    174					type = "passive";
    175				};
    176			};
    177			cooling-maps {
    178				map0 {
    179					trip = <&cpu1_alert0>;
    180					cooling-device = <&fan0 0 1>;
    181				};
    182				map1 {
    183					trip = <&cpu1_alert1>;
    184					cooling-device = <&fan0 1 2>;
    185				};
    186				map2 {
    187					trip = <&cpu1_alert2>;
    188					cooling-device = <&fan0 2 3>;
    189				};
    190				map3 {
    191					trip = <&cpu1_alert3>;
    192					cooling-device = <&cpu0 0 2>,
    193							 <&cpu1 0 2>,
    194							 <&cpu2 0 2>,
    195							 <&cpu3 0 2>,
    196							 <&cpu4 0 2>,
    197							 <&cpu5 0 2>,
    198							 <&cpu6 0 2>,
    199							 <&cpu7 0 2>;
    200				};
    201				cpu1_cooling_map4: map4 {
    202					trip = <&cpu1_alert4>;
    203					cooling-device = <&cpu0 3 8>,
    204							 <&cpu1 3 8>,
    205							 <&cpu2 3 8>,
    206							 <&cpu3 3 8>,
    207							 <&cpu4 3 14>,
    208							 <&cpu5 3 14>,
    209							 <&cpu6 3 14>,
    210							 <&cpu7 3 14>;
    211				};
    212			};
    213		};
    214		cpu2_thermal: cpu2-thermal {
    215			thermal-sensors = <&tmu_cpu2 0>;
    216			polling-delay-passive = <250>;
    217			polling-delay = <0>;
    218			trips {
    219				cpu2_alert0: cpu-alert-0 {
    220					temperature = <50000>;
    221					hysteresis = <5000>;
    222					type = "active";
    223				};
    224				cpu2_alert1: cpu-alert-1 {
    225					temperature = <60000>;
    226					hysteresis = <5000>;
    227					type = "active";
    228				};
    229				cpu2_alert2: cpu-alert-2 {
    230					temperature = <70000>;
    231					hysteresis = <5000>;
    232					type = "active";
    233				};
    234				cpu2_crit0: cpu-crit-0 {
    235					temperature = <120000>;
    236					hysteresis = <0>;
    237					type = "critical";
    238				};
    239				cpu2_alert3: cpu-alert-3 {
    240					temperature = <70000>;
    241					hysteresis = <10000>;
    242					type = "passive";
    243				};
    244				cpu2_alert4: cpu-alert-4 {
    245					temperature = <85000>;
    246					hysteresis = <10000>;
    247					type = "passive";
    248				};
    249			};
    250			cooling-maps {
    251				map0 {
    252					trip = <&cpu2_alert0>;
    253					cooling-device = <&fan0 0 1>;
    254				};
    255				map1 {
    256					trip = <&cpu2_alert1>;
    257					cooling-device = <&fan0 1 2>;
    258				};
    259				map2 {
    260					trip = <&cpu2_alert2>;
    261					cooling-device = <&fan0 2 3>;
    262				};
    263				map3 {
    264					trip = <&cpu2_alert3>;
    265					cooling-device = <&cpu0 0 2>,
    266							 <&cpu1 0 2>,
    267							 <&cpu2 0 2>,
    268							 <&cpu3 0 2>,
    269							 <&cpu4 0 2>,
    270							 <&cpu5 0 2>,
    271							 <&cpu6 0 2>,
    272							 <&cpu7 0 2>;
    273				};
    274				cpu2_cooling_map4: map4 {
    275					trip = <&cpu2_alert4>;
    276					cooling-device = <&cpu0 3 8>,
    277							 <&cpu1 3 8>,
    278							 <&cpu2 3 8>,
    279							 <&cpu3 3 8>,
    280							 <&cpu4 3 14>,
    281							 <&cpu5 3 14>,
    282							 <&cpu6 3 14>,
    283							 <&cpu7 3 14>;
    284				};
    285			};
    286		};
    287		cpu3_thermal: cpu3-thermal {
    288			thermal-sensors = <&tmu_cpu3 0>;
    289			polling-delay-passive = <250>;
    290			polling-delay = <0>;
    291			trips {
    292				cpu3_alert0: cpu-alert-0 {
    293					temperature = <50000>;
    294					hysteresis = <5000>;
    295					type = "active";
    296				};
    297				cpu3_alert1: cpu-alert-1 {
    298					temperature = <60000>;
    299					hysteresis = <5000>;
    300					type = "active";
    301				};
    302				cpu3_alert2: cpu-alert-2 {
    303					temperature = <70000>;
    304					hysteresis = <5000>;
    305					type = "active";
    306				};
    307				cpu3_crit0: cpu-crit-0 {
    308					temperature = <120000>;
    309					hysteresis = <0>;
    310					type = "critical";
    311				};
    312				cpu3_alert3: cpu-alert-3 {
    313					temperature = <70000>;
    314					hysteresis = <10000>;
    315					type = "passive";
    316				};
    317				cpu3_alert4: cpu-alert-4 {
    318					temperature = <85000>;
    319					hysteresis = <10000>;
    320					type = "passive";
    321				};
    322			};
    323			cooling-maps {
    324				map0 {
    325					trip = <&cpu3_alert0>;
    326					cooling-device = <&fan0 0 1>;
    327				};
    328				map1 {
    329					trip = <&cpu3_alert1>;
    330					cooling-device = <&fan0 1 2>;
    331				};
    332				map2 {
    333					trip = <&cpu3_alert2>;
    334					cooling-device = <&fan0 2 3>;
    335				};
    336				map3 {
    337					trip = <&cpu3_alert3>;
    338					cooling-device = <&cpu0 0 2>,
    339							 <&cpu1 0 2>,
    340							 <&cpu2 0 2>,
    341							 <&cpu3 0 2>,
    342							 <&cpu4 0 2>,
    343							 <&cpu5 0 2>,
    344							 <&cpu6 0 2>,
    345							 <&cpu7 0 2>;
    346				};
    347				cpu3_cooling_map4: map4 {
    348					trip = <&cpu3_alert4>;
    349					cooling-device = <&cpu0 3 8>,
    350							 <&cpu1 3 8>,
    351							 <&cpu2 3 8>,
    352							 <&cpu3 3 8>,
    353							 <&cpu4 3 14>,
    354							 <&cpu5 3 14>,
    355							 <&cpu6 3 14>,
    356							 <&cpu7 3 14>;
    357				};
    358			};
    359		};
    360		gpu_thermal: gpu-thermal {
    361			thermal-sensors = <&tmu_gpu 0>;
    362			polling-delay-passive = <250>;
    363			polling-delay = <0>;
    364			trips {
    365				gpu_alert0: gpu-alert-0 {
    366					temperature = <50000>;
    367					hysteresis = <5000>;
    368					type = "active";
    369				};
    370				gpu_alert1: gpu-alert-1 {
    371					temperature = <60000>;
    372					hysteresis = <5000>;
    373					type = "active";
    374				};
    375				gpu_alert2: gpu-alert-2 {
    376					temperature = <70000>;
    377					hysteresis = <5000>;
    378					type = "active";
    379				};
    380				gpu_crit0: gpu-crit-0 {
    381					temperature = <120000>;
    382					hysteresis = <0>;
    383					type = "critical";
    384				};
    385				gpu_alert3: gpu-alert-3 {
    386					temperature = <70000>;
    387					hysteresis = <10000>;
    388					type = "passive";
    389				};
    390				gpu_alert4: gpu-alert-4 {
    391					temperature = <85000>;
    392					hysteresis = <10000>;
    393					type = "passive";
    394				};
    395			};
    396			cooling-maps {
    397				map0 {
    398					trip = <&gpu_alert0>;
    399					cooling-device = <&fan0 0 1>;
    400				};
    401				map1 {
    402					trip = <&gpu_alert1>;
    403					cooling-device = <&fan0 1 2>;
    404				};
    405				map2 {
    406					trip = <&gpu_alert2>;
    407					cooling-device = <&fan0 2 3>;
    408				};
    409				map3 {
    410					trip = <&gpu_alert3>;
    411					cooling-device = <&gpu 0 2>;
    412				};
    413				map4 {
    414					trip = <&gpu_alert4>;
    415					cooling-device = <&gpu 3 6>;
    416				};
    417			};
    418		};
    419	};
    420};
    421
    422&buck10_reg {
    423	/* Supplies vmmc-supply of mmc_0 */
    424	regulator-always-on;
    425	regulator-boot-on;
    426};
    427
    428&hdmi {
    429	status = "okay";
    430	ddc = <&i2c_2>;
    431	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
    432	pinctrl-names = "default";
    433	pinctrl-0 = <&hdmi_hpd_irq>;
    434
    435	vdd_osc-supply = <&ldo7_reg>;
    436	vdd_pll-supply = <&ldo6_reg>;
    437	vdd-supply = <&ldo6_reg>;
    438};
    439
    440&hdmicec {
    441	status = "okay";
    442	needs-hpd;
    443};
    444
    445&i2c_2 {
    446	samsung,i2c-sda-delay = <100>;
    447	samsung,i2c-max-bus-freq = <66000>;
    448	/* used by HDMI DDC */
    449	status = "okay";
    450};
    451
    452&ldo26_reg {
    453	regulator-min-microvolt = <3000000>;
    454	regulator-max-microvolt = <3000000>;
    455	regulator-always-on;
    456};
    457
    458&mixer {
    459	status = "okay";
    460};
    461
    462&mmc_0 {
    463	status = "okay";
    464	mmc-pwrseq = <&emmc_pwrseq>;
    465	card-detect-delay = <200>;
    466	samsung,dw-mshc-ciu-div = <3>;
    467	samsung,dw-mshc-sdr-timing = <0 4>;
    468	samsung,dw-mshc-ddr-timing = <0 2>;
    469	samsung,dw-mshc-hs400-timing = <0 2>;
    470	samsung,read-strobe-delay = <90>;
    471	pinctrl-names = "default";
    472	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
    473	bus-width = <8>;
    474	cap-mmc-highspeed;
    475	mmc-hs200-1_8v;
    476	mmc-hs400-1_8v;
    477	max-frequency = <200000000>;
    478	vmmc-supply = <&ldo18_reg>;
    479	vqmmc-supply = <&ldo3_reg>;
    480};
    481
    482&pinctrl_0 {
    483	power_key: power-key-pins {
    484		samsung,pins = "gpx0-3";
    485		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
    486		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    487		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    488	};
    489
    490	hdmi_hpd_irq: hdmi-hpd-irq-pins {
    491		samsung,pins = "gpx3-7";
    492		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
    493		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
    494		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    495	};
    496};
    497
    498&pinctrl_1 {
    499	emmc_nrst_pin: emmc-nrst-pins {
    500		samsung,pins = "gpd1-0";
    501		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
    502		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    503		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    504	};
    505};