// 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";
	};

	/* 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;
	};
};

&gsbi12 {
	qcom,mode = <GSBI_PROT_I2C_UART>;
	status = "okay";
};

&gsbi12_serial {
	status = "okay";
};

&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>;
	};
};

/* eMMC */
&sdcc1 {
	vmmc-supply = <&vsdcc_fixed>;
	status = "okay";
};

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