// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright 2022 Google LLC
 */
/dts-v1/;
#include "mt8192-asurada.dtsi"

/ {
	model = "Google Hayato rev5";
	compatible = "google,hayato-rev5-sku2", "google,hayato-sku2",
		     "google,hayato", "mediatek,mt8192";
};

&keyboard_controller {
	function-row-physmap = <
		MATRIX_KEY(0x00, 0x02, 0)	/* T1 */
		MATRIX_KEY(0x03, 0x02, 0)	/* T2 */
		MATRIX_KEY(0x02, 0x02, 0)	/* T3 */
		MATRIX_KEY(0x01, 0x02, 0)	/* T4 */
		MATRIX_KEY(0x03, 0x04, 0)	/* T5 */
		MATRIX_KEY(0x02, 0x04, 0)	/* T6 */
		MATRIX_KEY(0x01, 0x04, 0)	/* T7 */
		MATRIX_KEY(0x02, 0x09, 0)	/* T8 */
		MATRIX_KEY(0x01, 0x09, 0)	/* T9 */
		MATRIX_KEY(0x00, 0x04, 0)	/* T10 */
	>;
	linux,keymap = <
		MATRIX_KEY(0x00, 0x02, KEY_BACK)
		MATRIX_KEY(0x03, 0x02, KEY_FORWARD)
		MATRIX_KEY(0x02, 0x02, KEY_REFRESH)
		MATRIX_KEY(0x01, 0x02, KEY_FULL_SCREEN)
		MATRIX_KEY(0x03, 0x04, KEY_SCALE)
		MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
		MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
		MATRIX_KEY(0x02, 0x09, KEY_MUTE)
		MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
		MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)

		CROS_STD_MAIN_KEYMAP
	>;
};

&rt5682 {
	compatible = "realtek,rt5682s";
};

&sound {
	compatible = "mediatek,mt8192_mt6359_rt1015p_rt5682s";

	speaker-codecs {
		sound-dai = <&rt1015p>;
	};

	headset-codec {
		sound-dai = <&rt5682 0>;
	};
};

&touchscreen {
	compatible = "hid-over-i2c";
	post-power-on-delay-ms = <10>;
	hid-descr-addr = <0x0001>;
	vdd-supply = <&pp3300_u>;
};
