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

exynos5420-galaxy-tab-common.dtsi (14469B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Base DT for Samsung's family of tablets based on Exynos5420.
      4 *
      5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
      6 *		http://www.samsung.com
      7 * Copyright (c) 2022 Henrik Grimler
      8 */
      9
     10/dts-v1/;
     11#include "exynos5420.dtsi"
     12#include "exynos5420-cpus.dtsi"
     13#include <dt-bindings/input/input.h>
     14#include <dt-bindings/gpio/gpio.h>
     15#include <dt-bindings/clock/samsung,s2mps11.h>
     16
     17/ {
     18	chassis-type = "tablet";
     19
     20	/*
     21	 * To successfully boot the mainline kernel with the stock
     22	 * bootloader (SBOOT), the tlb needs to be flushed after the
     23	 * page table pointer has been updated in __common_mmu_cache_on.
     24	 * The same hack is also needed to boot exynos4412-i9300 with
     25	 * stock bootloader, and probably other Samsung devices of
     26	 * similar age.  See
     27	 * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
     28	 * for more details.
     29	 */
     30
     31	chosen {
     32		stdout-path = "serial2:115200n8";
     33	};
     34
     35	memory@20000000 {
     36		device_type = "memory";
     37		reg = <0x20000000 0xc0000000>;
     38	};
     39
     40	firmware@2073000 {
     41		compatible = "samsung,secure-firmware";
     42		reg = <0x02073000 0x1000>;
     43	};
     44
     45	fixed-rate-clocks {
     46		oscclk {
     47			compatible = "samsung,exynos5420-oscclk";
     48			clock-frequency = <24000000>;
     49		};
     50	};
     51
     52	gpio-keys {
     53		compatible = "gpio-keys";
     54		pinctrl-names = "default";
     55
     56		key-power {
     57			debounce-interval = <10>;
     58			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
     59			label = "Power";
     60			linux,code = <KEY_POWER>;
     61			wakeup-source;
     62		};
     63
     64		key-home {
     65			debounce-interval = <10>;
     66			gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
     67			label = "Home";
     68			linux,code = <KEY_HOME>;
     69			wakeup-source;
     70		};
     71
     72		key-volume-up {
     73			debounce-interval = <10>;
     74			gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
     75			label = "Volume Up";
     76			linux,code = <KEY_VOLUMEUP>;
     77		};
     78
     79		key-volume-down {
     80			debounce-interval = <10>;
     81			gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
     82			label = "Volume Down";
     83			linux,code = <KEY_VOLUMEDOWN>;
     84		};
     85	};
     86};
     87
     88&cci {
     89	/* CCI is disabled in hardware */
     90	status = "disabled";
     91};
     92
     93&cpu0 {
     94	cpu-supply = <&buck2_reg>;
     95};
     96
     97&cpu4 {
     98	cpu-supply = <&buck6_reg>;
     99};
    100
    101&gpu {
    102	status = "okay";
    103	mali-supply = <&buck4_reg>;
    104};
    105
    106&hsi2c_7 {
    107	status = "okay";
    108
    109	pmic@66 {
    110		compatible = "samsung,s2mps11-pmic";
    111		reg = <0x66>;
    112
    113		interrupt-parent = <&gpx3>;
    114		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
    115		pinctrl-names = "default";
    116		pinctrl-0 = <&s2mps11_irq>;
    117
    118		s2mps11_osc: clocks {
    119			compatible = "samsung,s2mps11-clk";
    120			#clock-cells = <1>;
    121			clock-output-names = "s2mps11_ap", "s2mps11_cp",
    122					     "s2mps11_bt";
    123		};
    124
    125		regulators {
    126			buck1_reg: BUCK1 {
    127				regulator-name = "VDD_MIF_1V1";
    128				regulator-min-microvolt = <700000>;
    129				regulator-max-microvolt = <1300000>;
    130				regulator-always-on;
    131				regulator-boot-on;
    132
    133				regulator-state-mem {
    134					regulator-off-in-suspend;
    135				};
    136			};
    137
    138			buck2_reg: BUCK2 {
    139				regulator-name = "VDD_ARM_1V0";
    140				regulator-min-microvolt = <800000>;
    141				regulator-max-microvolt = <1500000>;
    142				regulator-always-on;
    143				regulator-boot-on;
    144
    145				regulator-state-mem {
    146					regulator-off-in-suspend;
    147				};
    148			};
    149
    150			buck3_reg: BUCK3 {
    151				regulator-name = "VDD_INT_1V0";
    152				regulator-min-microvolt = <800000>;
    153				regulator-max-microvolt = <1400000>;
    154				regulator-always-on;
    155				regulator-boot-on;
    156
    157				regulator-state-mem {
    158					regulator-off-in-suspend;
    159				};
    160			};
    161
    162			buck4_reg: BUCK4 {
    163				regulator-name = "VDD_G3D_1V0";
    164				regulator-min-microvolt = <700000>;
    165				regulator-max-microvolt = <1400000>;
    166				regulator-always-on;
    167				regulator-boot-on;
    168
    169				regulator-state-mem {
    170					regulator-off-in-suspend;
    171				};
    172			};
    173
    174			buck5_reg: BUCK5 {
    175				regulator-name = "VDD_MEM_1V2";
    176				regulator-min-microvolt = <1200000>;
    177				regulator-max-microvolt = <1200000>;
    178				regulator-always-on;
    179				regulator-boot-on;
    180
    181				regulator-state-mem {
    182					regulator-off-in-suspend;
    183				};
    184
    185			};
    186
    187			buck6_reg: BUCK6 {
    188				regulator-name = "VDD_KFC_1V0";
    189				regulator-min-microvolt = <800000>;
    190				regulator-max-microvolt = <1500000>;
    191				regulator-always-on;
    192				regulator-boot-on;
    193
    194				regulator-state-mem {
    195					regulator-off-in-suspend;
    196				};
    197			};
    198
    199			buck7_reg: BUCK7 {
    200				regulator-name = "VIN_LLDO_1V4";
    201				regulator-min-microvolt = <1200000>;
    202				regulator-max-microvolt = <1500000>;
    203				regulator-always-on;
    204			};
    205
    206			buck8_reg: BUCK8 {
    207				regulator-name = "VIN_MLDO_2V0";
    208				regulator-min-microvolt = <1800000>;
    209				regulator-max-microvolt = <2100000>;
    210				regulator-always-on;
    211			};
    212
    213			buck9_reg: BUCK9 {
    214				regulator-name = "VIN_HLDO_3V5";
    215				regulator-min-microvolt = <3000000>;
    216				regulator-max-microvolt = <3500000>;
    217				regulator-always-on;
    218			};
    219
    220			buck10_reg: BUCK10 {
    221				regulator-name = "VDD_CAM_ISP_1V0";
    222				regulator-min-microvolt = <750000>;
    223				regulator-max-microvolt = <3550000>;
    224			};
    225
    226			ldo1_reg: LDO1 {
    227				regulator-name = "VDD_ALIVE_1.0V";
    228				regulator-min-microvolt = <1000000>;
    229				regulator-max-microvolt = <1000000>;
    230				regulator-always-on;
    231			};
    232
    233			ldo2_reg: LDO2 {
    234				regulator-name = "VDD_APIO_1V8";
    235				regulator-min-microvolt = <1800000>;
    236				regulator-max-microvolt = <1800000>;
    237				regulator-always-on;
    238				regulator-boot-on;
    239
    240				regulator-state-mem {
    241					regulator-on-in-suspend;
    242				};
    243			};
    244
    245			ldo3_reg: LDO3 {
    246				regulator-name = "VDD_APIO_MMC01_1V8";
    247				regulator-min-microvolt = <1800000>;
    248				regulator-max-microvolt = <1800000>;
    249				regulator-always-on;
    250
    251				regulator-state-mem {
    252					regulator-off-in-suspend;
    253				};
    254			};
    255
    256			ldo4_reg: LDO4 {
    257				regulator-name = "VDD_ADC_1V8";
    258				regulator-min-microvolt = <1800000>;
    259				regulator-max-microvolt = <1800000>;
    260				regulator-always-on;
    261				regulator-boot-on;
    262
    263				regulator-state-mem {
    264					regulator-on-in-suspend;
    265				};
    266			};
    267
    268			ldo5_reg: LDO5 {
    269				/* Unused */
    270				regulator-name = "VDD_LDO5";
    271				regulator-min-microvolt = <1800000>;
    272				regulator-max-microvolt = <1800000>;
    273			};
    274
    275			ldo6_reg: LDO6 {
    276				regulator-name = "VDD_MIPI_1V0";
    277				regulator-min-microvolt = <1000000>;
    278				regulator-max-microvolt = <1000000>;
    279				regulator-always-on;
    280				regulator-boot-on;
    281
    282				regulator-state-mem {
    283					regulator-off-in-suspend;
    284				};
    285			};
    286
    287			ldo7_reg: LDO7 {
    288				regulator-name = "VDD_MIPI_PLL_ABB1_18V";
    289				regulator-min-microvolt = <1800000>;
    290				regulator-max-microvolt = <1800000>;
    291				regulator-always-on;
    292				regulator-boot-on;
    293
    294				regulator-state-mem {
    295					regulator-off-in-suspend;
    296				};
    297			};
    298
    299			ldo8_reg: LDO8 {
    300				/* Unused */
    301				regulator-name = "VDD_LDO8";
    302				regulator-min-microvolt = <1800000>;
    303				regulator-max-microvolt = <1800000>;
    304			};
    305
    306			ldo9_reg: LDO9 {
    307				regulator-name = "VDD_UOTG_3V0";
    308				regulator-min-microvolt = <3000000>;
    309				regulator-max-microvolt = <3000000>;
    310				regulator-always-on;
    311				regulator-boot-on;
    312
    313				regulator-state-mem {
    314					regulator-on-in-suspend;
    315				};
    316			};
    317
    318			ldo10_reg: LDO10 {
    319				regulator-name = "VDDQ_PRE_1V8";
    320				regulator-min-microvolt = <1800000>;
    321				regulator-max-microvolt = <1800000>;
    322				regulator-always-on;
    323				regulator-boot-on;
    324
    325				regulator-state-mem {
    326					regulator-on-in-suspend;
    327				};
    328			};
    329
    330			ldo11_reg: LDO11 {
    331				regulator-name = "VDD_HSIC_1V0";
    332				regulator-min-microvolt = <1000000>;
    333				regulator-max-microvolt = <1000000>;
    334				regulator-always-on;
    335				regulator-boot-on;
    336
    337				regulator-state-mem {
    338					regulator-on-in-suspend;
    339				};
    340			};
    341
    342			ldo12_reg: LDO12 {
    343				regulator-name = "VDD_HSIC_1V8";
    344				regulator-min-microvolt = <1800000>;
    345				regulator-max-microvolt = <1800000>;
    346				regulator-always-on;
    347				regulator-boot-on;
    348
    349				regulator-state-mem {
    350					regulator-on-in-suspend;
    351				};
    352			};
    353
    354			ldo13_reg: LDO13 {
    355				regulator-name = "VDD_APIO_MMC2_2V8";
    356				regulator-min-microvolt = <1800000>;
    357				regulator-max-microvolt = <2800000>;
    358				regulator-boot-on;
    359
    360				regulator-state-mem {
    361					regulator-off-in-suspend;
    362				};
    363			};
    364
    365			ldo14_reg: LDO14 {
    366				regulator-name = "VDD_MOTOR_3V0";
    367				regulator-min-microvolt = <3000000>;
    368				regulator-max-microvolt = <3000000>;
    369
    370				regulator-state-mem {
    371					regulator-off-in-suspend;
    372				};
    373			};
    374
    375			ldo15_reg: LDO15 {
    376				regulator-name = "VDD_LDO15";
    377				/*
    378				 * LDO15 varies between devices and is
    379				 * specified in the device dts
    380				 */
    381			};
    382
    383			ldo16_reg: LDO16 {
    384				regulator-name = "VDD_AP_2V8";
    385				regulator-min-microvolt = <2800000>;
    386				regulator-max-microvolt = <2800000>;
    387				regulator-always-on;
    388				regulator-boot-on;
    389
    390				regulator-state-mem {
    391					regulator-on-in-suspend;
    392				};
    393			};
    394
    395			ldo17_reg: LDO17 {
    396				regulator-name = "VDD_LDO17";
    397				/*
    398				 * LDO17 varies between devices and is
    399				 * specified in the device dts
    400				 */
    401			};
    402
    403			ldo18_reg: LDO18 {
    404				/* Unused */
    405				regulator-name = "VDD_LDO18";
    406				regulator-min-microvolt = <1800000>;
    407				regulator-max-microvolt = <1800000>;
    408			};
    409
    410			ldo19_reg: LDO19 {
    411				regulator-name = "VDD_VTF_2V8";
    412				regulator-min-microvolt = <2800000>;
    413				regulator-max-microvolt = <2800000>;
    414
    415				regulator-state-mem {
    416					regulator-off-in-suspend;
    417				};
    418			};
    419
    420			ldo20_reg: LDO20 {
    421				regulator-name = "VDD_CAM1_CAM_1V8";
    422				regulator-min-microvolt = <1800000>;
    423				regulator-max-microvolt = <1800000>;
    424
    425				regulator-state-mem {
    426					regulator-off-in-suspend;
    427				};
    428			};
    429
    430			ldo21_reg: LDO21 {
    431				regulator-name = "VDD_CAM_IO_1V8";
    432				regulator-min-microvolt = <1800000>;
    433				regulator-max-microvolt = <1800000>;
    434
    435				regulator-state-mem {
    436					regulator-off-in-suspend;
    437				};
    438			};
    439
    440			ldo22_reg: LDO22 {
    441				regulator-name = "VDD_CAM0_S_CORE_1V1";
    442				regulator-min-microvolt = <1050000>;
    443				regulator-max-microvolt = <1200000>;
    444
    445				regulator-state-mem {
    446					regulator-off-in-suspend;
    447				};
    448			};
    449
    450			ldo23_reg: LDO23 {
    451				regulator-name = "VDD_MIFS_1V1";
    452				regulator-min-microvolt = <800000>;
    453				regulator-max-microvolt = <1100000>;
    454				regulator-always-on;
    455
    456				regulator-state-mem {
    457					regulator-on-in-suspend;
    458				};
    459			};
    460
    461			ldo24_reg: LDO24 {
    462				regulator-name = "VDD_TSP_3V3";
    463				regulator-min-microvolt = <3300000>;
    464				regulator-max-microvolt = <3300000>;
    465
    466				regulator-state-mem {
    467					regulator-off-in-suspend;
    468				};
    469			};
    470
    471			ldo25_reg: LDO25 {
    472				/* Unused */
    473				regulator-name = "VDD_LDO25";
    474				regulator-min-microvolt = <800000>;
    475				regulator-max-microvolt = <3950000>;
    476			};
    477
    478			ldo26_reg: LDO26 {
    479				regulator-name = "VDD_CAM0_AF_2V8";
    480				regulator-min-microvolt = <2800000>;
    481				regulator-max-microvolt = <2800000>;
    482
    483				regulator-state-mem {
    484					regulator-off-in-suspend;
    485				};
    486			};
    487
    488			ldo27_reg: LDO27 {
    489				regulator-name = "VDD_G3DS_1V0";
    490				regulator-min-microvolt = <800000>;
    491				regulator-max-microvolt = <1000000>;
    492				regulator-always-on;
    493
    494				regulator-state-mem {
    495					regulator-on-in-suspend;
    496				};
    497			};
    498
    499			ldo28_reg: LDO28 {
    500				regulator-name = "VDD_LDO28";
    501				/*
    502				 * LDO28 varies between devices and is
    503				 * specified in the device dts
    504				 */
    505			};
    506
    507			ldo29_reg: LDO29 {
    508				regulator-name = "VDD_LDO29";
    509				/*
    510				 * LDO29 varies between devices and is
    511				 * specified in the device dts
    512				 */
    513			};
    514
    515			ldo30_reg: LDO30 {
    516				regulator-name = "VDD_TOUCH_1V8";
    517				regulator-min-microvolt = <1900000>;
    518				regulator-max-microvolt = <1900000>;
    519
    520				regulator-state-mem {
    521					regulator-off-in-suspend;
    522				};
    523			};
    524
    525			ldo31_reg: LDO31 {
    526				regulator-name = "VDD_LDO31";
    527				/*
    528				 * LDO31 varies between devices and is
    529				 * specified in the device dts
    530				 */
    531			};
    532
    533			ldo32_reg: LDO32 {
    534				regulator-name = "VDD_LDO32";
    535				/*
    536				 * LDO32 varies between devices and is
    537				 * specified in the device dts
    538				 */
    539			};
    540
    541			ldo33_reg: LDO33 {
    542				regulator-name = "VDD_MHL_1V8";
    543				regulator-min-microvolt = <1800000>;
    544				regulator-max-microvolt = <1800000>;
    545
    546				regulator-state-mem {
    547					regulator-off-in-suspend;
    548				};
    549			};
    550
    551			ldo34_reg: LDO34 {
    552				regulator-name = "VDD_MHL_3V3";
    553				regulator-min-microvolt = <3300000>;
    554				regulator-max-microvolt = <3300000>;
    555
    556				regulator-state-mem {
    557					regulator-off-in-suspend;
    558				};
    559			};
    560
    561			ldo35_reg: LDO35 {
    562				regulator-name = "VDD_SIL_1V2";
    563				regulator-min-microvolt = <1200000>;
    564				regulator-max-microvolt = <1200000>;
    565
    566				regulator-state-mem {
    567					regulator-off-in-suspend;
    568				};
    569			};
    570
    571			ldo36_reg: LDO36 {
    572				/* Unused */
    573				regulator-name = "VDD_LDO36";
    574				regulator-min-microvolt = <800000>;
    575				regulator-max-microvolt = <3950000>;
    576			};
    577
    578			ldo37_reg: LDO37 {
    579				/* Unused */
    580				regulator-name = "VDD_LDO37";
    581				regulator-min-microvolt = <800000>;
    582				regulator-max-microvolt = <3950000>;
    583			};
    584
    585			ldo38_reg: LDO38 {
    586				regulator-name = "VDD_KEY_LED_3V3";
    587				regulator-min-microvolt = <2500000>;
    588				regulator-max-microvolt = <3300000>;
    589
    590				regulator-state-mem {
    591					regulator-off-in-suspend;
    592				};
    593			};
    594		};
    595	};
    596};
    597
    598&mixer {
    599	status = "okay";
    600};
    601
    602/* Internal storage */
    603&mmc_0 {
    604	status = "okay";
    605	bus-width = <8>;
    606	cap-mmc-highspeed;
    607	card-detect-delay = <200>;
    608	mmc-hs200-1_8v;
    609	non-removable;
    610	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
    611	pinctrl-names = "default";
    612	samsung,dw-mshc-ciu-div = <3>;
    613	samsung,dw-mshc-ddr-timing = <0 2>;
    614	samsung,dw-mshc-sdr-timing = <0 4>;
    615	vqmmc-supply = <&ldo3_reg>;
    616};
    617
    618/* External sdcard */
    619&mmc_2 {
    620	status = "okay";
    621	bus-width = <4>;
    622	cap-sd-highspeed;
    623	card-detect-delay = <200>;
    624	cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
    625	pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
    626	pinctrl-names = "default";
    627	samsung,dw-mshc-ciu-div = <3>;
    628	samsung,dw-mshc-ddr-timing = <0 2>;
    629	samsung,dw-mshc-sdr-timing = <0 4>;
    630	sd-uhs-sdr50;
    631	vmmc-supply = <&ldo19_reg>;
    632	vqmmc-supply = <&ldo13_reg>;
    633};
    634
    635&pinctrl_0 {
    636	mmc2_cd: mmc2-cd-pins {
    637		samsung,pins = "gpx2-4";
    638		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    639	};
    640
    641	s2mps11_irq: s2mps11-irq-pins {
    642		samsung,pins = "gpx3-0";
    643		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
    644		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    645		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    646	};
    647};
    648
    649&rtc {
    650	status = "okay";
    651	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
    652	clock-names = "rtc", "rtc_src";
    653};
    654
    655&tmu_cpu0 {
    656	vtmu-supply = <&ldo10_reg>;
    657};
    658
    659&tmu_cpu1 {
    660	vtmu-supply = <&ldo10_reg>;
    661};
    662
    663&tmu_cpu2 {
    664	vtmu-supply = <&ldo10_reg>;
    665};
    666
    667&tmu_cpu3 {
    668	vtmu-supply = <&ldo10_reg>;
    669};
    670
    671&tmu_gpu {
    672	vtmu-supply = <&ldo10_reg>;
    673};
    674
    675&usbdrd_dwc3_0 {
    676	dr_mode = "peripheral";
    677};
    678
    679&usbdrd_dwc3_1 {
    680	dr_mode = "peripheral";
    681};
    682
    683&usbdrd3_0 {
    684	vdd33-supply = <&ldo9_reg>;
    685	vdd10-supply = <&ldo11_reg>;
    686};
    687
    688&usbdrd3_1 {
    689	vdd33-supply = <&ldo9_reg>;
    690	vdd10-supply = <&ldo11_reg>;
    691};