// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * FriendlyElec NanoPC-T4 board device tree source
 *
 * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
 * (http://www.friendlyarm.com)
 *
 * Copyright (c) 2018 Collabora Ltd.
 *
 * Copyright (c) 2020 Jensen Huang <jensenhuang@friendlyarm.com>
 * Copyright (c) 2020 Marty Jones <mj8263788@gmail.com>
 * Copyright (c) 2021 Tianling Shen <cnsztl@gmail.com>
 */

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

/ {
	model = "FriendlyElec NanoPi R4S";
	compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";

	/delete-node/ display-subsystem;

	gpio-leds {
		pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;

		/delete-node/ led-0;

		lan_led: led-lan {
			gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
			label = "green:lan";
		};

		sys_led: led-sys {
			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
			label = "red:power";
			default-state = "on";
		};

		wan_led: led-wan {
			gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
			label = "green:wan";
		};
	};

	gpio-keys {
		pinctrl-0 = <&reset_button_pin>;

		/delete-node/ key-power;

		key-reset {
			debounce-interval = <50>;
			gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
			label = "reset";
			linux,code = <KEY_RESTART>;
		};
	};

	vdd_5v: vdd-5v {
		compatible = "regulator-fixed";
		regulator-name = "vdd_5v";
		regulator-always-on;
		regulator-boot-on;
	};
};

&emmc_phy {
	status = "disabled";
};

&i2c4 {
	status = "disabled";
};

&pcie0 {
	max-link-speed = <1>;
	num-lanes = <1>;
	vpcie3v3-supply = <&vcc3v3_sys>;
};

&pinctrl {
	gpio-leds {
		/delete-node/ status-led-pin;

		lan_led_pin: lan-led-pin {
			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		sys_led_pin: sys-led-pin {
			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		wan_led_pin: wan-led-pin {
			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	rockchip-key {
		/delete-node/ power-key;

		reset_button_pin: reset-button-pin {
			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};
};

&sdhci {
	status = "disabled";
};

&sdio0 {
	status = "disabled";
};

&u2phy0_host {
	phy-supply = <&vdd_5v>;
};

&u2phy1_host {
	status = "disabled";
};

&uart0 {
	status = "disabled";
};

&usbdrd_dwc3_0 {
	dr_mode = "host";
};

&vcc3v3_sys {
	vin-supply = <&vcc5v0_sys>;
};