// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) Christian Hewitt <christianshewitt@gmail.com>
 */

/dts-v1/;

#include "meson-gxl-s905d.dtsi"
#include "meson-gx-p23x-q20x.dtsi"
#include <dt-bindings/leds/common.h>

/ {
	compatible = "smartlabs,sml5442tw", "amlogic,s905d", "amlogic,meson-gxl";
	model = "SmartLabs SML-5442TW";

	leds {
		compatible = "gpio-leds";

		yellow {
			color = <LED_COLOR_ID_YELLOW>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue {
			color = <LED_COLOR_ID_BLUE>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio GPIODV_28 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green {
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

		red {
			color = <LED_COLOR_ID_RED>;
			function = LED_FUNCTION_STATUS;
			gpios = <&gpio GPIODV_27 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};
};

&ethmac {
	status = "okay";
	phy-mode = "rmii";
	phy-handle = <&internal_phy>;
};

&i2c_A {
	status = "okay";
	pinctrl-0 = <&i2c_a_pins>;
	pinctrl-names = "default";
};

&internal_phy {
	pinctrl-0 = <&eth_link_led_pins>, <&eth_act_led_pins>;
	pinctrl-names = "default";
};

/* This is connected to the Bluetooth module: */
&uart_A {
	status = "okay";
	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
	pinctrl-names = "default";
	uart-has-rtscts;

	bluetooth {
		compatible = "qcom,qca9377-bt";
		enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
		max-speed = <2000000>;
		clocks = <&wifi32k>;
		clock-names = "lpo";
	};
};
