162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Samsung's Exynos4412 based Galaxy S3 board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2013 Samsung Electronics Co., Ltd.
662306a36Sopenharmony_ci *		http://www.samsung.com
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
1162306a36Sopenharmony_ci#include "exynos4412-midas.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	aliases {
1562306a36Sopenharmony_ci		i2c9 = &i2c_ak8975;
1662306a36Sopenharmony_ci		i2c10 = &i2c_cm36651;
1762306a36Sopenharmony_ci	};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	led-controller {
2062306a36Sopenharmony_ci		compatible = "skyworks,aat1290";
2162306a36Sopenharmony_ci		flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
2262306a36Sopenharmony_ci		enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci		pinctrl-names = "default", "host", "isp";
2562306a36Sopenharmony_ci		pinctrl-0 = <&camera_flash_host>;
2662306a36Sopenharmony_ci		pinctrl-1 = <&camera_flash_host>;
2762306a36Sopenharmony_ci		pinctrl-2 = <&camera_flash_isp>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		led {
3062306a36Sopenharmony_ci			function = LED_FUNCTION_FLASH;
3162306a36Sopenharmony_ci			color = <LED_COLOR_ID_WHITE>;
3262306a36Sopenharmony_ci			led-max-microamp = <520833>;
3362306a36Sopenharmony_ci			flash-max-microamp = <1012500>;
3462306a36Sopenharmony_ci			flash-max-timeout-us = <1940000>;
3562306a36Sopenharmony_ci		};
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	lcd_vdd3_reg: voltage-regulator-10 {
3962306a36Sopenharmony_ci		compatible = "regulator-fixed";
4062306a36Sopenharmony_ci		regulator-name = "LCD_VDD_2.2V";
4162306a36Sopenharmony_ci		regulator-min-microvolt = <2200000>;
4262306a36Sopenharmony_ci		regulator-max-microvolt = <2200000>;
4362306a36Sopenharmony_ci		gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
4462306a36Sopenharmony_ci		enable-active-high;
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	ps_als_reg: voltage-regulator-11 {
4862306a36Sopenharmony_ci		compatible = "regulator-fixed";
4962306a36Sopenharmony_ci		regulator-name = "LED_A_3.0V";
5062306a36Sopenharmony_ci		regulator-min-microvolt = <3000000>;
5162306a36Sopenharmony_ci		regulator-max-microvolt = <3000000>;
5262306a36Sopenharmony_ci		gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
5362306a36Sopenharmony_ci		enable-active-high;
5462306a36Sopenharmony_ci	};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	i2c_ak8975: i2c-gpio-0 {
5762306a36Sopenharmony_ci		compatible = "i2c-gpio";
5862306a36Sopenharmony_ci		sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
5962306a36Sopenharmony_ci		scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
6062306a36Sopenharmony_ci		i2c-gpio,delay-us = <2>;
6162306a36Sopenharmony_ci		#address-cells = <1>;
6262306a36Sopenharmony_ci		#size-cells = <0>;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		magnetometer@c {
6562306a36Sopenharmony_ci			compatible = "asahi-kasei,ak8975";
6662306a36Sopenharmony_ci			reg = <0x0c>;
6762306a36Sopenharmony_ci			gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	i2c_cm36651: i2c-gpio-2 {
7262306a36Sopenharmony_ci		compatible = "i2c-gpio";
7362306a36Sopenharmony_ci		sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
7462306a36Sopenharmony_ci		scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
7562306a36Sopenharmony_ci		i2c-gpio,delay-us = <2>;
7662306a36Sopenharmony_ci		#address-cells = <1>;
7762306a36Sopenharmony_ci		#size-cells = <0>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci		light-sensor@18 {
8062306a36Sopenharmony_ci			compatible = "capella,cm36651";
8162306a36Sopenharmony_ci			reg = <0x18>;
8262306a36Sopenharmony_ci			interrupt-parent = <&gpx0>;
8362306a36Sopenharmony_ci			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
8462306a36Sopenharmony_ci			vled-supply = <&ps_als_reg>;
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci&buck9_reg {
9062306a36Sopenharmony_ci	maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
9162306a36Sopenharmony_ci};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci&cam_af_reg {
9462306a36Sopenharmony_ci	gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
9562306a36Sopenharmony_ci	status = "okay";
9662306a36Sopenharmony_ci};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci&cam_io_reg {
9962306a36Sopenharmony_ci	gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci&dsi_0 {
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	panel@0 {
10762306a36Sopenharmony_ci		compatible = "samsung,s6e8aa0";
10862306a36Sopenharmony_ci		reg = <0>;
10962306a36Sopenharmony_ci		vdd3-supply = <&lcd_vdd3_reg>;
11062306a36Sopenharmony_ci		vci-supply = <&ldo25_reg>;
11162306a36Sopenharmony_ci		reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
11262306a36Sopenharmony_ci		power-on-delay = <50>;
11362306a36Sopenharmony_ci		reset-delay = <100>;
11462306a36Sopenharmony_ci		init-delay = <100>;
11562306a36Sopenharmony_ci		flip-horizontal;
11662306a36Sopenharmony_ci		flip-vertical;
11762306a36Sopenharmony_ci		panel-width-mm = <58>;
11862306a36Sopenharmony_ci		panel-height-mm = <103>;
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci		display-timings {
12162306a36Sopenharmony_ci			timing-0 {
12262306a36Sopenharmony_ci				clock-frequency = <57153600>;
12362306a36Sopenharmony_ci				hactive = <720>;
12462306a36Sopenharmony_ci				vactive = <1280>;
12562306a36Sopenharmony_ci				hfront-porch = <5>;
12662306a36Sopenharmony_ci				hback-porch = <5>;
12762306a36Sopenharmony_ci				hsync-len = <5>;
12862306a36Sopenharmony_ci				vfront-porch = <13>;
12962306a36Sopenharmony_ci				vback-porch = <1>;
13062306a36Sopenharmony_ci				vsync-len = <2>;
13162306a36Sopenharmony_ci			};
13262306a36Sopenharmony_ci		};
13362306a36Sopenharmony_ci	};
13462306a36Sopenharmony_ci};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci&i2c_3 {
13762306a36Sopenharmony_ci	touchscreen@48 {
13862306a36Sopenharmony_ci		compatible = "melfas,mms114";
13962306a36Sopenharmony_ci		reg = <0x48>;
14062306a36Sopenharmony_ci		interrupt-parent = <&gpm2>;
14162306a36Sopenharmony_ci		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
14262306a36Sopenharmony_ci		touchscreen-size-x = <720>;
14362306a36Sopenharmony_ci		touchscreen-size-y = <1280>;
14462306a36Sopenharmony_ci		avdd-supply = <&ldo23_reg>;
14562306a36Sopenharmony_ci		vdd-supply = <&ldo24_reg>;
14662306a36Sopenharmony_ci	};
14762306a36Sopenharmony_ci};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci&ldo25_reg {
15062306a36Sopenharmony_ci	regulator-name = "LCD_VCC_3.3V";
15162306a36Sopenharmony_ci	regulator-min-microvolt = <2800000>;
15262306a36Sopenharmony_ci	regulator-max-microvolt = <2800000>;
15362306a36Sopenharmony_ci};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci&pinctrl_0 {
15662306a36Sopenharmony_ci	camera_flash_host: camera-flash-host-pins {
15762306a36Sopenharmony_ci		samsung,pins = "gpj1-0";
15862306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
15962306a36Sopenharmony_ci		samsung,pin-val = <0>;
16062306a36Sopenharmony_ci	};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	camera_flash_isp: camera-flash-isp-pins {
16362306a36Sopenharmony_ci		samsung,pins = "gpj1-0";
16462306a36Sopenharmony_ci		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
16562306a36Sopenharmony_ci		samsung,pin-val = <1>;
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci&s5c73m3 {
17062306a36Sopenharmony_ci	standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>;   /* ISP_STANDBY */
17162306a36Sopenharmony_ci	vdda-supply = <&ldo17_reg>;
17262306a36Sopenharmony_ci	status = "okay";
17362306a36Sopenharmony_ci};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci&sound {
17662306a36Sopenharmony_ci	samsung,audio-routing =
17762306a36Sopenharmony_ci		"HP", "HPOUT1L",
17862306a36Sopenharmony_ci		"HP", "HPOUT1R",
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci		"SPK", "SPKOUTLN",
18162306a36Sopenharmony_ci		"SPK", "SPKOUTLP",
18262306a36Sopenharmony_ci		"SPK", "SPKOUTRN",
18362306a36Sopenharmony_ci		"SPK", "SPKOUTRP",
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci		"RCV", "HPOUT2N",
18662306a36Sopenharmony_ci		"RCV", "HPOUT2P",
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci		"HDMI", "LINEOUT1N",
18962306a36Sopenharmony_ci		"HDMI", "LINEOUT1P",
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci		"LINE", "LINEOUT2N",
19262306a36Sopenharmony_ci		"LINE", "LINEOUT2P",
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		"IN1LP", "MICBIAS1",
19562306a36Sopenharmony_ci		"IN1LN", "MICBIAS1",
19662306a36Sopenharmony_ci		"Main Mic", "MICBIAS1",
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci		"IN1RP", "Sub Mic",
19962306a36Sopenharmony_ci		"IN1RN", "Sub Mic",
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci		"IN2LP:VXRN", "MICBIAS2",
20262306a36Sopenharmony_ci		"Headset Mic", "MICBIAS2",
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci		"IN2RN", "FM In",
20562306a36Sopenharmony_ci		"IN2RP:VXRP", "FM In";
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci&submic_bias_reg {
20962306a36Sopenharmony_ci	gpio = <&gpf2 0 GPIO_ACTIVE_HIGH>;
21062306a36Sopenharmony_ci	enable-active-high;
21162306a36Sopenharmony_ci};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci&touchkey_reg {
21462306a36Sopenharmony_ci	gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
21562306a36Sopenharmony_ci	status = "okay";
21662306a36Sopenharmony_ci};
217