162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Base DT for Samsung's family of tablets based on Exynos5420.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
662306a36Sopenharmony_ci *		http://www.samsung.com
762306a36Sopenharmony_ci * Copyright (c) 2022 Henrik Grimler
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/dts-v1/;
1162306a36Sopenharmony_ci#include "exynos5420.dtsi"
1262306a36Sopenharmony_ci#include "exynos5420-cpus.dtsi"
1362306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1462306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1562306a36Sopenharmony_ci#include <dt-bindings/clock/samsung,s2mps11.h>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci/ {
1862306a36Sopenharmony_ci	chassis-type = "tablet";
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	/*
2162306a36Sopenharmony_ci	 * To successfully boot the mainline kernel with the stock
2262306a36Sopenharmony_ci	 * bootloader (SBOOT), the tlb needs to be flushed after the
2362306a36Sopenharmony_ci	 * page table pointer has been updated in __common_mmu_cache_on.
2462306a36Sopenharmony_ci	 * The same hack is also needed to boot exynos4412-i9300 with
2562306a36Sopenharmony_ci	 * stock bootloader, and probably other Samsung devices of
2662306a36Sopenharmony_ci	 * similar age.  See
2762306a36Sopenharmony_ci	 * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
2862306a36Sopenharmony_ci	 * for more details.
2962306a36Sopenharmony_ci	 */
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	aliases {
3262306a36Sopenharmony_ci		mmc0 = &mmc_0;
3362306a36Sopenharmony_ci		mmc2 = &mmc_2;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	chosen {
3762306a36Sopenharmony_ci		stdout-path = "serial2:115200n8";
3862306a36Sopenharmony_ci	};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	memory@20000000 {
4162306a36Sopenharmony_ci		device_type = "memory";
4262306a36Sopenharmony_ci		reg = <0x20000000 0xc0000000>;
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	firmware@2073000 {
4662306a36Sopenharmony_ci		compatible = "samsung,secure-firmware";
4762306a36Sopenharmony_ci		reg = <0x02073000 0x1000>;
4862306a36Sopenharmony_ci	};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	fixed-rate-clocks {
5162306a36Sopenharmony_ci		oscclk {
5262306a36Sopenharmony_ci			compatible = "samsung,exynos5420-oscclk";
5362306a36Sopenharmony_ci			clock-frequency = <24000000>;
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	gpio-keys {
5862306a36Sopenharmony_ci		compatible = "gpio-keys";
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		key-power {
6162306a36Sopenharmony_ci			debounce-interval = <10>;
6262306a36Sopenharmony_ci			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
6362306a36Sopenharmony_ci			label = "Power";
6462306a36Sopenharmony_ci			linux,code = <KEY_POWER>;
6562306a36Sopenharmony_ci			wakeup-source;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		key-home {
6962306a36Sopenharmony_ci			debounce-interval = <10>;
7062306a36Sopenharmony_ci			gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
7162306a36Sopenharmony_ci			label = "Home";
7262306a36Sopenharmony_ci			linux,code = <KEY_HOME>;
7362306a36Sopenharmony_ci			wakeup-source;
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		key-volume-up {
7762306a36Sopenharmony_ci			debounce-interval = <10>;
7862306a36Sopenharmony_ci			gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
7962306a36Sopenharmony_ci			label = "Volume Up";
8062306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEUP>;
8162306a36Sopenharmony_ci		};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci		key-volume-down {
8462306a36Sopenharmony_ci			debounce-interval = <10>;
8562306a36Sopenharmony_ci			gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
8662306a36Sopenharmony_ci			label = "Volume Down";
8762306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEDOWN>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci	};
9062306a36Sopenharmony_ci};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci&cci {
9362306a36Sopenharmony_ci	/* CCI is disabled in hardware */
9462306a36Sopenharmony_ci	status = "disabled";
9562306a36Sopenharmony_ci};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci&cpu0 {
9862306a36Sopenharmony_ci	cpu-supply = <&buck2_reg>;
9962306a36Sopenharmony_ci};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci&cpu4 {
10262306a36Sopenharmony_ci	cpu-supply = <&buck6_reg>;
10362306a36Sopenharmony_ci};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci&gpu {
10662306a36Sopenharmony_ci	status = "okay";
10762306a36Sopenharmony_ci	mali-supply = <&buck4_reg>;
10862306a36Sopenharmony_ci};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci&hsi2c_7 {
11162306a36Sopenharmony_ci	status = "okay";
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	pmic@66 {
11462306a36Sopenharmony_ci		compatible = "samsung,s2mps11-pmic";
11562306a36Sopenharmony_ci		reg = <0x66>;
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci		interrupt-parent = <&gpx3>;
11862306a36Sopenharmony_ci		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
11962306a36Sopenharmony_ci		pinctrl-names = "default";
12062306a36Sopenharmony_ci		pinctrl-0 = <&s2mps11_irq>;
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci		s2mps11_osc: clocks {
12362306a36Sopenharmony_ci			compatible = "samsung,s2mps11-clk";
12462306a36Sopenharmony_ci			#clock-cells = <1>;
12562306a36Sopenharmony_ci			clock-output-names = "s2mps11_ap", "s2mps11_cp",
12662306a36Sopenharmony_ci					     "s2mps11_bt";
12762306a36Sopenharmony_ci		};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci		regulators {
13062306a36Sopenharmony_ci			buck1_reg: BUCK1 {
13162306a36Sopenharmony_ci				regulator-name = "VDD_MIF_1V1";
13262306a36Sopenharmony_ci				regulator-min-microvolt = <700000>;
13362306a36Sopenharmony_ci				regulator-max-microvolt = <1300000>;
13462306a36Sopenharmony_ci				regulator-always-on;
13562306a36Sopenharmony_ci				regulator-boot-on;
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci				regulator-state-mem {
13862306a36Sopenharmony_ci					regulator-off-in-suspend;
13962306a36Sopenharmony_ci				};
14062306a36Sopenharmony_ci			};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci			buck2_reg: BUCK2 {
14362306a36Sopenharmony_ci				regulator-name = "VDD_ARM_1V0";
14462306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
14562306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
14662306a36Sopenharmony_ci				regulator-always-on;
14762306a36Sopenharmony_ci				regulator-boot-on;
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci				regulator-state-mem {
15062306a36Sopenharmony_ci					regulator-off-in-suspend;
15162306a36Sopenharmony_ci				};
15262306a36Sopenharmony_ci			};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci			buck3_reg: BUCK3 {
15562306a36Sopenharmony_ci				regulator-name = "VDD_INT_1V0";
15662306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
15762306a36Sopenharmony_ci				regulator-max-microvolt = <1400000>;
15862306a36Sopenharmony_ci				regulator-always-on;
15962306a36Sopenharmony_ci				regulator-boot-on;
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci				regulator-state-mem {
16262306a36Sopenharmony_ci					regulator-off-in-suspend;
16362306a36Sopenharmony_ci				};
16462306a36Sopenharmony_ci			};
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci			buck4_reg: BUCK4 {
16762306a36Sopenharmony_ci				regulator-name = "VDD_G3D_1V0";
16862306a36Sopenharmony_ci				regulator-min-microvolt = <700000>;
16962306a36Sopenharmony_ci				regulator-max-microvolt = <1400000>;
17062306a36Sopenharmony_ci				regulator-always-on;
17162306a36Sopenharmony_ci				regulator-boot-on;
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci				regulator-state-mem {
17462306a36Sopenharmony_ci					regulator-off-in-suspend;
17562306a36Sopenharmony_ci				};
17662306a36Sopenharmony_ci			};
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci			buck5_reg: BUCK5 {
17962306a36Sopenharmony_ci				regulator-name = "VDD_MEM_1V2";
18062306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
18162306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
18262306a36Sopenharmony_ci				regulator-always-on;
18362306a36Sopenharmony_ci				regulator-boot-on;
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci				regulator-state-mem {
18662306a36Sopenharmony_ci					regulator-off-in-suspend;
18762306a36Sopenharmony_ci				};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci			};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci			buck6_reg: BUCK6 {
19262306a36Sopenharmony_ci				regulator-name = "VDD_KFC_1V0";
19362306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
19462306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
19562306a36Sopenharmony_ci				regulator-always-on;
19662306a36Sopenharmony_ci				regulator-boot-on;
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci				regulator-state-mem {
19962306a36Sopenharmony_ci					regulator-off-in-suspend;
20062306a36Sopenharmony_ci				};
20162306a36Sopenharmony_ci			};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci			buck7_reg: BUCK7 {
20462306a36Sopenharmony_ci				regulator-name = "VIN_LLDO_1V4";
20562306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
20662306a36Sopenharmony_ci				regulator-max-microvolt = <1500000>;
20762306a36Sopenharmony_ci				regulator-always-on;
20862306a36Sopenharmony_ci			};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci			buck8_reg: BUCK8 {
21162306a36Sopenharmony_ci				regulator-name = "VIN_MLDO_2V0";
21262306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
21362306a36Sopenharmony_ci				regulator-max-microvolt = <2100000>;
21462306a36Sopenharmony_ci				regulator-always-on;
21562306a36Sopenharmony_ci			};
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ci			buck9_reg: BUCK9 {
21862306a36Sopenharmony_ci				regulator-name = "VIN_HLDO_3V5";
21962306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
22062306a36Sopenharmony_ci				regulator-max-microvolt = <3500000>;
22162306a36Sopenharmony_ci				regulator-always-on;
22262306a36Sopenharmony_ci			};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci			buck10_reg: BUCK10 {
22562306a36Sopenharmony_ci				regulator-name = "VDD_CAM_ISP_1V0";
22662306a36Sopenharmony_ci				regulator-min-microvolt = <750000>;
22762306a36Sopenharmony_ci				regulator-max-microvolt = <3550000>;
22862306a36Sopenharmony_ci			};
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci			ldo1_reg: LDO1 {
23162306a36Sopenharmony_ci				regulator-name = "VDD_ALIVE_1.0V";
23262306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
23362306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
23462306a36Sopenharmony_ci				regulator-always-on;
23562306a36Sopenharmony_ci			};
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci			ldo2_reg: LDO2 {
23862306a36Sopenharmony_ci				regulator-name = "VDD_APIO_1V8";
23962306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
24062306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
24162306a36Sopenharmony_ci				regulator-always-on;
24262306a36Sopenharmony_ci				regulator-boot-on;
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci				regulator-state-mem {
24562306a36Sopenharmony_ci					regulator-on-in-suspend;
24662306a36Sopenharmony_ci				};
24762306a36Sopenharmony_ci			};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci			ldo3_reg: LDO3 {
25062306a36Sopenharmony_ci				regulator-name = "VDD_APIO_MMC01_1V8";
25162306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
25262306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
25362306a36Sopenharmony_ci				regulator-always-on;
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci				regulator-state-mem {
25662306a36Sopenharmony_ci					regulator-off-in-suspend;
25762306a36Sopenharmony_ci				};
25862306a36Sopenharmony_ci			};
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci			ldo4_reg: LDO4 {
26162306a36Sopenharmony_ci				regulator-name = "VDD_ADC_1V8";
26262306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
26362306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
26462306a36Sopenharmony_ci				regulator-always-on;
26562306a36Sopenharmony_ci				regulator-boot-on;
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci				regulator-state-mem {
26862306a36Sopenharmony_ci					regulator-on-in-suspend;
26962306a36Sopenharmony_ci				};
27062306a36Sopenharmony_ci			};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci			ldo5_reg: LDO5 {
27362306a36Sopenharmony_ci				/* Unused */
27462306a36Sopenharmony_ci				regulator-name = "VDD_LDO5";
27562306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
27662306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
27762306a36Sopenharmony_ci			};
27862306a36Sopenharmony_ci
27962306a36Sopenharmony_ci			ldo6_reg: LDO6 {
28062306a36Sopenharmony_ci				regulator-name = "VDD_MIPI_1V0";
28162306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
28262306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
28362306a36Sopenharmony_ci				regulator-always-on;
28462306a36Sopenharmony_ci				regulator-boot-on;
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci				regulator-state-mem {
28762306a36Sopenharmony_ci					regulator-off-in-suspend;
28862306a36Sopenharmony_ci				};
28962306a36Sopenharmony_ci			};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci			ldo7_reg: LDO7 {
29262306a36Sopenharmony_ci				regulator-name = "VDD_MIPI_PLL_ABB1_18V";
29362306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
29462306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
29562306a36Sopenharmony_ci				regulator-always-on;
29662306a36Sopenharmony_ci				regulator-boot-on;
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci				regulator-state-mem {
29962306a36Sopenharmony_ci					regulator-off-in-suspend;
30062306a36Sopenharmony_ci				};
30162306a36Sopenharmony_ci			};
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_ci			ldo8_reg: LDO8 {
30462306a36Sopenharmony_ci				/* Unused */
30562306a36Sopenharmony_ci				regulator-name = "VDD_LDO8";
30662306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
30762306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
30862306a36Sopenharmony_ci			};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci			ldo9_reg: LDO9 {
31162306a36Sopenharmony_ci				regulator-name = "VDD_UOTG_3V0";
31262306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
31362306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
31462306a36Sopenharmony_ci				regulator-always-on;
31562306a36Sopenharmony_ci				regulator-boot-on;
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci				regulator-state-mem {
31862306a36Sopenharmony_ci					regulator-on-in-suspend;
31962306a36Sopenharmony_ci				};
32062306a36Sopenharmony_ci			};
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci			ldo10_reg: LDO10 {
32362306a36Sopenharmony_ci				regulator-name = "VDDQ_PRE_1V8";
32462306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
32562306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
32662306a36Sopenharmony_ci				regulator-always-on;
32762306a36Sopenharmony_ci				regulator-boot-on;
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci				regulator-state-mem {
33062306a36Sopenharmony_ci					regulator-on-in-suspend;
33162306a36Sopenharmony_ci				};
33262306a36Sopenharmony_ci			};
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci			ldo11_reg: LDO11 {
33562306a36Sopenharmony_ci				regulator-name = "VDD_HSIC_1V0";
33662306a36Sopenharmony_ci				regulator-min-microvolt = <1000000>;
33762306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
33862306a36Sopenharmony_ci				regulator-always-on;
33962306a36Sopenharmony_ci				regulator-boot-on;
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci				regulator-state-mem {
34262306a36Sopenharmony_ci					regulator-on-in-suspend;
34362306a36Sopenharmony_ci				};
34462306a36Sopenharmony_ci			};
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_ci			ldo12_reg: LDO12 {
34762306a36Sopenharmony_ci				regulator-name = "VDD_HSIC_1V8";
34862306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
34962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
35062306a36Sopenharmony_ci				regulator-always-on;
35162306a36Sopenharmony_ci				regulator-boot-on;
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci				regulator-state-mem {
35462306a36Sopenharmony_ci					regulator-on-in-suspend;
35562306a36Sopenharmony_ci				};
35662306a36Sopenharmony_ci			};
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci			ldo13_reg: LDO13 {
35962306a36Sopenharmony_ci				regulator-name = "VDD_APIO_MMC2_2V8";
36062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
36162306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
36262306a36Sopenharmony_ci				regulator-boot-on;
36362306a36Sopenharmony_ci
36462306a36Sopenharmony_ci				regulator-state-mem {
36562306a36Sopenharmony_ci					regulator-off-in-suspend;
36662306a36Sopenharmony_ci				};
36762306a36Sopenharmony_ci			};
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci			ldo14_reg: LDO14 {
37062306a36Sopenharmony_ci				regulator-name = "VDD_MOTOR_3V0";
37162306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
37262306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci				regulator-state-mem {
37562306a36Sopenharmony_ci					regulator-off-in-suspend;
37662306a36Sopenharmony_ci				};
37762306a36Sopenharmony_ci			};
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci			ldo15_reg: LDO15 {
38062306a36Sopenharmony_ci				regulator-name = "VDD_LDO15";
38162306a36Sopenharmony_ci				/*
38262306a36Sopenharmony_ci				 * LDO15 varies between devices and is
38362306a36Sopenharmony_ci				 * specified in the device dts
38462306a36Sopenharmony_ci				 */
38562306a36Sopenharmony_ci			};
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci			ldo16_reg: LDO16 {
38862306a36Sopenharmony_ci				regulator-name = "VDD_AP_2V8";
38962306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
39062306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
39162306a36Sopenharmony_ci				regulator-always-on;
39262306a36Sopenharmony_ci				regulator-boot-on;
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_ci				regulator-state-mem {
39562306a36Sopenharmony_ci					regulator-on-in-suspend;
39662306a36Sopenharmony_ci				};
39762306a36Sopenharmony_ci			};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci			ldo17_reg: LDO17 {
40062306a36Sopenharmony_ci				regulator-name = "VDD_LDO17";
40162306a36Sopenharmony_ci				/*
40262306a36Sopenharmony_ci				 * LDO17 varies between devices and is
40362306a36Sopenharmony_ci				 * specified in the device dts
40462306a36Sopenharmony_ci				 */
40562306a36Sopenharmony_ci			};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_ci			ldo18_reg: LDO18 {
40862306a36Sopenharmony_ci				/* Unused */
40962306a36Sopenharmony_ci				regulator-name = "VDD_LDO18";
41062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
41162306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
41262306a36Sopenharmony_ci			};
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci			ldo19_reg: LDO19 {
41562306a36Sopenharmony_ci				regulator-name = "VDD_VTF_2V8";
41662306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
41762306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci				regulator-state-mem {
42062306a36Sopenharmony_ci					regulator-off-in-suspend;
42162306a36Sopenharmony_ci				};
42262306a36Sopenharmony_ci			};
42362306a36Sopenharmony_ci
42462306a36Sopenharmony_ci			ldo20_reg: LDO20 {
42562306a36Sopenharmony_ci				regulator-name = "VDD_CAM1_CAM_1V8";
42662306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
42762306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci				regulator-state-mem {
43062306a36Sopenharmony_ci					regulator-off-in-suspend;
43162306a36Sopenharmony_ci				};
43262306a36Sopenharmony_ci			};
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ci			ldo21_reg: LDO21 {
43562306a36Sopenharmony_ci				regulator-name = "VDD_CAM_IO_1V8";
43662306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
43762306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci				regulator-state-mem {
44062306a36Sopenharmony_ci					regulator-off-in-suspend;
44162306a36Sopenharmony_ci				};
44262306a36Sopenharmony_ci			};
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ci			ldo22_reg: LDO22 {
44562306a36Sopenharmony_ci				regulator-name = "VDD_CAM0_S_CORE_1V1";
44662306a36Sopenharmony_ci				regulator-min-microvolt = <1050000>;
44762306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
44862306a36Sopenharmony_ci
44962306a36Sopenharmony_ci				regulator-state-mem {
45062306a36Sopenharmony_ci					regulator-off-in-suspend;
45162306a36Sopenharmony_ci				};
45262306a36Sopenharmony_ci			};
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_ci			ldo23_reg: LDO23 {
45562306a36Sopenharmony_ci				regulator-name = "VDD_MIFS_1V1";
45662306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
45762306a36Sopenharmony_ci				regulator-max-microvolt = <1100000>;
45862306a36Sopenharmony_ci				regulator-always-on;
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci				regulator-state-mem {
46162306a36Sopenharmony_ci					regulator-on-in-suspend;
46262306a36Sopenharmony_ci				};
46362306a36Sopenharmony_ci			};
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci			ldo24_reg: LDO24 {
46662306a36Sopenharmony_ci				regulator-name = "VDD_TSP_3V3";
46762306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
46862306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ci				regulator-state-mem {
47162306a36Sopenharmony_ci					regulator-off-in-suspend;
47262306a36Sopenharmony_ci				};
47362306a36Sopenharmony_ci			};
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci			ldo25_reg: LDO25 {
47662306a36Sopenharmony_ci				/* Unused */
47762306a36Sopenharmony_ci				regulator-name = "VDD_LDO25";
47862306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
47962306a36Sopenharmony_ci				regulator-max-microvolt = <3950000>;
48062306a36Sopenharmony_ci			};
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci			ldo26_reg: LDO26 {
48362306a36Sopenharmony_ci				regulator-name = "VDD_CAM0_AF_2V8";
48462306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
48562306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci				regulator-state-mem {
48862306a36Sopenharmony_ci					regulator-off-in-suspend;
48962306a36Sopenharmony_ci				};
49062306a36Sopenharmony_ci			};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci			ldo27_reg: LDO27 {
49362306a36Sopenharmony_ci				regulator-name = "VDD_G3DS_1V0";
49462306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
49562306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
49662306a36Sopenharmony_ci				regulator-always-on;
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci				regulator-state-mem {
49962306a36Sopenharmony_ci					regulator-on-in-suspend;
50062306a36Sopenharmony_ci				};
50162306a36Sopenharmony_ci			};
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_ci			ldo28_reg: LDO28 {
50462306a36Sopenharmony_ci				regulator-name = "VDD_LDO28";
50562306a36Sopenharmony_ci				/*
50662306a36Sopenharmony_ci				 * LDO28 varies between devices and is
50762306a36Sopenharmony_ci				 * specified in the device dts
50862306a36Sopenharmony_ci				 */
50962306a36Sopenharmony_ci			};
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci			ldo29_reg: LDO29 {
51262306a36Sopenharmony_ci				regulator-name = "VDD_LDO29";
51362306a36Sopenharmony_ci				/*
51462306a36Sopenharmony_ci				 * LDO29 varies between devices and is
51562306a36Sopenharmony_ci				 * specified in the device dts
51662306a36Sopenharmony_ci				 */
51762306a36Sopenharmony_ci			};
51862306a36Sopenharmony_ci
51962306a36Sopenharmony_ci			ldo30_reg: LDO30 {
52062306a36Sopenharmony_ci				regulator-name = "VDD_TOUCH_1V8";
52162306a36Sopenharmony_ci				regulator-min-microvolt = <1900000>;
52262306a36Sopenharmony_ci				regulator-max-microvolt = <1900000>;
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci				regulator-state-mem {
52562306a36Sopenharmony_ci					regulator-off-in-suspend;
52662306a36Sopenharmony_ci				};
52762306a36Sopenharmony_ci			};
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci			ldo31_reg: LDO31 {
53062306a36Sopenharmony_ci				regulator-name = "VDD_LDO31";
53162306a36Sopenharmony_ci				/*
53262306a36Sopenharmony_ci				 * LDO31 varies between devices and is
53362306a36Sopenharmony_ci				 * specified in the device dts
53462306a36Sopenharmony_ci				 */
53562306a36Sopenharmony_ci			};
53662306a36Sopenharmony_ci
53762306a36Sopenharmony_ci			ldo32_reg: LDO32 {
53862306a36Sopenharmony_ci				regulator-name = "VDD_LDO32";
53962306a36Sopenharmony_ci				/*
54062306a36Sopenharmony_ci				 * LDO32 varies between devices and is
54162306a36Sopenharmony_ci				 * specified in the device dts
54262306a36Sopenharmony_ci				 */
54362306a36Sopenharmony_ci			};
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci			ldo33_reg: LDO33 {
54662306a36Sopenharmony_ci				regulator-name = "VDD_MHL_1V8";
54762306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
54862306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci				regulator-state-mem {
55162306a36Sopenharmony_ci					regulator-off-in-suspend;
55262306a36Sopenharmony_ci				};
55362306a36Sopenharmony_ci			};
55462306a36Sopenharmony_ci
55562306a36Sopenharmony_ci			ldo34_reg: LDO34 {
55662306a36Sopenharmony_ci				regulator-name = "VDD_MHL_3V3";
55762306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
55862306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
55962306a36Sopenharmony_ci
56062306a36Sopenharmony_ci				regulator-state-mem {
56162306a36Sopenharmony_ci					regulator-off-in-suspend;
56262306a36Sopenharmony_ci				};
56362306a36Sopenharmony_ci			};
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_ci			ldo35_reg: LDO35 {
56662306a36Sopenharmony_ci				regulator-name = "VDD_SIL_1V2";
56762306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
56862306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci				regulator-state-mem {
57162306a36Sopenharmony_ci					regulator-off-in-suspend;
57262306a36Sopenharmony_ci				};
57362306a36Sopenharmony_ci			};
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_ci			ldo36_reg: LDO36 {
57662306a36Sopenharmony_ci				/* Unused */
57762306a36Sopenharmony_ci				regulator-name = "VDD_LDO36";
57862306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
57962306a36Sopenharmony_ci				regulator-max-microvolt = <3950000>;
58062306a36Sopenharmony_ci			};
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_ci			ldo37_reg: LDO37 {
58362306a36Sopenharmony_ci				/* Unused */
58462306a36Sopenharmony_ci				regulator-name = "VDD_LDO37";
58562306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
58662306a36Sopenharmony_ci				regulator-max-microvolt = <3950000>;
58762306a36Sopenharmony_ci			};
58862306a36Sopenharmony_ci
58962306a36Sopenharmony_ci			ldo38_reg: LDO38 {
59062306a36Sopenharmony_ci				regulator-name = "VDD_KEY_LED_3V3";
59162306a36Sopenharmony_ci				regulator-min-microvolt = <2500000>;
59262306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci				regulator-state-mem {
59562306a36Sopenharmony_ci					regulator-off-in-suspend;
59662306a36Sopenharmony_ci				};
59762306a36Sopenharmony_ci			};
59862306a36Sopenharmony_ci		};
59962306a36Sopenharmony_ci	};
60062306a36Sopenharmony_ci};
60162306a36Sopenharmony_ci
60262306a36Sopenharmony_ci&mixer {
60362306a36Sopenharmony_ci	status = "okay";
60462306a36Sopenharmony_ci};
60562306a36Sopenharmony_ci
60662306a36Sopenharmony_ci/* Internal storage */
60762306a36Sopenharmony_ci&mmc_0 {
60862306a36Sopenharmony_ci	status = "okay";
60962306a36Sopenharmony_ci	bus-width = <8>;
61062306a36Sopenharmony_ci	cap-mmc-highspeed;
61162306a36Sopenharmony_ci	card-detect-delay = <200>;
61262306a36Sopenharmony_ci	mmc-ddr-1_8v;
61362306a36Sopenharmony_ci	mmc-hs200-1_8v;
61462306a36Sopenharmony_ci	non-removable;
61562306a36Sopenharmony_ci	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
61662306a36Sopenharmony_ci	pinctrl-names = "default";
61762306a36Sopenharmony_ci	samsung,dw-mshc-ciu-div = <3>;
61862306a36Sopenharmony_ci	samsung,dw-mshc-ddr-timing = <0 2>;
61962306a36Sopenharmony_ci	samsung,dw-mshc-sdr-timing = <0 4>;
62062306a36Sopenharmony_ci	vqmmc-supply = <&ldo3_reg>;
62162306a36Sopenharmony_ci};
62262306a36Sopenharmony_ci
62362306a36Sopenharmony_ci/* External sdcard */
62462306a36Sopenharmony_ci&mmc_2 {
62562306a36Sopenharmony_ci	status = "okay";
62662306a36Sopenharmony_ci	bus-width = <4>;
62762306a36Sopenharmony_ci	cap-sd-highspeed;
62862306a36Sopenharmony_ci	card-detect-delay = <200>;
62962306a36Sopenharmony_ci	cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
63062306a36Sopenharmony_ci	pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
63162306a36Sopenharmony_ci	pinctrl-names = "default";
63262306a36Sopenharmony_ci	samsung,dw-mshc-ciu-div = <3>;
63362306a36Sopenharmony_ci	samsung,dw-mshc-ddr-timing = <0 2>;
63462306a36Sopenharmony_ci	samsung,dw-mshc-sdr-timing = <0 4>;
63562306a36Sopenharmony_ci	sd-uhs-sdr50;
63662306a36Sopenharmony_ci	vmmc-supply = <&ldo19_reg>;
63762306a36Sopenharmony_ci	vqmmc-supply = <&ldo13_reg>;
63862306a36Sopenharmony_ci};
63962306a36Sopenharmony_ci
64062306a36Sopenharmony_ci&pinctrl_0 {
64162306a36Sopenharmony_ci	mmc2_cd: mmc2-cd-pins {
64262306a36Sopenharmony_ci		samsung,pins = "gpx2-4";
64362306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
64462306a36Sopenharmony_ci	};
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_ci	s2mps11_irq: s2mps11-irq-pins {
64762306a36Sopenharmony_ci		samsung,pins = "gpx3-0";
64862306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
64962306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
65062306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
65162306a36Sopenharmony_ci	};
65262306a36Sopenharmony_ci};
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_ci&rtc {
65562306a36Sopenharmony_ci	status = "okay";
65662306a36Sopenharmony_ci	clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
65762306a36Sopenharmony_ci	clock-names = "rtc", "rtc_src";
65862306a36Sopenharmony_ci};
65962306a36Sopenharmony_ci
66062306a36Sopenharmony_ci&tmu_cpu0 {
66162306a36Sopenharmony_ci	vtmu-supply = <&ldo10_reg>;
66262306a36Sopenharmony_ci};
66362306a36Sopenharmony_ci
66462306a36Sopenharmony_ci&tmu_cpu1 {
66562306a36Sopenharmony_ci	vtmu-supply = <&ldo10_reg>;
66662306a36Sopenharmony_ci};
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ci&tmu_cpu2 {
66962306a36Sopenharmony_ci	vtmu-supply = <&ldo10_reg>;
67062306a36Sopenharmony_ci};
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_ci&tmu_cpu3 {
67362306a36Sopenharmony_ci	vtmu-supply = <&ldo10_reg>;
67462306a36Sopenharmony_ci};
67562306a36Sopenharmony_ci
67662306a36Sopenharmony_ci&tmu_gpu {
67762306a36Sopenharmony_ci	vtmu-supply = <&ldo10_reg>;
67862306a36Sopenharmony_ci};
67962306a36Sopenharmony_ci
68062306a36Sopenharmony_ci&usbdrd_dwc3_0 {
68162306a36Sopenharmony_ci	dr_mode = "peripheral";
68262306a36Sopenharmony_ci};
68362306a36Sopenharmony_ci
68462306a36Sopenharmony_ci&usbdrd_dwc3_1 {
68562306a36Sopenharmony_ci	dr_mode = "peripheral";
68662306a36Sopenharmony_ci};
68762306a36Sopenharmony_ci
68862306a36Sopenharmony_ci&usbdrd3_0 {
68962306a36Sopenharmony_ci	vdd33-supply = <&ldo9_reg>;
69062306a36Sopenharmony_ci	vdd10-supply = <&ldo11_reg>;
69162306a36Sopenharmony_ci};
69262306a36Sopenharmony_ci
69362306a36Sopenharmony_ci&usbdrd3_1 {
69462306a36Sopenharmony_ci	vdd33-supply = <&ldo9_reg>;
69562306a36Sopenharmony_ci	vdd10-supply = <&ldo11_reg>;
69662306a36Sopenharmony_ci};
697