// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
 */

/dts-v1/;
#include "rk3308.dtsi"

/ {
	model = "Firefly ROC-RK3308-CC board";
	compatible = "firefly,roc-rk3308-cc", "rockchip,rk3308";

	aliases {
		mmc0 = &sdmmc;
		mmc1 = &emmc;
	};

	chosen {
		stdout-path = "serial2:1500000n8";
	};

	ir_rx {
		compatible = "gpio-ir-receiver";
		gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&ir_recv_pin>;
	};

	ir_tx {
		compatible = "pwm-ir-tx";
		pwms = <&pwm5 0 25000 0>;
	};

	leds {
		compatible = "gpio-leds";

		power_led: led-0 {
			label = "firefly:red:power";
			linux,default-trigger = "ir-power-click";
			default-state = "on";
			gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
		};

		user_led: led-1 {
			label = "firefly:blue:user";
			linux,default-trigger = "ir-user-click";
			default-state = "off";
			gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
		};
	};

	typec_vcc5v: typec-vcc5v {
		compatible = "regulator-fixed";
		regulator-name = "typec_vcc5v";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vcc5v0_sys: vcc5v0-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc5v0_sys";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&typec_vcc5v>;
	};

	vcc_io: vcc-io {
		compatible = "regulator-fixed";
		regulator-name = "vcc_io";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&vcc5v0_sys>;
	};

	vcc_sdmmc: vcc-sdmmc {
		compatible = "regulator-gpio";
		regulator-name = "vcc_sdmmc";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
		states = <1800000 0x0>,
			 <3300000 0x1>;
		vin-supply = <&vcc5v0_sys>;
	};

	vcc_sd: vcc-sd {
		compatible = "regulator-fixed";
		gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
		regulator-name = "vcc_sd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
		vim-supply = <&vcc_io>;
	};

	vdd_core: vdd-core {
		compatible = "pwm-regulator";
		pwms = <&pwm0 0 5000 1>;
		regulator-name = "vdd_core";
		regulator-min-microvolt = <827000>;
		regulator-max-microvolt = <1340000>;
		regulator-init-microvolt = <1015000>;
		regulator-settling-time-up-us = <250>;
		regulator-always-on;
		regulator-boot-on;
		pwm-supply = <&vcc5v0_sys>;
	};

	vdd_log: vdd-log {
		compatible = "regulator-fixed";
		regulator-name = "vdd_log";
		regulator-min-microvolt = <1050000>;
		regulator-max-microvolt = <1050000>;
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&vcc5v0_sys>;
	};
};

&cpu0 {
	cpu-supply = <&vdd_core>;
};

&emmc {
	cap-mmc-highspeed;
	mmc-hs200-1_8v;
	non-removable;
	status = "okay";
};

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

	rtc: rtc@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
		#clock-cells = <0>;
	};
};

&pwm5 {
	status = "okay";
	pinctrl-names = "active";
	pinctrl-0 = <&pwm5_pin_pull_down>;
};

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

	ir-receiver {
		ir_recv_pin: ir-recv-pin  {
			rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	buttons {
		pwr_key: pwr-key {
			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};
};

&pwm0 {
	status = "okay";
	pinctrl-0 = <&pwm0_pin_pull_down>;
};

&sdmmc {
	cap-mmc-highspeed;
	cap-sd-highspeed;
	card-detect-delay = <300>;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc_sd>;
	vqmmc-supply = <&vcc_sdmmc>;
	status = "okay";
};

&uart2 {
	status = "okay";
};
