// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include "rk3566-powkiddy-rk2023.dtsi"

/ {
	model = "Powkiddy RGB10MAX3";
	compatible = "powkiddy,rgb10max3", "rockchip,rk3566";
};

&bluetooth {
	compatible = "realtek,rtl8723ds-bt";
};

&cru {
	assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
			  <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
	assigned-clock-rates = <32768>, <1200000000>,
			       <200000000>, <126400000>;
};

&dsi0 {
	panel: panel@0 {
		compatible = "powkiddy,rgb10max3-panel";
		reg = <0>;
		backlight = <&backlight>;
		iovcc-supply = <&vcc3v3_lcd0_n>;
		pinctrl-0 = <&lcd_rst>;
		pinctrl-names = "default";
		reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
		rotation = <270>;
		vcc-supply = <&vcc3v3_lcd0_n>;

		port {
			mipi_in_panel: endpoint {
				remote-endpoint = <&mipi_out_panel>;
			};
		};
	};
};

&green_led {
	default-state = "on";
	function = LED_FUNCTION_POWER;
};

&i2c0 {
	vdd_cpu: regulator@40 {
		compatible = "fcs,fan53555";
		reg = <0x40>;
		fcs,suspend-voltage-selector = <1>;
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <712500>;
		regulator-max-microvolt = <1390000>;
		regulator-name = "vdd_cpu";
		regulator-ramp-delay = <2300>;
		vin-supply = <&vcc_sys>;
		regulator-state-mem {
			regulator-off-in-suspend;
		};
	};
};

&leds {
	amber_led: led-2 {
		color = <LED_COLOR_ID_AMBER>;
		function = LED_FUNCTION_CHARGING;
		max-brightness = <255>;
		pwms = <&pwm0 0 25000 0>;
	};
};

&pwm0 {
	pinctrl-0 = <&pwm0m1_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&red_led {
	default-state = "off";
	function = LED_FUNCTION_STATUS;
};
