// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH
 */

/dts-v1/;
#include "rk3368-lion.dtsi"

/ {
	model = "Theobroma Systems RK3368-uQ7 Baseboard";
	compatible = "tsd,rk3368-lion-haikou", "rockchip,rk3368";

	aliases {
		mmc1 = &sdmmc;
	};

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

	i2cmux2 {
		i2c@0 {
			eeprom: eeprom@50 {
				compatible = "atmel,24c01";
				pagesize = <8>;
				reg = <0x50>;
			};
		};
	};

	leds {
		pinctrl-0 = <&module_led_pins>, <&sd_card_led_pin>;

		sd_card_led: led-3 {
			label = "sd_card_led";
			gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "mmc0";
		};
	};

	dc_12v: dc-12v {
		compatible = "regulator-fixed";
		regulator-name = "dc_12v";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};

	vcc3v3_baseboard: vcc3v3-baseboard {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_baseboard";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&dc_12v>;
	};

	vcc5v0_otg: vcc5v0-otg-regulator {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&otg_vbus_drv>;
		regulator-name = "vcc5v0_otg";
		regulator-always-on;
	};
};

&sdmmc {
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	cd-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
	disable-wp;
	max-frequency = <25000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
	rockchip,default-sample-phase = <90>;
	vmmc-supply = <&vcc3v3_baseboard>;
	status = "okay";
};

&spi2 {
	cs-gpios = <0>, <&gpio2 RK_PC3 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
	status = "okay";
};

&uart1 {
	/* alternate function of GPIO5/6 */
	status = "disabled";
};

&pinctrl {
	pinctrl-names = "default";
	pinctrl-0 = <&haikou_pin_hog>;

	hog {
		haikou_pin_hog: haikou-pin-hog {
			rockchip,pins =
				/* LID_BTN */
				<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
				/* BATLOW# */
				<0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>,
				/* SLP_BTN# */
				<3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
				/* BIOS_DISABLE# */
				<3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	leds {
		sd_card_led_pin: sd-card-led-pin {
			rockchip,pins =
				<0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	sdmmc {
		sdmmc_cd_pin: sdmmc-cd-pin {
			rockchip,pins =
				<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb_otg {
		otg_vbus_drv: otg-vbus-drv {
			rockchip,pins =
				<0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};
