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

/dts-v1/;
#include "rk3399-puma.dtsi"
#include <dt-bindings/input/input.h>

/ {
	model = "Theobroma Systems RK3399-Q7 SoM";
	compatible = "tsd,rk3399-puma-haikou", "rockchip,rk3399";

	aliases {
		mmc1 = &sdmmc;
	};

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

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&haikou_keys_pin>;
		pinctrl-names = "default";

		button-batlow-n {
			gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
			label = "BATLOW#";
			linux,code = <KEY_BATTERY>;
		};

		button-slp-btn-n {
			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
			label = "SLP_BTN#";
			linux,code = <KEY_SLEEP>;
		};

		button-wake-n {
			gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_LOW>;
			label = "WAKE#";
			linux,code = <KEY_WAKEUP>;
			wakeup-source;
		};

		switch-lid-btn-n {
			gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
			label = "LID_BTN#";
			linux,code = <SW_LID>;
			linux,input-type = <EV_SW>;
		};
	};

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

		sd_card_led: led-1 {
			label = "sd_card_led";
			gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "mmc0";
		};
	};

	i2s0-sound {
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,name = "Haikou,I2S-codec";
		simple-audio-card,mclk-fs = <512>;

		simple-audio-card,codec {
			clocks = <&sgtl5000_clk>;
			sound-dai = <&sgtl5000>;
		};

		simple-audio-card,cpu {
			bitclock-master;
			frame-master;
			sound-dai = <&i2s0>;
		};
	};

	sgtl5000_clk: sgtl5000-oscillator  {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <24576000>;
	};

	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_baseboard: vcc5v0-baseboard {
		compatible = "regulator-fixed";
		regulator-name = "vcc5v0_baseboard";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&dc_12v>;
	};

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

	vdda_codec: vdda-codec {
		compatible = "regulator-fixed";
		regulator-name = "vdda_codec";
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc5v0_baseboard>;
	};

	vddd_codec: vddd-codec {
		compatible = "regulator-fixed";
		regulator-name = "vddd_codec";
		regulator-boot-on;
		regulator-min-microvolt = <1600000>;
		regulator-max-microvolt = <1600000>;
		vin-supply = <&vcc5v0_baseboard>;
	};
};

&hdmi {
	ddc-i2c-bus = <&i2c3>;
	status = "okay";
};

&i2c1 {
	status = "okay";
	clock-frequency = <400000>;
};

&i2c2 {
	status = "okay";
	clock-frequency = <400000>;
};

&i2c3 {
	i2c-scl-rising-time-ns = <450>;
	i2c-scl-falling-time-ns = <15>;
	status = "okay";
};

&i2c4 {
	status = "okay";
	clock-frequency = <400000>;

	sgtl5000: codec@a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		clocks = <&sgtl5000_clk>;
		#sound-dai-cells = <0>;
		VDDA-supply = <&vdda_codec>;
		VDDIO-supply = <&vdda_codec>;
		VDDD-supply = <&vddd_codec>;
		status = "okay";
	};
};

&i2c6 {
	status = "okay";
	clock-frequency = <400000>;
};

&pcie_phy {
	status = "okay";
};

&pcie0 {
	ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
	num-lanes = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie_clkreqn_cpm>;
	vpcie3v3-supply = <&vcc3v3_baseboard>;
	vpcie12v-supply = <&dc_12v>;
	status = "okay";
};

&pinctrl {
	buttons {
		haikou_keys_pin: haikou-keys-pin {
			rockchip,pins =
			  /* LID_BTN */
			  <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* BATLOW# */
			  <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* SLP_BTN# */
			  <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* WAKE# */
			  <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

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

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

&pwm0 {
	status = "okay";
};

&sdmmc {
	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
	disable-wp;
	max-frequency = <40000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
	vmmc-supply = <&vcc3v3_baseboard>;
	status = "okay";
};

&spi5 {
	status = "okay";
};

&tcphy0 {
	status = "okay";
};

&u2phy0 {
	status = "okay";
};

&usbdrd3_0 {
	status = "okay";
};

&usbdrd_dwc3_0 {
	dr_mode = "otg";
	extcon = <&extcon_usb3>;
	status = "okay";
};

&u2phy0_host {
	phy-supply = <&vcc5v0_otg>;
	status = "okay";
};

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

&uart2 {
	rts-gpios = <&gpio2 RK_PC3 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};

&vopb {
	status = "okay";
};

&vopb_mmu {
	status = "okay";
};

&vopl {
	status = "okay";
};

&vopl_mmu {
	status = "okay";
};
