// 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 {
		mmc0 = &mmc_0;
		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";
};
