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

#include "qcom-msm8660.dtsi"
#include "pm8058.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 {
	interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>;
};

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

&rpm {
	regulators-0 {
		compatible = "qcom,rpm-pm8901-regulators";
	};

	regulators-1 {
		compatible = "qcom,rpm-pm8058-regulators";
	};
};

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

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