// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2019 Hardkernel Co., Ltd
 * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
 * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
 */

/dts-v1/;
#include "rk3326-odroid-go.dtsi"

/ {
	model = "ODROID-GO Advance";
	compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326";

	analog_sticks: adc-joystick {
		compatible = "adc-joystick";
		io-channels = <&saradc 1>,
			      <&saradc 2>;
		poll-interval = <60>;
		#address-cells = <1>;
		#size-cells = <0>;

		axis@0 {
			reg = <0>;
			abs-flat = <10>;
			abs-fuzz = <10>;
			abs-range = <172 772>;
			linux,code = <ABS_X>;
		};

		axis@1 {
			reg = <1>;
			abs-flat = <10>;
			abs-fuzz = <10>;
			abs-range = <278 815>;
			linux,code = <ABS_Y>;
		};
	};

	battery: battery {
		compatible = "simple-battery";
		charge-full-design-microamp-hours = <3000000>;
		charge-term-current-microamp = <300000>;
		constant-charge-current-max-microamp = <2000000>;
		constant-charge-voltage-max-microvolt = <4200000>;
		factory-internal-resistance-micro-ohms = <180000>;
		voltage-max-design-microvolt = <4100000>;
		voltage-min-design-microvolt = <3500000>;

		ocv-capacity-celsius = <20>;
		ocv-capacity-table-0 =  <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
					<3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
					<3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
					<3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
					<3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
					<3574170 0>;
	};
};

&internal_display {
	compatible = "elida,kd35t133";
	iovcc-supply = <&vcc_lcd>;
	vdd-supply = <&vcc_lcd>;
};

&rk817_charger {
	monitored-battery = <&battery>;
};
