162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2012 Samsung Electronics Co., Ltd.
662306a36Sopenharmony_ci *		http://www.samsung.com
762306a36Sopenharmony_ci * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
862306a36Sopenharmony_ci * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/dts-v1/;
1262306a36Sopenharmony_ci#include "exynos4210.dtsi"
1362306a36Sopenharmony_ci#include "exynos4412-ppmu-common.dtsi"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1662306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/ {
1962306a36Sopenharmony_ci	model = "Samsung Galaxy S2 (GT-I9100)";
2062306a36Sopenharmony_ci	compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
2162306a36Sopenharmony_ci	chassis-type = "handset";
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	memory@40000000 {
2462306a36Sopenharmony_ci		device_type = "memory";
2562306a36Sopenharmony_ci		reg = <0x40000000 0x40000000>;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	aliases {
2962306a36Sopenharmony_ci		mmc0 = &sdhci_0;
3062306a36Sopenharmony_ci		mmc1 = &sdhci_2;
3162306a36Sopenharmony_ci		mmc2 = &sdhci_3;
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	chosen {
3562306a36Sopenharmony_ci		stdout-path = "serial2:115200n8";
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	vemmc_reg: regulator-0 {
3962306a36Sopenharmony_ci		compatible = "regulator-fixed";
4062306a36Sopenharmony_ci		regulator-name = "VMEM_VDD_2.8V";
4162306a36Sopenharmony_ci		regulator-min-microvolt = <2800000>;
4262306a36Sopenharmony_ci		regulator-max-microvolt = <2800000>;
4362306a36Sopenharmony_ci		gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
4462306a36Sopenharmony_ci		enable-active-high;
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	tsp_reg: regulator-1 {
4862306a36Sopenharmony_ci		compatible = "regulator-fixed";
4962306a36Sopenharmony_ci		regulator-name = "TSP_FIXED_VOLTAGES";
5062306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
5162306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
5262306a36Sopenharmony_ci		gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
5362306a36Sopenharmony_ci		startup-delay-us = <70000>;
5462306a36Sopenharmony_ci		enable-active-high;
5562306a36Sopenharmony_ci		regulator-boot-on;
5662306a36Sopenharmony_ci		regulator-always-on;
5762306a36Sopenharmony_ci	};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	cam_af_28v_reg: regulator-2 {
6062306a36Sopenharmony_ci		compatible = "regulator-fixed";
6162306a36Sopenharmony_ci		regulator-name = "8M_AF_2.8V_EN";
6262306a36Sopenharmony_ci		regulator-min-microvolt = <2800000>;
6362306a36Sopenharmony_ci		regulator-max-microvolt = <2800000>;
6462306a36Sopenharmony_ci		gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
6562306a36Sopenharmony_ci		enable-active-high;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	cam_io_en_reg: regulator-3 {
6962306a36Sopenharmony_ci		compatible = "regulator-fixed";
7062306a36Sopenharmony_ci		regulator-name = "CAM_IO_EN";
7162306a36Sopenharmony_ci		regulator-min-microvolt = <2800000>;
7262306a36Sopenharmony_ci		regulator-max-microvolt = <2800000>;
7362306a36Sopenharmony_ci		gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci		enable-active-high;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	cam_io_12v_reg: regulator-4 {
7862306a36Sopenharmony_ci		compatible = "regulator-fixed";
7962306a36Sopenharmony_ci		regulator-name = "8M_1.2V_EN";
8062306a36Sopenharmony_ci		regulator-min-microvolt = <1200000>;
8162306a36Sopenharmony_ci		regulator-max-microvolt = <1200000>;
8262306a36Sopenharmony_ci		gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
8362306a36Sopenharmony_ci		enable-active-high;
8462306a36Sopenharmony_ci	};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	vt_core_15v_reg: regulator-5 {
8762306a36Sopenharmony_ci		compatible = "regulator-fixed";
8862306a36Sopenharmony_ci		regulator-name = "VT_CORE_1.5V";
8962306a36Sopenharmony_ci		regulator-min-microvolt = <1500000>;
9062306a36Sopenharmony_ci		regulator-max-microvolt = <1500000>;
9162306a36Sopenharmony_ci		gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
9262306a36Sopenharmony_ci		enable-active-high;
9362306a36Sopenharmony_ci	};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	gpio-keys {
9662306a36Sopenharmony_ci		compatible = "gpio-keys";
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		key-vol-down {
9962306a36Sopenharmony_ci			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
10062306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEDOWN>;
10162306a36Sopenharmony_ci			label = "volume down";
10262306a36Sopenharmony_ci			debounce-interval = <10>;
10362306a36Sopenharmony_ci		};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci		key-vol-up {
10662306a36Sopenharmony_ci			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
10762306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEUP>;
10862306a36Sopenharmony_ci			label = "volume up";
10962306a36Sopenharmony_ci			debounce-interval = <10>;
11062306a36Sopenharmony_ci		};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci		key-power {
11362306a36Sopenharmony_ci			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
11462306a36Sopenharmony_ci			linux,code = <KEY_POWER>;
11562306a36Sopenharmony_ci			label = "power";
11662306a36Sopenharmony_ci			debounce-interval = <10>;
11762306a36Sopenharmony_ci			wakeup-source;
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci		key-ok {
12162306a36Sopenharmony_ci			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
12262306a36Sopenharmony_ci			linux,code = <KEY_OK>;
12362306a36Sopenharmony_ci			label = "ok";
12462306a36Sopenharmony_ci			debounce-interval = <10>;
12562306a36Sopenharmony_ci		};
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	wlan_pwrseq: sdhci3-pwrseq {
12962306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
13062306a36Sopenharmony_ci		reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
13162306a36Sopenharmony_ci	};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci	i2c_max17042_fuel: i2c-gpio-0 {
13462306a36Sopenharmony_ci		compatible = "i2c-gpio";
13562306a36Sopenharmony_ci		#address-cells = <1>;
13662306a36Sopenharmony_ci		#size-cells = <0>;
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
13962306a36Sopenharmony_ci		scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
14062306a36Sopenharmony_ci		i2c-gpio,delay-us = <5>;
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci		battery@36 {
14362306a36Sopenharmony_ci			compatible = "maxim,max17042";
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci			interrupt-parent = <&gpx2>;
14662306a36Sopenharmony_ci			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci			pinctrl-0 = <&max17042_fuel_irq>;
14962306a36Sopenharmony_ci			pinctrl-names = "default";
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci			reg = <0x36>;
15262306a36Sopenharmony_ci			maxim,over-heat-temp = <700>;
15362306a36Sopenharmony_ci			maxim,over-volt = <4500>;
15462306a36Sopenharmony_ci		};
15562306a36Sopenharmony_ci	};
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	i2c_s5k5baf: i2c-gpio-1 {
15862306a36Sopenharmony_ci		compatible = "i2c-gpio";
15962306a36Sopenharmony_ci		#address-cells = <1>;
16062306a36Sopenharmony_ci		#size-cells = <0>;
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci		sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
16362306a36Sopenharmony_ci		scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
16462306a36Sopenharmony_ci		i2c-gpio,delay-us = <2>;
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci		image-sensor@2d {
16762306a36Sopenharmony_ci			compatible = "samsung,s5k5baf";
16862306a36Sopenharmony_ci			reg = <0x2d>;
16962306a36Sopenharmony_ci			vdda-supply = <&cam_io_en_reg>;
17062306a36Sopenharmony_ci			vddreg-supply = <&vt_core_15v_reg>;
17162306a36Sopenharmony_ci			vddio-supply = <&vtcam_reg>;
17262306a36Sopenharmony_ci			clocks = <&camera 0>;
17362306a36Sopenharmony_ci			clock-names = "mclk";
17462306a36Sopenharmony_ci			stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
17562306a36Sopenharmony_ci			rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
17662306a36Sopenharmony_ci			clock-frequency = <24000000>;
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci			port {
17962306a36Sopenharmony_ci				s5k5bafx_ep: endpoint {
18062306a36Sopenharmony_ci					remote-endpoint = <&csis1_ep>;
18162306a36Sopenharmony_ci					data-lanes = <1>;
18262306a36Sopenharmony_ci				};
18362306a36Sopenharmony_ci			};
18462306a36Sopenharmony_ci		};
18562306a36Sopenharmony_ci	};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	spi-3 {
18862306a36Sopenharmony_ci		compatible = "spi-gpio";
18962306a36Sopenharmony_ci		#address-cells = <1>;
19062306a36Sopenharmony_ci		#size-cells = <0>;
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci		num-chipselects = <1>;
19362306a36Sopenharmony_ci		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
19462306a36Sopenharmony_ci		sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
19562306a36Sopenharmony_ci		mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci		lcd@0 {
19862306a36Sopenharmony_ci			compatible = "samsung,ld9040";
19962306a36Sopenharmony_ci			reg = <0>;
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci			spi-max-frequency = <1200000>;
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci			vdd3-supply = <&vmipi_reg>;
20462306a36Sopenharmony_ci			vci-supply = <&vcclcd_reg>;
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
20762306a36Sopenharmony_ci			power-on-delay = <10>;
20862306a36Sopenharmony_ci			reset-delay = <10>;
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci			panel-width-mm = <56>;
21162306a36Sopenharmony_ci			panel-height-mm = <93>;
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci			display-timings {
21462306a36Sopenharmony_ci				timing {
21562306a36Sopenharmony_ci					clock-frequency = <23492370>;
21662306a36Sopenharmony_ci					hactive = <480>;
21762306a36Sopenharmony_ci					vactive = <800>;
21862306a36Sopenharmony_ci					hback-porch = <16>;
21962306a36Sopenharmony_ci					hfront-porch = <16>;
22062306a36Sopenharmony_ci					vback-porch = <2>;
22162306a36Sopenharmony_ci					vfront-porch = <28>;
22262306a36Sopenharmony_ci					hsync-len = <2>;
22362306a36Sopenharmony_ci					vsync-len = <1>;
22462306a36Sopenharmony_ci					hsync-active = <0>;
22562306a36Sopenharmony_ci					vsync-active = <0>;
22662306a36Sopenharmony_ci					de-active = <0>;
22762306a36Sopenharmony_ci					pixelclk-active = <0>;
22862306a36Sopenharmony_ci				};
22962306a36Sopenharmony_ci			};
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ci			port {
23262306a36Sopenharmony_ci				lcd_ep: endpoint {
23362306a36Sopenharmony_ci					remote-endpoint = <&fimd_dpi_ep>;
23462306a36Sopenharmony_ci				};
23562306a36Sopenharmony_ci			};
23662306a36Sopenharmony_ci		};
23762306a36Sopenharmony_ci	};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci	fixed-rate-clocks {
24062306a36Sopenharmony_ci		xxti {
24162306a36Sopenharmony_ci			compatible = "samsung,clock-xxti";
24262306a36Sopenharmony_ci			clock-frequency = <0>;
24362306a36Sopenharmony_ci		};
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci		xusbxti {
24662306a36Sopenharmony_ci			compatible = "samsung,clock-xusbxti";
24762306a36Sopenharmony_ci			clock-frequency = <24000000>;
24862306a36Sopenharmony_ci		};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci		pmic_ap_clk: pmic-ap-clk {
25162306a36Sopenharmony_ci			/* Workaround for missing clock on max8997 PMIC */
25262306a36Sopenharmony_ci			compatible = "fixed-clock";
25362306a36Sopenharmony_ci			#clock-cells = <0>;
25462306a36Sopenharmony_ci			clock-frequency = <32768>;
25562306a36Sopenharmony_ci		};
25662306a36Sopenharmony_ci	};
25762306a36Sopenharmony_ci};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci&camera {
26062306a36Sopenharmony_ci	pinctrl-0 = <&cam_port_a_clk_active>;
26162306a36Sopenharmony_ci	pinctrl-names = "default";
26262306a36Sopenharmony_ci	status = "okay";
26362306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
26462306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
26562306a36Sopenharmony_ci};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci&csis_1 {
26862306a36Sopenharmony_ci	status = "okay";
26962306a36Sopenharmony_ci	vddcore-supply = <&vusb_reg>;
27062306a36Sopenharmony_ci	vddio-supply = <&vmipi_reg>;
27162306a36Sopenharmony_ci	clock-frequency = <160000000>;
27262306a36Sopenharmony_ci	#address-cells = <1>;
27362306a36Sopenharmony_ci	#size-cells = <0>;
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci	port@4 {
27662306a36Sopenharmony_ci		reg = <4>;
27762306a36Sopenharmony_ci		csis1_ep: endpoint {
27862306a36Sopenharmony_ci			remote-endpoint = <&s5k5bafx_ep>;
27962306a36Sopenharmony_ci			data-lanes = <1>;
28062306a36Sopenharmony_ci			samsung,csis-hs-settle = <6>;
28162306a36Sopenharmony_ci		};
28262306a36Sopenharmony_ci	};
28362306a36Sopenharmony_ci};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci&cpu0 {
28662306a36Sopenharmony_ci	cpu0-supply = <&varm_breg>;
28762306a36Sopenharmony_ci};
28862306a36Sopenharmony_ci
28962306a36Sopenharmony_ci&cpu_thermal {
29062306a36Sopenharmony_ci	cooling-maps {
29162306a36Sopenharmony_ci		map0 {
29262306a36Sopenharmony_ci			/* Corresponds to 800MHz */
29362306a36Sopenharmony_ci			cooling-device = <&cpu0 2 2>;
29462306a36Sopenharmony_ci		};
29562306a36Sopenharmony_ci		map1 {
29662306a36Sopenharmony_ci			/* Corresponds to 200MHz */
29762306a36Sopenharmony_ci			cooling-device = <&cpu0 4 4>;
29862306a36Sopenharmony_ci		};
29962306a36Sopenharmony_ci	};
30062306a36Sopenharmony_ci};
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci&ehci {
30362306a36Sopenharmony_ci	status = "okay";
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci	phys = <&exynos_usbphy 1>;
30662306a36Sopenharmony_ci	phy-names = "host";
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci&exynos_usbphy {
31062306a36Sopenharmony_ci	status = "okay";
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci	vbus-supply = <&safe1_sreg>;
31362306a36Sopenharmony_ci};
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci&fimc_0 {
31662306a36Sopenharmony_ci	status = "okay";
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
31962306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
32062306a36Sopenharmony_ci	assigned-clock-rates = <0>, <160000000>;
32162306a36Sopenharmony_ci};
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci&fimc_1 {
32462306a36Sopenharmony_ci	/* Back camera not implemented */
32562306a36Sopenharmony_ci	status = "disabled";
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
32862306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
32962306a36Sopenharmony_ci	assigned-clock-rates = <0>, <160000000>;
33062306a36Sopenharmony_ci};
33162306a36Sopenharmony_ci
33262306a36Sopenharmony_ci&fimc_2 {
33362306a36Sopenharmony_ci	status = "okay";
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
33662306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
33762306a36Sopenharmony_ci	assigned-clock-rates = <0>, <160000000>;
33862306a36Sopenharmony_ci};
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci&fimc_3 {
34162306a36Sopenharmony_ci	/* Back camera not implemented */
34262306a36Sopenharmony_ci	status = "disabled";
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
34562306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
34662306a36Sopenharmony_ci	assigned-clock-rates = <0>, <160000000>;
34762306a36Sopenharmony_ci};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci&fimd {
35062306a36Sopenharmony_ci	status = "okay";
35162306a36Sopenharmony_ci	#address-cells = <1>;
35262306a36Sopenharmony_ci	#size-cells = <0>;
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci	samsung,invert-vden;
35562306a36Sopenharmony_ci	samsung,invert-vclk;
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
35862306a36Sopenharmony_ci	pinctrl-names = "default";
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ci	port@3 {
36162306a36Sopenharmony_ci		reg = <3>;
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci		fimd_dpi_ep: endpoint {
36462306a36Sopenharmony_ci			remote-endpoint = <&lcd_ep>;
36562306a36Sopenharmony_ci		};
36662306a36Sopenharmony_ci	};
36762306a36Sopenharmony_ci};
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci&gpu {
37062306a36Sopenharmony_ci	status = "okay";
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci	mali-supply = <&vg3d_breg>;
37362306a36Sopenharmony_ci};
37462306a36Sopenharmony_ci
37562306a36Sopenharmony_ci&hsotg {
37662306a36Sopenharmony_ci	status = "okay";
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci	dr_mode = "otg";
37962306a36Sopenharmony_ci	vusb_d-supply = <&vusb_reg>;
38062306a36Sopenharmony_ci	vusb_a-supply = <&vusbdac_reg>;
38162306a36Sopenharmony_ci};
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci&i2c_3 {
38462306a36Sopenharmony_ci	status = "okay";
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ci	samsung,i2c-sda-delay = <100>;
38762306a36Sopenharmony_ci	samsung,i2c-slave-addr = <0x10>;
38862306a36Sopenharmony_ci	samsung,i2c-max-bus-freq = <100000>;
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci	pinctrl-0 = <&i2c3_bus>;
39162306a36Sopenharmony_ci	pinctrl-names = "default";
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci	touchscreen@4a {
39462306a36Sopenharmony_ci		compatible = "atmel,maxtouch";
39562306a36Sopenharmony_ci		reg = <0x4a>;
39662306a36Sopenharmony_ci
39762306a36Sopenharmony_ci		interrupt-parent = <&gpx0>;
39862306a36Sopenharmony_ci		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
39962306a36Sopenharmony_ci	};
40062306a36Sopenharmony_ci};
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci&i2c_5 {
40362306a36Sopenharmony_ci	status = "okay";
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci	samsung,i2c-sda-delay = <100>;
40662306a36Sopenharmony_ci	samsung,i2c-slave-addr = <0x10>;
40762306a36Sopenharmony_ci	samsung,i2c-max-bus-freq = <100000>;
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci	pinctrl-0 = <&i2c5_bus>;
41062306a36Sopenharmony_ci	pinctrl-names = "default";
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci	pmic@66 {
41362306a36Sopenharmony_ci		compatible = "maxim,max8997-pmic";
41462306a36Sopenharmony_ci		reg = <0x66>;
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ci		interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
41762306a36Sopenharmony_ci				      <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci		max8997,pmic-buck1-uses-gpio-dvs;
42062306a36Sopenharmony_ci		max8997,pmic-buck2-uses-gpio-dvs;
42162306a36Sopenharmony_ci		max8997,pmic-buck5-uses-gpio-dvs;
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci		max8997,pmic-ignore-gpiodvs-side-effect;
42462306a36Sopenharmony_ci		max8997,pmic-buck125-default-dvs-idx = <0>;
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci		max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
42762306a36Sopenharmony_ci						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
42862306a36Sopenharmony_ci						 <&gpl0 0 GPIO_ACTIVE_HIGH>;
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_ci		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
43162306a36Sopenharmony_ci						 <1250000>, <1200000>,
43262306a36Sopenharmony_ci						 <1150000>, <1100000>,
43362306a36Sopenharmony_ci						 <1000000>, <950000>;
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci		max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
43662306a36Sopenharmony_ci						 <950000>,  <900000>,
43762306a36Sopenharmony_ci						 <1100000>, <1000000>,
43862306a36Sopenharmony_ci						 <950000>,  <900000>;
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_ci		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
44162306a36Sopenharmony_ci						 <1200000>, <1200000>,
44262306a36Sopenharmony_ci						 <1200000>, <1200000>,
44362306a36Sopenharmony_ci						 <1200000>, <1200000>;
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci		pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
44662306a36Sopenharmony_ci		pinctrl-names = "default";
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci		charger-supply = <&charger_reg>;
44962306a36Sopenharmony_ci
45062306a36Sopenharmony_ci		regulators {
45162306a36Sopenharmony_ci			vadc_reg: LDO1 {
45262306a36Sopenharmony_ci				regulator-name = "VADC_3.3V_C210";
45362306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
45462306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
45562306a36Sopenharmony_ci				regulator-always-on;
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ci			};
45862306a36Sopenharmony_ci			valive_reg: LDO2 {
45962306a36Sopenharmony_ci				regulator-name = "VALIVE_1.1V_C210";
46062306a36Sopenharmony_ci				regulator-min-microvolt = <1100000>;
46162306a36Sopenharmony_ci				regulator-max-microvolt = <1100000>;
46262306a36Sopenharmony_ci				regulator-always-on;
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci			};
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci			vusb_reg: LDO3 {
46762306a36Sopenharmony_ci				regulator-name = "VUSB_1.1V_C210";
46862306a36Sopenharmony_ci				regulator-min-microvolt = <1100000>;
46962306a36Sopenharmony_ci				regulator-max-microvolt = <1100000>;
47062306a36Sopenharmony_ci			};
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci			vmipi_reg: LDO4 {
47362306a36Sopenharmony_ci				regulator-name = "VMIPI_1.8V";
47462306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
47562306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
47662306a36Sopenharmony_ci				regulator-always-on;
47762306a36Sopenharmony_ci			};
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci			vhsic_reg: LDO5 {
48062306a36Sopenharmony_ci				regulator-name = "VHSIC_1.2V";
48162306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
48262306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
48362306a36Sopenharmony_ci				regulator-always-on;
48462306a36Sopenharmony_ci			};
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_ci			vpda_reg: LDO6 {
48762306a36Sopenharmony_ci				regulator-name = "VCC_1.8V_PDA";
48862306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
48962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
49062306a36Sopenharmony_ci				regulator-always-on;
49162306a36Sopenharmony_ci			};
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci			vcam_reg: LDO7 {
49462306a36Sopenharmony_ci				regulator-name = "CAM_ISP_1.8V";
49562306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
49662306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
49762306a36Sopenharmony_ci			};
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci			vusbdac_reg: LDO8 {
50062306a36Sopenharmony_ci				regulator-name = "VUSB+VDAC_3.3V_C210";
50162306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
50262306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
50362306a36Sopenharmony_ci			};
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci			vccpda_reg: LDO9 {
50662306a36Sopenharmony_ci				regulator-name = "VCC_2.8V_PDA";
50762306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
50862306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
50962306a36Sopenharmony_ci				regulator-always-on;
51062306a36Sopenharmony_ci			};
51162306a36Sopenharmony_ci
51262306a36Sopenharmony_ci			vtouch_reg: LDO11 {
51362306a36Sopenharmony_ci				regulator-name = "TOUCH_2.8V";
51462306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
51562306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
51662306a36Sopenharmony_ci				regulator-always-on;
51762306a36Sopenharmony_ci			};
51862306a36Sopenharmony_ci
51962306a36Sopenharmony_ci			vpll_reg: LDO10 {
52062306a36Sopenharmony_ci				regulator-name = "VPLL_1.1V";
52162306a36Sopenharmony_ci				regulator-min-microvolt = <1100000>;
52262306a36Sopenharmony_ci				regulator-max-microvolt = <1100000>;
52362306a36Sopenharmony_ci				regulator-always-on;
52462306a36Sopenharmony_ci			};
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci			vtcam_reg: LDO12 {
52762306a36Sopenharmony_ci				regulator-name = "VT_CAM_1.8V";
52862306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
52962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_ci				/*
53262306a36Sopenharmony_ci				 * Force-enable this regulator; otherwise the
53362306a36Sopenharmony_ci				 * kernel hangs very early in the boot process
53462306a36Sopenharmony_ci				 * for about 12 seconds, without apparent
53562306a36Sopenharmony_ci				 * reason.
53662306a36Sopenharmony_ci				 */
53762306a36Sopenharmony_ci				regulator-always-on;
53862306a36Sopenharmony_ci			};
53962306a36Sopenharmony_ci
54062306a36Sopenharmony_ci			vcclcd_reg: LDO13 {
54162306a36Sopenharmony_ci				regulator-name = "VCC_3.0V_LCD";
54262306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
54362306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
54462306a36Sopenharmony_ci			};
54562306a36Sopenharmony_ci
54662306a36Sopenharmony_ci			vmotor_reg: LDO14 {
54762306a36Sopenharmony_ci				regulator-name = "VCC_2.8V_MOTOR";
54862306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
54962306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
55062306a36Sopenharmony_ci			};
55162306a36Sopenharmony_ci
55262306a36Sopenharmony_ci			vled_reg: LDO15 {
55362306a36Sopenharmony_ci				regulator-name = "LED_A_2.8V";
55462306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
55562306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
55662306a36Sopenharmony_ci			};
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ci			camsensor_reg: LDO16 {
55962306a36Sopenharmony_ci				regulator-name = "CAM_SENSOR_IO_1.8V";
56062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
56162306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
56262306a36Sopenharmony_ci			};
56362306a36Sopenharmony_ci
56462306a36Sopenharmony_ci			vtf_reg: LDO17 {
56562306a36Sopenharmony_ci				regulator-name = "VTF_2.8V";
56662306a36Sopenharmony_ci				regulator-min-microvolt = <2800000>;
56762306a36Sopenharmony_ci				regulator-max-microvolt = <2800000>;
56862306a36Sopenharmony_ci			};
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci			vtouchled_reg: LDO18 {
57162306a36Sopenharmony_ci				regulator-name = "TOUCH_LED_3.3V";
57262306a36Sopenharmony_ci				regulator-min-microvolt = <2500000>;
57362306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
57462306a36Sopenharmony_ci			};
57562306a36Sopenharmony_ci
57662306a36Sopenharmony_ci			vddq_reg: LDO21 {
57762306a36Sopenharmony_ci				regulator-name = "VDDQ_M1M2_1.2V";
57862306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
57962306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
58062306a36Sopenharmony_ci				regulator-always-on;
58162306a36Sopenharmony_ci			};
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_ci			varm_breg: BUCK1 {
58462306a36Sopenharmony_ci				regulator-name = "VARM_1.2V_C210";
58562306a36Sopenharmony_ci				regulator-min-microvolt = <65000>;
58662306a36Sopenharmony_ci				regulator-max-microvolt = <2225000>;
58762306a36Sopenharmony_ci				regulator-always-on;
58862306a36Sopenharmony_ci			};
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_ci			vint_breg: BUCK2 {
59162306a36Sopenharmony_ci				regulator-name = "VINT_1.1V_C210";
59262306a36Sopenharmony_ci				regulator-min-microvolt = <65000>;
59362306a36Sopenharmony_ci				regulator-max-microvolt = <2225000>;
59462306a36Sopenharmony_ci				regulator-always-on;
59562306a36Sopenharmony_ci			};
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci			vg3d_breg: BUCK3 {
59862306a36Sopenharmony_ci				regulator-name = "G3D_1.1V";
59962306a36Sopenharmony_ci				regulator-min-microvolt = <900000>;
60062306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
60162306a36Sopenharmony_ci				regulator-microvolt-offset = <50000>;
60262306a36Sopenharmony_ci				regulator-always-on;
60362306a36Sopenharmony_ci			};
60462306a36Sopenharmony_ci
60562306a36Sopenharmony_ci			camisp_breg: BUCK4 {
60662306a36Sopenharmony_ci				regulator-name = "CAM_ISP_CORE_1.2V";
60762306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
60862306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
60962306a36Sopenharmony_ci			};
61062306a36Sopenharmony_ci
61162306a36Sopenharmony_ci			vmem_breg: BUCK5 {
61262306a36Sopenharmony_ci				regulator-name = "VMEM_1.2V";
61362306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
61462306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
61562306a36Sopenharmony_ci				regulator-always-on;
61662306a36Sopenharmony_ci			};
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_ci			vccsub_breg: BUCK7 {
61962306a36Sopenharmony_ci				regulator-name = "VCC_SUB_2.0V";
62062306a36Sopenharmony_ci				regulator-min-microvolt = <2000000>;
62162306a36Sopenharmony_ci				regulator-max-microvolt = <2000000>;
62262306a36Sopenharmony_ci				regulator-always-on;
62362306a36Sopenharmony_ci			};
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci			safe1_sreg: ESAFEOUT1 {
62662306a36Sopenharmony_ci				regulator-name = "SAFEOUT1";
62762306a36Sopenharmony_ci			};
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_ci			safe2_sreg: ESAFEOUT2 {
63062306a36Sopenharmony_ci				regulator-name = "SAFEOUT2";
63162306a36Sopenharmony_ci				regulator-boot-on;
63262306a36Sopenharmony_ci			};
63362306a36Sopenharmony_ci
63462306a36Sopenharmony_ci			EN32KHZ_AP {
63562306a36Sopenharmony_ci				regulator-name = "EN32KHZ_AP";
63662306a36Sopenharmony_ci				regulator-always-on;
63762306a36Sopenharmony_ci			};
63862306a36Sopenharmony_ci
63962306a36Sopenharmony_ci			EN32KHZ_CP {
64062306a36Sopenharmony_ci				regulator-name = "EN32KHZ_CP";
64162306a36Sopenharmony_ci				regulator-always-on;
64262306a36Sopenharmony_ci			};
64362306a36Sopenharmony_ci
64462306a36Sopenharmony_ci			charger_reg: CHARGER {
64562306a36Sopenharmony_ci				regulator-name = "CHARGER";
64662306a36Sopenharmony_ci				regulator-min-microamp = <200000>;
64762306a36Sopenharmony_ci				regulator-max-microamp = <950000>;
64862306a36Sopenharmony_ci			};
64962306a36Sopenharmony_ci
65062306a36Sopenharmony_ci			chargercv_reg: CHARGER_CV {
65162306a36Sopenharmony_ci				regulator-name = "CHARGER_CV";
65262306a36Sopenharmony_ci				regulator-min-microvolt = <4200000>;
65362306a36Sopenharmony_ci				regulator-max-microvolt = <4200000>;
65462306a36Sopenharmony_ci				regulator-always-on;
65562306a36Sopenharmony_ci			};
65662306a36Sopenharmony_ci
65762306a36Sopenharmony_ci			CHARGER_TOPOFF {
65862306a36Sopenharmony_ci				regulator-name = "CHARGER_TOPOFF";
65962306a36Sopenharmony_ci				regulator-min-microamp = <200000>;
66062306a36Sopenharmony_ci				regulator-max-microamp = <200000>;
66162306a36Sopenharmony_ci				regulator-always-on;
66262306a36Sopenharmony_ci			};
66362306a36Sopenharmony_ci		};
66462306a36Sopenharmony_ci	};
66562306a36Sopenharmony_ci};
66662306a36Sopenharmony_ci
66762306a36Sopenharmony_ci&i2c_7 {
66862306a36Sopenharmony_ci	status = "okay";
66962306a36Sopenharmony_ci
67062306a36Sopenharmony_ci	samsung,i2c-sda-delay = <100>;
67162306a36Sopenharmony_ci	samsung,i2c-slave-addr = <0x10>;
67262306a36Sopenharmony_ci	samsung,i2c-max-bus-freq = <400000>;
67362306a36Sopenharmony_ci
67462306a36Sopenharmony_ci	pinctrl-0 = <&i2c7_bus>;
67562306a36Sopenharmony_ci	pinctrl-names = "default";
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci	magnetometer@c {
67862306a36Sopenharmony_ci		compatible = "asahi-kasei,ak8975";
67962306a36Sopenharmony_ci		reg = <0x0c>;
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci		gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
68262306a36Sopenharmony_ci	};
68362306a36Sopenharmony_ci};
68462306a36Sopenharmony_ci
68562306a36Sopenharmony_ci&pinctrl_0 {
68662306a36Sopenharmony_ci	pinctrl-names = "default";
68762306a36Sopenharmony_ci	pinctrl-0 = <&sleep0>;
68862306a36Sopenharmony_ci
68962306a36Sopenharmony_ci	sleep0: sleep-state {
69062306a36Sopenharmony_ci		gpa0-0-pin {
69162306a36Sopenharmony_ci			samsung,pins = "gpa0-0";
69262306a36Sopenharmony_ci			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
69362306a36Sopenharmony_ci			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
69462306a36Sopenharmony_ci		};
69562306a36Sopenharmony_ci
69662306a36Sopenharmony_ci		gpa0-1-pin {
69762306a36Sopenharmony_ci			samsung,pins = "gpa0-1";
69862306a36Sopenharmony_ci			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
69962306a36Sopenharmony_ci			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
70062306a36Sopenharmony_ci		};
70162306a36Sopenharmony_ci
70262306a36Sopenharmony_ci		gpa0-2-pin {
70362306a36Sopenharmony_ci			samsung,pins = "gpa0-2";
70462306a36Sopenharmony_ci			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
70562306a36Sopenharmony_ci			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
70662306a36Sopenharmony_ci		};
70762306a36Sopenharmony_ci
70862306a36Sopenharmony_ci		gpa0-3-pin {
70962306a36Sopenharmony_ci			samsung,pins = "gpa0-3";
71062306a36Sopenharmony_ci			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
71162306a36Sopenharmony_ci			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
71262306a36Sopenharmony_ci		};
71362306a36Sopenharmony_ci	};
71462306a36Sopenharmony_ci};
71562306a36Sopenharmony_ci
71662306a36Sopenharmony_ci&pinctrl_1 {
71762306a36Sopenharmony_ci	mhl_int: mhl-int-pins {
71862306a36Sopenharmony_ci		samsung,pins = "gpf3-5";
71962306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
72062306a36Sopenharmony_ci	};
72162306a36Sopenharmony_ci
72262306a36Sopenharmony_ci	i2c_mhl_bus: i2c-mhl-bus-pins {
72362306a36Sopenharmony_ci		samsung,pins = "gpf0-4", "gpf0-6";
72462306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
72562306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
72662306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
72762306a36Sopenharmony_ci	};
72862306a36Sopenharmony_ci
72962306a36Sopenharmony_ci	usb_sel: usb-sel-pins {
73062306a36Sopenharmony_ci		samsung,pins = "gpl0-6";
73162306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
73262306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
73362306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
73462306a36Sopenharmony_ci		samsung,pin-val = <0>;
73562306a36Sopenharmony_ci	};
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_ci	bt_en: bt-en-pins {
73862306a36Sopenharmony_ci		samsung,pins = "gpl0-4";
73962306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
74062306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
74162306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
74262306a36Sopenharmony_ci		samsung,pin-val = <0>;
74362306a36Sopenharmony_ci	};
74462306a36Sopenharmony_ci
74562306a36Sopenharmony_ci	bt_res: bt-res-pins {
74662306a36Sopenharmony_ci		samsung,pins = "gpl1-0";
74762306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
74862306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
74962306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
75062306a36Sopenharmony_ci		samsung,pin-val = <0>;
75162306a36Sopenharmony_ci	};
75262306a36Sopenharmony_ci
75362306a36Sopenharmony_ci	otg_gp: otg-gp-pins {
75462306a36Sopenharmony_ci		samsung,pins = "gpx3-3";
75562306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
75662306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
75762306a36Sopenharmony_ci		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
75862306a36Sopenharmony_ci		samsung,pin-val = <0>;
75962306a36Sopenharmony_ci	};
76062306a36Sopenharmony_ci
76162306a36Sopenharmony_ci	mag_mhl_gpio: mag-mhl-pins {
76262306a36Sopenharmony_ci		samsung,pins = "gpd0-2";
76362306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
76462306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
76562306a36Sopenharmony_ci	};
76662306a36Sopenharmony_ci
76762306a36Sopenharmony_ci	max8997_irq: max8997-irq-pins {
76862306a36Sopenharmony_ci		samsung,pins = "gpx0-7";
76962306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
77062306a36Sopenharmony_ci	};
77162306a36Sopenharmony_ci
77262306a36Sopenharmony_ci	max17042_fuel_irq: max17042-fuel-irq-pins {
77362306a36Sopenharmony_ci		samsung,pins = "gpx2-3";
77462306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
77562306a36Sopenharmony_ci	};
77662306a36Sopenharmony_ci
77762306a36Sopenharmony_ci	tsp224_irq: tsp224-irq-pins {
77862306a36Sopenharmony_ci		samsung,pins = "gpx0-4";
77962306a36Sopenharmony_ci		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
78062306a36Sopenharmony_ci	};
78162306a36Sopenharmony_ci};
78262306a36Sopenharmony_ci
78362306a36Sopenharmony_ci&rtc {
78462306a36Sopenharmony_ci	status = "okay";
78562306a36Sopenharmony_ci	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
78662306a36Sopenharmony_ci	clock-names = "rtc", "rtc_src";
78762306a36Sopenharmony_ci};
78862306a36Sopenharmony_ci
78962306a36Sopenharmony_ci&sdhci_0 {
79062306a36Sopenharmony_ci	status = "okay";
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_ci	bus-width = <8>;
79362306a36Sopenharmony_ci	non-removable;
79462306a36Sopenharmony_ci	vmmc-supply = <&vemmc_reg>;
79562306a36Sopenharmony_ci
79662306a36Sopenharmony_ci	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
79762306a36Sopenharmony_ci	pinctrl-names = "default";
79862306a36Sopenharmony_ci};
79962306a36Sopenharmony_ci
80062306a36Sopenharmony_ci&sdhci_2 {
80162306a36Sopenharmony_ci	status = "okay";
80262306a36Sopenharmony_ci
80362306a36Sopenharmony_ci	bus-width = <4>;
80462306a36Sopenharmony_ci	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
80562306a36Sopenharmony_ci	vmmc-supply = <&vtf_reg>;
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_ci	pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
80862306a36Sopenharmony_ci	pinctrl-names = "default";
80962306a36Sopenharmony_ci};
81062306a36Sopenharmony_ci
81162306a36Sopenharmony_ci&sdhci_3 {
81262306a36Sopenharmony_ci	status = "okay";
81362306a36Sopenharmony_ci
81462306a36Sopenharmony_ci	#address-cells = <1>;
81562306a36Sopenharmony_ci	#size-cells = <0>;
81662306a36Sopenharmony_ci
81762306a36Sopenharmony_ci	non-removable;
81862306a36Sopenharmony_ci	bus-width = <4>;
81962306a36Sopenharmony_ci	mmc-pwrseq = <&wlan_pwrseq>;
82062306a36Sopenharmony_ci	vmmc-supply = <&vtf_reg>;
82162306a36Sopenharmony_ci
82262306a36Sopenharmony_ci	pinctrl-names = "default";
82362306a36Sopenharmony_ci	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
82462306a36Sopenharmony_ci
82562306a36Sopenharmony_ci	brcmf: wifi@1 {
82662306a36Sopenharmony_ci		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
82762306a36Sopenharmony_ci		reg = <1>;
82862306a36Sopenharmony_ci
82962306a36Sopenharmony_ci		interrupt-parent = <&gpx2>;
83062306a36Sopenharmony_ci		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
83162306a36Sopenharmony_ci		interrupt-names = "host-wake";
83262306a36Sopenharmony_ci	};
83362306a36Sopenharmony_ci};
83462306a36Sopenharmony_ci
83562306a36Sopenharmony_ci&serial_0 {
83662306a36Sopenharmony_ci	status = "okay";
83762306a36Sopenharmony_ci
83862306a36Sopenharmony_ci	pinctrl-names = "default";
83962306a36Sopenharmony_ci	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
84062306a36Sopenharmony_ci
84162306a36Sopenharmony_ci	bluetooth {
84262306a36Sopenharmony_ci		compatible = "brcm,bcm4330-bt";
84362306a36Sopenharmony_ci
84462306a36Sopenharmony_ci		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
84562306a36Sopenharmony_ci		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
84662306a36Sopenharmony_ci		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
84762306a36Sopenharmony_ci
84862306a36Sopenharmony_ci		interrupt-parent = <&gpx2>;
84962306a36Sopenharmony_ci		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
85062306a36Sopenharmony_ci		interrupt-names = "host-wakeup";
85162306a36Sopenharmony_ci	};
85262306a36Sopenharmony_ci};
85362306a36Sopenharmony_ci
85462306a36Sopenharmony_ci&serial_1 {
85562306a36Sopenharmony_ci	status = "okay";
85662306a36Sopenharmony_ci};
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_ci&serial_2 {
85962306a36Sopenharmony_ci	status = "okay";
86062306a36Sopenharmony_ci};
86162306a36Sopenharmony_ci
86262306a36Sopenharmony_ci&serial_3 {
86362306a36Sopenharmony_ci	status = "okay";
86462306a36Sopenharmony_ci};
86562306a36Sopenharmony_ci
86662306a36Sopenharmony_ci&tmu {
86762306a36Sopenharmony_ci	status = "okay";
86862306a36Sopenharmony_ci};
869