linux/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b-v2.1.dts

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

/dts-v1/;

#include "rk3566-orangepi-3b.dtsi"

/ {
	model = "Xunlong Orange Pi 3B v2.1";
	compatible = "xunlong,orangepi-3b-v2.1", "xunlong,orangepi-3b", "rockchip,rk3566";

	vccio_phy1: regulator-1v8-vccio-phy {
		compatible = "regulator-fixed";
		regulator-name = "vccio_phy1";
		regulator-always-on;
		regulator-boot-on;
		regulator-max-microvolt = <1800000>;
		regulator-min-microvolt = <1800000>;
	};
};

&pmu_io_domains {
	vccio5-supply = <&vccio_phy1>;
};

&gmac1 {
	phy-handle = <&rgmii_phy1>;
	status = "okay";
};

&mdio1 {
	rgmii_phy1: ethernet-phy@1 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <1>;
		reset-assert-us = <20000>;
		reset-deassert-us = <50000>;
		reset-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
	};
};

&sdmmc1 {
	#address-cells = <1>;
	#size-cells = <0>;

	brcmf: wifi@1 {
		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
		reg = <1>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PD6 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wake";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_wake_host_h>;
	};
};

&uart1 {
	bluetooth {
		compatible = "brcm,bcm4345c5";
		clocks = <&rk809 1>;
		clock-names = "lpo";
		interrupt-parent = <&gpio2>;
		interrupts = <RK_PC0 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "host-wakeup";
		device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&bt_reg_on_h &bt_wake_host_h &host_wake_bt_h>;
		vbat-supply = <&vcc_3v3>;
		vddio-supply = <&vcc_1v8>;
	};
};