/*
 * Spreadtrum SP9860g board
 *
 * Copyright (C) 2017, Spreadtrum Communications Inc.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;

#include "sc9860.dtsi"
#include "sc2731.dtsi"

/ {
	model = "Spreadtrum SP9860G 3GFHD Board";

	compatible = "sprd,sp9860g-1h10", "sprd,sc9860";

	aliases {
		serial0 = &uart0; /* for Bluetooth */
		serial1 = &uart1; /* UART console */
		serial2 = &uart2; /* Reserved */
		serial3 = &uart3; /* for GPS */
		spi0 = &adi_bus;
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0 0x60000000>,
		      <0x1 0x80000000 0 0x60000000>;
	};

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

	gpio-keys {
		compatible = "gpio-keys";

		key-volumedown {
			label = "Volume Down Key";
			linux,code = <KEY_VOLUMEDOWN>;
			gpios = <&eic_debounce 2 GPIO_ACTIVE_LOW>;
			debounce-interval = <2>;
			wakeup-source;
		};

		key-volumeup {
			label = "Volume Up Key";
			linux,code = <KEY_VOLUMEUP>;
			gpios = <&pmic_eic 10 GPIO_ACTIVE_HIGH>;
			debounce-interval = <2>;
			wakeup-source;
		};

		key-power {
			label = "Power Key";
			linux,code = <KEY_POWER>;
			gpios = <&pmic_eic 1 GPIO_ACTIVE_HIGH>;
			debounce-interval = <2>;
			wakeup-source;
		};
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;
	};

	bat: battery {
		compatible = "simple-battery";
		charge-full-design-microamp-hours = <1900000>;
		charge-term-current-microamp = <120000>;
		constant_charge_voltage_max_microvolt = <4350000>;
		internal-resistance-micro-ohms = <250000>;
		ocv-capacity-celsius = <20>;
		ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
			<4022000 85>, <3983000 80>, <3949000 75>,
			<3917000 70>, <3889000 65>, <3864000 60>,
			<3835000 55>, <3805000 50>, <3787000 45>,
			<3777000 40>, <3773000 35>, <3770000 30>,
			<3765000 25>, <3752000 20>, <3724000 15>,
			<3680000 10>, <3605000 5>, <3400000 0>;
	};
};

&uart0 {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart3 {
	status = "okay";
};
