// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
 * Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
 * Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
 * Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
 */

/dts-v1/;

#include "qcom-msm8226-microsoft-common.dtsi"

/* This device has touchscreen on i2c1 instead */
/delete-node/ &touchscreen;

/* The magnetometer used on this device is currently unknown */
/delete-node/ &magnetometer;

/ {
	model = "Nokia Lumia 830";
	compatible = "microsoft,tesla", "qcom,msm8926", "qcom,msm8226";
	chassis-type = "handset";
};

&blsp1_i2c1 {
	status = "okay";

	touchscreen: touchscreen@4b {
		compatible = "syna,rmi4-i2c";
		reg = <0x4b>;

		interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
		vdd-supply = <&pm8226_l15>;
		vio-supply = <&pm8226_l6>;

		pinctrl-0 = <&touchscreen_default>;
		pinctrl-names = "default";

		#address-cells = <1>;
		#size-cells = <0>;

		rmi4-f01@1 {
			reg = <0x01>;
			syna,nosleep-mode = <1>;
		};

		rmi4-f12@12 {
			reg = <0x12>;
			syna,sensor-type = <1>;
		};
	};
};

&blsp1_i2c5 {
	status = "disabled";
};

&gpio_keys {
	key-camera-snapshot {
		label = "Camera Snapshot";
		gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
		linux,code = <KEY_CAMERA>;
	};

	key-camera-focus {
		label = "Camera Focus";
		gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
		linux,code = <KEY_CAMERA_FOCUS>;
	};
};
