// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung Galaxy A8 2018 (jackpotlte/SM-A530F) device tree source
 *
 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
 * Copyright (c) 2021 Dávid Virág
 */

/dts-v1/;
#include "exynos7885.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	model = "Samsung Galaxy A8 (2018)";
	compatible = "samsung,jackpotlte", "samsung,exynos7885";
	chassis-type = "handset";

	aliases {
		serial0 = &serial_0;
		serial1 = &serial_1;
		serial2 = &serial_2;
	};

	chosen {
		stdout-path = &serial_2;
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x3da00000>,
		      <0x0 0xc0000000 0x40000000>,
		      <0x8 0x80000000 0x40000000>;
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&key_volup &key_voldown &key_power>;

		volup-key {
			label = "Volume Up";
			linux,code = <KEY_VOLUMEUP>;
			gpios = <&gpa1 5 GPIO_ACTIVE_LOW>;
		};

		voldown-key {
			label = "Volume Down";
			linux,code = <KEY_VOLUMEDOWN>;
			gpios = <&gpa1 6 GPIO_ACTIVE_LOW>;
		};

		power-key {
			label = "Power";
			linux,code = <KEY_POWER>;
			gpios = <&gpa1 7 GPIO_ACTIVE_LOW>;
			wakeup-source;
		};
	};
};

&mmc_0 {
	status = "okay";
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
	cap-mmc-highspeed;
	non-removable;
	mmc-hs400-enhanced-strobe;
	card-detect-delay = <200>;
	clock-frequency = <800000000>;
	bus-width = <8>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <0 4>;
	samsung,dw-mshc-ddr-timing = <2 4>;
	samsung,dw-mshc-hs400-timing = <0 2>;

	pinctrl-names = "default";
	pinctrl-0 = <&sd0_clk_fast_slew_rate_3x &sd0_cmd &sd0_rdqs
		     &sd0_bus1 &sd0_bus4 &sd0_bus8>;
};

&oscclk {
	clock-frequency = <26000000>;
};

&pinctrl_alive {
	key_volup: key-volup-pins {
		samsung,pins = "gpa1-5";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	key_voldown: key-voldown-pins {
		samsung,pins = "gpa1-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	key_power: key-power-pins {
		samsung,pins = "gpa1-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};
};

&serial_2 {
	status = "okay";
};
