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

/dts-v1/;
#include "rk3399-puma.dtsi"

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

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

	leds {
		pinctrl-0 = <&led_pin_module>, <&led_sd_haikou>;

		sd-card-led {
			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@0a {
		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>;
	status = "okay";
};

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

	hog {
		haikou_pin_hog: haikou-pin-hog {
			rockchip,pins =
			  /* LID_BTN */
			  <RK_GPIO0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* BATLOW# */
			  <RK_GPIO0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* SLP_BTN# */
			  <RK_GPIO0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
			  /* BIOS_DISABLE# */
			  <RK_GPIO0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	leds {
		led_sd_haikou: led-sd-gpio {
			rockchip,pins =
			  <RK_GPIO1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	usb2 {
		otg_vbus_drv: otg-vbus-drv {
			rockchip,pins =
			  <RK_GPIO0 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 = <150000000>;
	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";
	status = "okay";
};

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

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

&uart2 {
	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";
};
