152 lines
3.3 KiB
Plaintext
152 lines
3.3 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
|
|
/*
|
|
* Device tree overlay for TS433 board PCBs-12-10 revision.
|
|
*
|
|
* Copyright (C) 2025 Heiko Stuebner <heiko@sntech.de>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
/plugin/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
&{/} {
|
|
/*
|
|
* The default hardware-state of this gpio causes the drive
|
|
* to be already running when entering the kernel.
|
|
* regulator-boot-on is needed to prevent one additional
|
|
* power-cycle on the drive.
|
|
*
|
|
* With regulator-boot-on we get the expected 1 cycle
|
|
* per boot, without it we end up with 2 cycles as seen
|
|
* via smartctl.
|
|
*/
|
|
hdd1_pwr: regulator-hdd1-power {
|
|
compatible = "regulator-fixed";
|
|
gpio = <&gpio0 RK_PC2 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdd1_power_pin>;
|
|
regulator-name = "hdd1-power";
|
|
regulator-boot-on;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
hdd2_pwr: regulator-hdd2-power {
|
|
compatible = "regulator-fixed";
|
|
gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdd2_power_pin>;
|
|
regulator-name = "hdd2-power";
|
|
regulator-boot-on;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
/*
|
|
* HDD3+4 are connected to ports of the PCIe SATA controller.
|
|
* Currently there is no way to attach those, so keep them
|
|
* always on.
|
|
*/
|
|
hdd3_pwr: regulator-hdd3-power {
|
|
compatible = "regulator-fixed";
|
|
gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdd3_power_pin>;
|
|
regulator-name = "hdd3-power";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
|
|
hdd4_pwr: regulator-hdd4-power {
|
|
compatible = "regulator-fixed";
|
|
gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdd4_power_pin>;
|
|
regulator-name = "hdd4-power";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
vin-supply = <&dc_12v>;
|
|
};
|
|
};
|
|
|
|
&gpio2 {
|
|
hdd1-present-hog {
|
|
gpios = <RK_PA2 GPIO_ACTIVE_LOW>;
|
|
gpio-hog;
|
|
input;
|
|
line-name = "hdd1-present";
|
|
};
|
|
|
|
hdd2-present-hog {
|
|
gpios = <RK_PA1 GPIO_ACTIVE_LOW>;
|
|
gpio-hog;
|
|
input;
|
|
line-name = "hdd2-present";
|
|
};
|
|
|
|
hdd3-present-hog {
|
|
gpios = <RK_PD0 GPIO_ACTIVE_LOW>;
|
|
gpio-hog;
|
|
input;
|
|
line-name = "hdd3-present";
|
|
};
|
|
|
|
hdd4-present-hog {
|
|
gpios = <RK_PD1 GPIO_ACTIVE_LOW>;
|
|
gpio-hog;
|
|
input;
|
|
line-name = "hdd4-present";
|
|
};
|
|
};
|
|
|
|
&pinctrl {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hdd1_present_pin &hdd2_present_pin &hdd3_present_pin
|
|
&hdd4_present_pin>;
|
|
|
|
hdd-power {
|
|
hdd1_power_pin: hdd1-power-pin {
|
|
rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
hdd2_power_pin: hdd2-power-pin {
|
|
rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
hdd3_power_pin: hdd3-power-pin {
|
|
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
|
|
hdd4_power_pin: hdd4-power-pin {
|
|
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
};
|
|
};
|
|
|
|
hdd-present {
|
|
hdd1_present_pin: hdd1-present-pin {
|
|
rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
|
|
hdd2_present_pin: hdd2-present-pin {
|
|
rockchip,pins = <2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
|
|
hdd3_present_pin: hdd3-present-pin {
|
|
rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
|
|
hdd4_present_pin: hdd4-present-pin {
|
|
rockchip,pins = <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&sata1_port0 {
|
|
target-supply = <&hdd2_pwr>;
|
|
};
|
|
|
|
&sata2_port0 {
|
|
target-supply = <&hdd1_pwr>;
|
|
};
|