// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/input/input.h>

#include "qcom-msm8660.dtsi"

/ {
	model = "Qualcomm MSM8660 SURF";
	compatible = "qcom,msm8660-surf", "qcom,msm8660";

	aliases {
		serial0 = &gsbi12_serial;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	soc {
		gsbi@19c00000 {
			status = "okay";
			qcom,mode = <GSBI_PROT_I2C_UART>;
			serial@19c40000 {
				status = "okay";
			};
		};

		/* Temporary fixed regulator */
		vsdcc_fixed: vsdcc-regulator {
			compatible = "regulator-fixed";
			regulator-name = "SDCC Power";
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <2700000>;
			regulator-always-on;
		};

		amba {
			/* eMMC */
			sdcc1: mmc@12400000 {
				status = "okay";
				vmmc-supply = <&vsdcc_fixed>;
			};

			/* External micro SD card */
			sdcc3: mmc@12180000 {
				status = "okay";
				vmmc-supply = <&vsdcc_fixed>;
			};
		};
	};
};

&pm8058 {
	keypad@148 {
		linux,keymap = <
			MATRIX_KEY(0, 0, KEY_FN_F1)
			MATRIX_KEY(0, 1, KEY_UP)
			MATRIX_KEY(0, 2, KEY_LEFT)
			MATRIX_KEY(0, 3, KEY_VOLUMEUP)
			MATRIX_KEY(1, 0, KEY_FN_F2)
			MATRIX_KEY(1, 1, KEY_RIGHT)
			MATRIX_KEY(1, 2, KEY_DOWN)
			MATRIX_KEY(1, 3, KEY_VOLUMEDOWN)
			MATRIX_KEY(2, 3, KEY_ENTER)
			MATRIX_KEY(4, 0, KEY_CAMERA_FOCUS)
			MATRIX_KEY(4, 1, KEY_UP)
			MATRIX_KEY(4, 2, KEY_LEFT)
			MATRIX_KEY(4, 3, KEY_HOME)
			MATRIX_KEY(4, 4, KEY_FN_F3)
			MATRIX_KEY(5, 0, KEY_CAMERA)
			MATRIX_KEY(5, 1, KEY_RIGHT)
			MATRIX_KEY(5, 2, KEY_DOWN)
			MATRIX_KEY(5, 3, KEY_BACK)
			MATRIX_KEY(5, 4, KEY_MENU)
			>;
		keypad,num-rows = <6>;
		keypad,num-columns = <5>;
	};
};
