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

exynos4210-universal_c210.dts (14563B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Samsung's Exynos4210 based Universal C210 board device tree source
      4 *
      5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
      6 *		http://www.samsung.com
      7 *
      8 * Device tree source file for Samsung's Universal C210 board which is based on
      9 * Samsung's Exynos4210 rev0 SoC.
     10 */
     11
     12/dts-v1/;
     13#include "exynos4210.dtsi"
     14#include <dt-bindings/gpio/gpio.h>
     15
     16/ {
     17	model = "Samsung Universal C210 based on Exynos4210 rev0";
     18	compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4";
     19	chassis-type = "handset";
     20
     21	memory@40000000 {
     22		device_type = "memory";
     23		reg =  <0x40000000 0x10000000
     24			0x50000000 0x10000000>;
     25	};
     26
     27	chosen {
     28		bootargs = "root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
     29		stdout-path = "serial2:115200n8";
     30	};
     31
     32
     33	fixed-rate-clocks {
     34		xxti {
     35			compatible = "samsung,clock-xxti";
     36			clock-frequency = <0>;
     37		};
     38
     39		xusbxti {
     40			compatible = "samsung,clock-xusbxti";
     41			clock-frequency = <24000000>;
     42		};
     43
     44		pmic_ap_clk: pmic-ap-clk {
     45			/* Workaround for missing clock on PMIC */
     46			compatible = "fixed-clock";
     47			#clock-cells = <0>;
     48			clock-frequency = <32768>;
     49		};
     50	};
     51
     52	vemmc_reg: voltage-regulator {
     53		compatible = "regulator-fixed";
     54		regulator-name = "VMEM_VDD_2_8V";
     55		regulator-min-microvolt = <2800000>;
     56		regulator-max-microvolt = <2800000>;
     57		gpio = <&gpe1 3 GPIO_ACTIVE_HIGH>;
     58		enable-active-high;
     59	};
     60
     61	wlan_pwrseq: sdhci3-pwrseq {
     62		compatible = "mmc-pwrseq-simple";
     63		reset-gpios = <&gpe3 1 GPIO_ACTIVE_LOW>;
     64	};
     65
     66	gpio-keys {
     67		compatible = "gpio-keys";
     68
     69		vol-up-key {
     70			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
     71			linux,code = <115>;
     72			label = "volume up";
     73			debounce-interval = <1>;
     74		};
     75
     76		vol-down-key {
     77			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
     78			linux,code = <114>;
     79			label = "volume down";
     80			debounce-interval = <1>;
     81		};
     82
     83		config-key {
     84			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
     85			linux,code = <171>;
     86			label = "config";
     87			debounce-interval = <1>;
     88			wakeup-source;
     89		};
     90
     91		camera-key {
     92			gpios = <&gpx2 3 GPIO_ACTIVE_LOW>;
     93			linux,code = <212>;
     94			label = "camera";
     95			debounce-interval = <1>;
     96		};
     97
     98		power-key {
     99			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
    100			linux,code = <116>;
    101			label = "power";
    102			debounce-interval = <1>;
    103			wakeup-source;
    104		};
    105
    106		ok-key {
    107			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
    108			linux,code = <352>;
    109			label = "ok";
    110			debounce-interval = <1>;
    111		};
    112	};
    113
    114	tsp_reg: voltage-regulator {
    115		compatible = "regulator-fixed";
    116		regulator-name = "TSP_2_8V";
    117		regulator-min-microvolt = <2800000>;
    118		regulator-max-microvolt = <2800000>;
    119		gpio = <&gpe2 3 GPIO_ACTIVE_HIGH>;
    120		enable-active-high;
    121	};
    122
    123	spi-3 {
    124		compatible = "spi-gpio";
    125		#address-cells = <1>;
    126		#size-cells = <0>;
    127
    128		sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
    129		mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
    130		num-chipselects = <1>;
    131		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
    132
    133		lcd@0 {
    134			compatible = "samsung,ld9040";
    135			reg = <0>;
    136			vdd3-supply = <&ldo7_reg>;
    137			vci-supply = <&ldo17_reg>;
    138			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
    139			spi-max-frequency = <1200000>;
    140			power-on-delay = <10>;
    141			reset-delay = <10>;
    142			panel-width-mm = <90>;
    143			panel-height-mm = <154>;
    144			display-timings {
    145				timing {
    146					clock-frequency = <23492370>;
    147					hactive = <480>;
    148					vactive = <800>;
    149					hback-porch = <16>;
    150					hfront-porch = <16>;
    151					vback-porch = <2>;
    152					vfront-porch = <28>;
    153					hsync-len = <2>;
    154					vsync-len = <1>;
    155					hsync-active = <0>;
    156					vsync-active = <0>;
    157					de-active = <0>;
    158					pixelclk-active = <0>;
    159				};
    160			};
    161			port {
    162				lcd_ep: endpoint {
    163					remote-endpoint = <&fimd_dpi_ep>;
    164				};
    165			};
    166		};
    167	};
    168
    169	hdmi_en: voltage-regulator-hdmi-5v {
    170		compatible = "regulator-fixed";
    171		regulator-name = "HDMI_5V";
    172		regulator-min-microvolt = <5000000>;
    173		regulator-max-microvolt = <5000000>;
    174		gpio = <&gpe0 1 GPIO_ACTIVE_HIGH>;
    175		enable-active-high;
    176	};
    177
    178	hdmi_ddc: i2c-ddc {
    179		compatible = "i2c-gpio";
    180		sda-gpios = <&gpe4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    181		scl-gpios = <&gpe4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    182		i2c-gpio,delay-us = <100>;
    183		#address-cells = <1>;
    184		#size-cells = <0>;
    185
    186		pinctrl-0 = <&i2c_ddc_bus>;
    187		pinctrl-names = "default";
    188		status = "okay";
    189	};
    190};
    191
    192&camera {
    193	status = "okay";
    194
    195	pinctrl-names = "default";
    196	pinctrl-0 = <>;
    197};
    198
    199&cpu0 {
    200	cpu0-supply = <&vdd_arm_reg>;
    201};
    202
    203&cpu_thermal {
    204	cooling-maps {
    205		map0 {
    206			/* Corresponds to 800MHz */
    207			cooling-device = <&cpu0 2 2>;
    208		};
    209		map1 {
    210			/* Corresponds to 200MHz */
    211			cooling-device = <&cpu0 4 4>;
    212		};
    213	};
    214};
    215
    216&ehci {
    217	status = "okay";
    218	phys = <&exynos_usbphy 1>;
    219	phy-names = "host";
    220};
    221
    222&exynos_usbphy {
    223	status = "okay";
    224	vbus-supply = <&safeout1_reg>;
    225};
    226
    227&fimc_0 {
    228	status = "okay";
    229	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
    230			  <&clock CLK_SCLK_FIMC0>;
    231	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
    232	assigned-clock-rates = <0>, <160000000>;
    233};
    234
    235&fimc_1 {
    236	status = "okay";
    237	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
    238			  <&clock CLK_SCLK_FIMC1>;
    239	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
    240	assigned-clock-rates = <0>, <160000000>;
    241};
    242
    243&fimc_2 {
    244	status = "okay";
    245	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
    246			  <&clock CLK_SCLK_FIMC2>;
    247	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
    248	assigned-clock-rates = <0>, <160000000>;
    249};
    250
    251&fimc_3 {
    252	status = "okay";
    253	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
    254			  <&clock CLK_SCLK_FIMC3>;
    255	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
    256	assigned-clock-rates = <0>, <160000000>;
    257};
    258
    259&fimd {
    260	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
    261	pinctrl-names = "default";
    262	status = "okay";
    263	samsung,invert-vden;
    264	samsung,invert-vclk;
    265	#address-cells = <1>;
    266	#size-cells = <0>;
    267	port@3 {
    268		reg = <3>;
    269		fimd_dpi_ep: endpoint {
    270			remote-endpoint = <&lcd_ep>;
    271		};
    272	};
    273};
    274
    275&gpu {
    276	mali-supply = <&buck2_reg>;
    277	status = "okay";
    278};
    279
    280&hdmi {
    281	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
    282	pinctrl-names = "default";
    283	pinctrl-0 = <&hdmi_hpd>;
    284	hdmi-en-supply = <&hdmi_en>;
    285	vdd-supply = <&ldo3_reg>;
    286	vdd_osc-supply = <&ldo4_reg>;
    287	vdd_pll-supply = <&ldo3_reg>;
    288	ddc = <&hdmi_ddc>;
    289	status = "okay";
    290};
    291
    292&hsotg {
    293	vusb_d-supply = <&ldo3_reg>;
    294	vusb_a-supply = <&ldo8_reg>;
    295	dr_mode = "peripheral";
    296	status = "okay";
    297};
    298
    299&i2c_3 {
    300	samsung,i2c-sda-delay = <100>;
    301	samsung,i2c-slave-addr = <0x10>;
    302	samsung,i2c-max-bus-freq = <100000>;
    303	pinctrl-0 = <&i2c3_bus>;
    304	pinctrl-names = "default";
    305	status = "okay";
    306
    307	tsp@4a {
    308		/* TBD: Atmel maXtouch touchscreen */
    309		reg = <0x4a>;
    310	};
    311};
    312
    313&i2c_5 {
    314	samsung,i2c-sda-delay = <100>;
    315	samsung,i2c-slave-addr = <0x10>;
    316	samsung,i2c-max-bus-freq = <100000>;
    317	pinctrl-0 = <&i2c5_bus>;
    318	pinctrl-names = "default";
    319	status = "okay";
    320
    321	vdd_arm_reg: pmic@60 {
    322		compatible = "maxim,max8952";
    323		reg = <0x60>;
    324
    325		max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
    326				    <&gpx0 4 GPIO_ACTIVE_HIGH>;
    327		max8952,default-mode = <0>;
    328		max8952,dvs-mode-microvolt = <1250000>, <1200000>,
    329						<1050000>, <950000>;
    330		max8952,sync-freq = <0>;
    331		max8952,ramp-speed = <0>;
    332
    333		regulator-name = "VARM_1.2V_C210";
    334		regulator-min-microvolt = <770000>;
    335		regulator-max-microvolt = <1400000>;
    336		regulator-always-on;
    337		regulator-boot-on;
    338	};
    339
    340	pmic@66 {
    341		compatible = "national,lp3974";
    342		interrupts-extended = <&gpx0 7 0>, <&gpx2 7 0>;
    343		pinctrl-names = "default";
    344		pinctrl-0 = <&lp3974_irq>;
    345		reg = <0x66>;
    346
    347		max8998,pmic-buck1-default-dvs-idx = <0>;
    348		max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
    349						<&gpx0 6 GPIO_ACTIVE_HIGH>;
    350		max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
    351						<1100000>, <1000000>;
    352
    353		max8998,pmic-buck2-default-dvs-idx = <0>;
    354		max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
    355		max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
    356
    357		regulators {
    358			ldo2_reg: LDO2 {
    359				regulator-name = "VALIVE_1.2V";
    360				regulator-min-microvolt = <1200000>;
    361				regulator-max-microvolt = <1200000>;
    362				regulator-always-on;
    363			};
    364
    365			ldo3_reg: LDO3 {
    366				regulator-name = "VUSB+MIPI_1.1V";
    367				regulator-min-microvolt = <1100000>;
    368				regulator-max-microvolt = <1100000>;
    369				regulator-always-on;
    370			};
    371
    372			ldo4_reg: LDO4 {
    373				regulator-name = "VADC_3.3V";
    374				regulator-min-microvolt = <3300000>;
    375				regulator-max-microvolt = <3300000>;
    376			};
    377
    378			ldo5_reg: LDO5 {
    379				regulator-name = "VTF_2.8V";
    380				regulator-min-microvolt = <2800000>;
    381				regulator-max-microvolt = <2800000>;
    382			};
    383
    384			ldo6_reg: LDO6 {
    385				regulator-name = "LDO6";
    386				regulator-min-microvolt = <2000000>;
    387				regulator-max-microvolt = <2000000>;
    388			};
    389
    390			ldo7_reg: LDO7 {
    391				regulator-name = "VLCD+VMIPI_1.8V";
    392				regulator-min-microvolt = <1800000>;
    393				regulator-max-microvolt = <1800000>;
    394			};
    395
    396			ldo8_reg: LDO8 {
    397				regulator-name = "VUSB+VDAC_3.3V";
    398				regulator-min-microvolt = <3300000>;
    399				regulator-max-microvolt = <3300000>;
    400				regulator-always-on;
    401			};
    402
    403			ldo9_reg: LDO9 {
    404				regulator-name = "VCC_2.8V";
    405				regulator-min-microvolt = <2800000>;
    406				regulator-max-microvolt = <2800000>;
    407				regulator-always-on;
    408			};
    409
    410			ldo10_reg: LDO10 {
    411				regulator-name = "VPLL_1.1V";
    412				regulator-min-microvolt = <1100000>;
    413				regulator-max-microvolt = <1100000>;
    414				regulator-boot-on;
    415				regulator-always-on;
    416			};
    417
    418			ldo11_reg: LDO11 {
    419				regulator-name = "CAM_AF_3.3V";
    420				regulator-min-microvolt = <3300000>;
    421				regulator-max-microvolt = <3300000>;
    422			};
    423
    424			ldo12_reg: LDO12 {
    425				regulator-name = "PS_2.8V";
    426				regulator-min-microvolt = <2800000>;
    427				regulator-max-microvolt = <2800000>;
    428			};
    429
    430			ldo13_reg: LDO13 {
    431				regulator-name = "VHIC_1.2V";
    432				regulator-min-microvolt = <1200000>;
    433				regulator-max-microvolt = <1200000>;
    434			};
    435
    436			ldo14_reg: LDO14 {
    437				regulator-name = "CAM_I_HOST_1.8V";
    438				regulator-min-microvolt = <1800000>;
    439				regulator-max-microvolt = <1800000>;
    440			};
    441
    442			ldo15_reg: LDO15 {
    443				regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
    444				regulator-min-microvolt = <1200000>;
    445				regulator-max-microvolt = <1200000>;
    446			};
    447
    448			ldo16_reg: LDO16 {
    449				regulator-name = "CAM_S_ANA_2.8V";
    450				regulator-min-microvolt = <2800000>;
    451				regulator-max-microvolt = <2800000>;
    452			};
    453
    454			ldo17_reg: LDO17 {
    455				regulator-name = "VCC_3.0V_LCD";
    456				regulator-min-microvolt = <3000000>;
    457				regulator-max-microvolt = <3000000>;
    458			};
    459
    460			buck1_reg: BUCK1 {
    461				regulator-name = "VINT_1.1V";
    462				regulator-min-microvolt = <750000>;
    463				regulator-max-microvolt = <1500000>;
    464				regulator-boot-on;
    465				regulator-always-on;
    466			};
    467
    468			buck2_reg: BUCK2 {
    469				regulator-name = "VG3D_1.1V";
    470				regulator-min-microvolt = <750000>;
    471				regulator-max-microvolt = <1500000>;
    472				regulator-boot-on;
    473			};
    474
    475			buck3_reg: BUCK3 {
    476				regulator-name = "VCC_1.8V";
    477				regulator-min-microvolt = <1800000>;
    478				regulator-max-microvolt = <1800000>;
    479				regulator-always-on;
    480			};
    481
    482			buck4_reg: BUCK4 {
    483				regulator-name = "VMEM_1.2V";
    484				regulator-min-microvolt = <1200000>;
    485				regulator-max-microvolt = <1200000>;
    486				regulator-always-on;
    487			};
    488
    489			ap32khz_reg: EN32KHz-AP {
    490				regulator-name = "32KHz AP";
    491				regulator-always-on;
    492			};
    493
    494			cp32khz_reg: EN32KHz-CP {
    495				regulator-name = "32KHz CP";
    496			};
    497
    498			vichg_reg: ENVICHG {
    499				regulator-name = "VICHG";
    500			};
    501
    502			safeout1_reg: ESAFEOUT1 {
    503				regulator-name = "SAFEOUT1";
    504			};
    505
    506			safeout2_reg: ESAFEOUT2 {
    507				regulator-name = "SAFEOUT2";
    508				regulator-boot-on;
    509			};
    510		};
    511	};
    512};
    513
    514&i2c_8 {
    515	status = "okay";
    516};
    517
    518&mct {
    519	compatible = "none";
    520};
    521
    522&mdma1 {
    523	/* Use the secure mdma0 */
    524	status = "disabled";
    525};
    526
    527&mixer {
    528	status = "okay";
    529};
    530
    531&ohci {
    532	status = "okay";
    533};
    534
    535&pinctrl_1 {
    536	bt_shutdown: bt-shutdown-pins {
    537		samsung,pins = "gpe1-4";
    538		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
    539		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    540	};
    541
    542	bt_host_wakeup: bt-host-wakeup-pins {
    543		samsung,pins = "gpx2-6";
    544		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
    545		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    546	};
    547
    548	bt_device_wakeup: bt-device-wakeup-pins {
    549		samsung,pins = "gpx3-1";
    550		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
    551		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    552	};
    553
    554	lp3974_irq: lp3974-irq-pins {
    555		samsung,pins = "gpx0-7", "gpx2-7";
    556		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    557	};
    558
    559	hdmi_hpd: hdmi-hpd-pins {
    560		samsung,pins = "gpx3-7";
    561		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    562	};
    563};
    564
    565&pinctrl_0 {
    566	i2c_ddc_bus: i2c-ddc-bus-pins {
    567		samsung,pins = "gpe4-2", "gpe4-3";
    568		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
    569		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
    570		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
    571	};
    572};
    573
    574&pwm {
    575	compatible = "samsung,s5p6440-pwm";
    576	status = "okay";
    577};
    578
    579&rtc {
    580	status = "okay";
    581	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
    582	clock-names = "rtc", "rtc_src";
    583};
    584
    585&sdhci_0 {
    586	bus-width = <8>;
    587	non-removable;
    588	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
    589	pinctrl-names = "default";
    590	vmmc-supply = <&vemmc_reg>;
    591	status = "okay";
    592};
    593
    594&sdhci_2 {
    595	bus-width = <4>;
    596	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
    597	pinctrl-names = "default";
    598	vmmc-supply = <&ldo5_reg>;
    599	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
    600	status = "okay";
    601};
    602
    603&sdhci_3 {
    604	status = "okay";
    605
    606	#address-cells = <1>;
    607	#size-cells = <0>;
    608
    609	non-removable;
    610	bus-width = <4>;
    611	mmc-pwrseq = <&wlan_pwrseq>;
    612	vmmc-supply = <&ldo5_reg>;
    613
    614	pinctrl-names = "default";
    615	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
    616
    617	brcmf: wifi@1 {
    618		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
    619		reg = <1>;
    620		interrupt-parent = <&gpx2>;
    621		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
    622		interrupt-names = "host-wake";
    623	};
    624};
    625
    626&serial_0 {
    627	status = "okay";
    628	/delete-property/dmas;
    629	/delete-property/dma-names;
    630	pinctrl-0 = <&uart0_data &uart0_fctl>;
    631	pinctrl-names = "default";
    632
    633	bluetooth {
    634		compatible = "brcm,bcm4330-bt";
    635		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
    636		pinctrl-names = "default";
    637		shutdown-gpios = <&gpe1 4 GPIO_ACTIVE_HIGH>;
    638		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
    639		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
    640	};
    641};
    642
    643&serial_1 {
    644	status = "okay";
    645	/delete-property/dmas;
    646	/delete-property/dma-names;
    647};
    648
    649&serial_2 {
    650	status = "okay";
    651	/delete-property/dmas;
    652	/delete-property/dma-names;
    653};
    654
    655&serial_3 {
    656	status = "okay";
    657	/delete-property/dmas;
    658	/delete-property/dma-names;
    659};
    660
    661&soc {
    662	mdma0: dma-controller@12840000 {
    663		compatible = "arm,pl330", "arm,primecell";
    664		reg = <0x12840000 0x1000>;
    665		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
    666		clocks = <&clock CLK_MDMA>;
    667		clock-names = "apb_pclk";
    668		#dma-cells = <1>;
    669		power-domains = <&pd_lcd0>;
    670	};
    671};
    672
    673&sysram {
    674	smp-sram@0 {
    675		status = "disabled";
    676	};
    677
    678	smp-sram@5000 {
    679		compatible = "samsung,exynos4210-sysram";
    680		reg = <0x5000 0x1000>;
    681	};
    682
    683	smp-sram@1f000 {
    684		status = "disabled";
    685	};
    686};