Assign Fault LED, rework HDD power staggering, fix minor systemd service warning on Helios64 (#2204)

* Supress systemd service warning

* helios64: u-boot: staggered HDD power up

Set the delay to 10s in between turning on the next HDD power rails.
Remove the delay property from kernel device tree, let it only apply to
u-boot

Signed-off-by: Aditya Prayoga <aditya@kobol.io>

* helios64: fault LED as kernel panic indicator

also sync, u-boot dts

* helios64: fix hwmon udev rules

Legacy kernel (LK 4.4) has different class/naming on SoC Temp sensor.
Also fix typo on current/dev udev rules.
This commit is contained in:
Aditya Prayoga 2020-09-15 14:46:06 +07:00 committed by GitHub
parent ebc497ff6b
commit 6f6543c6f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 76 additions and 45 deletions

View File

@ -299,6 +299,7 @@ family_tweaks_bsp()
if [[ $BOARD == helios64 ]]; then
mkdir -p $destination/etc/udev/rules.d/
mkdir -p $destination/etc/systemd/system/fancontrol.service.d/
mkdir -p $destination/lib/systemd/system-shutdown/
cp $SRC/packages/bsp/helios64/50-usb-realtek-net.rules $destination/etc/udev/rules.d/
cp $SRC/packages/bsp/helios64/70-keep-usb-lan-as-eth1.rules $destination/etc/udev/rules.d/
@ -307,7 +308,13 @@ family_tweaks_bsp()
### Fancontrol tweaks
# copy hwmon rules to fix device mapping
install -m 644 $SRC/packages/bsp/helios64/90-helios64-hwmon.rules $destination/etc/udev/rules.d/
if [[ $BRANCH == legacy ]]; then
install -m 644 $SRC/packages/bsp/helios64/90-helios64-hwmon-legacy.rules $destination/etc/udev/rules.d/
else
install -m 644 $SRC/packages/bsp/helios64/90-helios64-hwmon.rules $destination/etc/udev/rules.d/
fi
install -m 644 $SRC/packages/bsp/helios64/fancontrol.service.pid-override $destination/etc/systemd/system/fancontrol.service.d/pid.conf
# copy fancontrol config
install -m 644 $SRC/packages/bsp/helios64/fancontrol.conf $destination/etc/fancontrol

View File

@ -0,0 +1,24 @@
# Helios64 persistent hwmon
ACTION=="remove", GOTO="helios64_hwmon_end"
#
KERNELS=="p6-fan", SUBSYSTEMS=="platform", ENV{_HELIOS64_FAN_}="p6", ENV{_IS_HELIOS64_FAN_}="1", ENV{IS_HELIOS64_HWMON}="1"
KERNELS=="p7-fan", SUBSYSTEMS=="platform", ENV{_HELIOS64_FAN_}="p7", ENV{_IS_HELIOS64_FAN_}="1", ENV{IS_HELIOS64_HWMON}="1"
KERNELS=="2-004c", SUBSYSTEMS=="i2c", DRIVERS=="lm75", ENV{IS_HELIOS64_HWMON}="1"
KERNELS=="thermal_zone0", SUBSYSTEMS=="thermal", ENV{IS_HELIOS64_HWMON}="1"
SUBSYSTEM!="hwmon|thermal", GOTO="helios64_hwmon_end"
ENV{HWMON_PATH}="/sys%p"
#
ATTR{type}=="soc-thermal", ENV{HWMON_PATH}="/sys%p/temp", ENV{HELIOS64_SYMLINK}="/dev/thermal-cpu/temp1_input", RUN+="/usr/bin/mkdir /dev/thermal-cpu/"
#
ENV{IS_HELIOS64_HWMON}=="1", ATTR{name}=="lm75", ENV{HELIOS64_SYMLINK}="/dev/thermal-board"
ENV{_IS_HELIOS64_FAN_}=="1", ENV{HELIOS64_SYMLINK}="/dev/fan-$env{_HELIOS64_FAN_}"
#
ENV{IS_HELIOS64_HWMON}=="1", RUN+="/bin/ln -sf $env{HWMON_PATH} $env{HELIOS64_SYMLINK}"
LABEL="helios64_hwmon_end"

View File

@ -13,7 +13,7 @@ ENV{HWMON_PATH}="/sys%p"
#
ATTR{name}=="cpu", ENV{IS_HELIOS64_HWMON}="1", ENV{HELIOS64_SYMLINK}="/dev/thermal-cpu"
#
ENV{IS_HELIOS64_HWMON}=="1", ATTR{name}=="lm75", ENV{HELIOS4_SYMLINK}="/dev/thermal-board"
ENV{IS_HELIOS64_HWMON}=="1", ATTR{name}=="lm75", ENV{HELIOS64_SYMLINK}="/dev/thermal-board"
ENV{_IS_HELIOS64_FAN_}=="1", ENV{HELIOS64_SYMLINK}="/dev/fan-$env{_HELIOS64_FAN_}"
#

View File

@ -0,0 +1,2 @@
[Service]
PIDFile=/run/fancontrol.pid

View File

@ -4,7 +4,7 @@ After=getty.target
[Service]
Type=oneshot
ExecStart=bash -c 'echo heartbeat | tee /sys/class/leds/helios64\:\:status/trigger'
ExecStart=bash -c 'echo heartbeat | tee /sys/class/leds/helios64\\:\\:status/trigger'
[Install]
WantedBy=multi-user.target

View File

@ -1,17 +1,17 @@
From 022ada1465cac946e17097ea3f9b9715f66494de Mon Sep 17 00:00:00 2001
From 20d538b02c0d5bb9faf4470a9c57ce4551b95564 Mon Sep 17 00:00:00 2001
From: Aditya Prayoga <aditya@kobol.io>
Date: Tue, 28 Jul 2020 11:30:39 +0700
Date: Fri, 11 Sep 2020 20:57:53 +0700
Subject: [PATCH] Add Helios64 board device tree
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3399-helios64.dts | 1260 +++++++++++++++++
2 files changed, 1261 insertions(+)
.../boot/dts/rockchip/rk3399-helios64.dts | 1257 +++++++++++++++++
2 files changed, 1258 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 270c0c62..adfa8211 100644
index dbebbf9fe..2b1e29649 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -14,6 +14,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
@ -24,10 +24,10 @@ index 270c0c62..adfa8211 100644
dtb-$(CONFIG_ARCH_ROCKCHIP) += \
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
new file mode 100644
index 00000000..d4248a01
index 000000000..51462db75
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
@@ -0,0 +1,1259 @@
@@ -0,0 +1,1257 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
@ -281,7 +281,6 @@ index 00000000..d4248a01
+ regulator-name = "power_hdd_a";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2000000>;
+ };
+
+ power_hdd_b: power-hdd-b {
@ -293,7 +292,6 @@ index 00000000..d4248a01
+ regulator-name = "power_hdd_b";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2000000>;
+ };
+
+ usblan_power: usblan-power {

View File

@ -1,20 +1,20 @@
From c2dafa427696ae0edd9f1348a00e90a22edddace Mon Sep 17 00:00:00 2001
From ce21ecd70dc2432e2f8aaf063e9c123980f5844c Mon Sep 17 00:00:00 2001
From: Aditya Prayoga <aditya@kobol.io>
Date: Mon, 3 Aug 2020 02:53:02 +0700
Date: Mon, 14 Sep 2020 08:36:32 +0700
Subject: [PATCH] Add board Helios64
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3399-helios64.dts | 1080 +++++++++++++++++
2 files changed, 1081 insertions(+)
.../boot/dts/rockchip/rk3399-helios64.dts | 1079 +++++++++++++++++
2 files changed, 1080 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 06ddfb869..b8a273c91 100644
index 473e14e12..b8e6e86e0 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb
@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-inx.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-kd.dtb
@ -24,10 +24,10 @@ index 06ddfb869..b8a273c91 100644
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-captain.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
new file mode 100644
index 000000000..342589131
index 000000000..5f47b2556
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-helios64.dts
@@ -0,0 +1,1081 @@
@@ -0,0 +1,1079 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
@ -244,7 +244,6 @@ index 000000000..342589131
+ regulator-name = "power_hdd_a";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2000000>;
+ };
+
+ power_hdd_b: power-hdd-b {
@ -256,7 +255,6 @@ index 000000000..342589131
+ regulator-name = "power_hdd_b";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2000000>;
+ };
+
+ usblan_power: usblan-power {
@ -418,7 +416,7 @@ index 000000000..342589131
+ fault-led {
+ label = "helios64:red:fault";
+ gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "none";
+ linux,default-trigger = "panic";
+ default-state = "keep";
+ mode = <0x23>;
+ };

View File

@ -1,13 +1,13 @@
From 469211a4113729a93e64448cf9726973d1a9b2e6 Mon Sep 17 00:00:00 2001
From 89fcfe49a259d7f8a21bd88c8a7ebab651bb4417 Mon Sep 17 00:00:00 2001
From: Aditya Prayoga <aditya@kobol.io>
Date: Mon, 7 Sep 2020 17:54:51 +0700
Date: Mon, 14 Sep 2020 08:31:22 +0700
Subject: [PATCH] Patching something
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
---
arch/arm/dts/Makefile | 1 +
arch/arm/dts/rk3399-helios64-u-boot.dtsi | 130 +++
arch/arm/dts/rk3399-helios64.dts | 1149 ++++++++++++++++++++++
arch/arm/dts/rk3399-helios64-u-boot.dtsi | 134 +++
arch/arm/dts/rk3399-helios64.dts | 1147 ++++++++++++++++++++++
arch/arm/mach-rockchip/rk3399/Kconfig | 17 +
board/kobol/helios64/Kconfig | 24 +
board/kobol/helios64/MAINTAINERS | 6 +
@ -17,7 +17,7 @@ Signed-off-by: Aditya Prayoga <aditya@kobol.io>
board/kobol/helios64/sys_otp.h | 10 +
configs/helios64-rk3399_defconfig | 149 +++
include/configs/helios64.h | 47 +
12 files changed, 2048 insertions(+)
12 files changed, 2050 insertions(+)
create mode 100644 arch/arm/dts/rk3399-helios64-u-boot.dtsi
create mode 100644 arch/arm/dts/rk3399-helios64.dts
create mode 100644 board/kobol/helios64/Kconfig
@ -30,7 +30,7 @@ Signed-off-by: Aditya Prayoga <aditya@kobol.io>
create mode 100644 include/configs/helios64.h
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 530d60bfc..d9fd6cf1c 100644
index 530d60bf..d9fd6cf1 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -122,6 +122,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
@ -43,10 +43,10 @@ index 530d60bfc..d9fd6cf1c 100644
rk3399-khadas-edge-v.dtb \
diff --git a/arch/arm/dts/rk3399-helios64-u-boot.dtsi b/arch/arm/dts/rk3399-helios64-u-boot.dtsi
new file mode 100644
index 000000000..27ea5eaa9
index 00000000..db362d44
--- /dev/null
+++ b/arch/arm/dts/rk3399-helios64-u-boot.dtsi
@@ -0,0 +1,130 @@
@@ -0,0 +1,134 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
@ -163,6 +163,10 @@ index 000000000..27ea5eaa9
+ };
+};
+
+&power_hdd_a {
+ startup-delay-us = <10000000>;
+};
+
+&spi1 {
+ spiflash: flash@0 {
+ compatible = "jedec,spi-nor";
@ -179,10 +183,10 @@ index 000000000..27ea5eaa9
+};
diff --git a/arch/arm/dts/rk3399-helios64.dts b/arch/arm/dts/rk3399-helios64.dts
new file mode 100644
index 000000000..d5f1df674
index 00000000..c4fedbf0
--- /dev/null
+++ b/arch/arm/dts/rk3399-helios64.dts
@@ -0,0 +1,1149 @@
@@ -0,0 +1,1147 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
@ -405,7 +409,6 @@ index 000000000..d5f1df674
+ regulator-name = "power_hdd_a";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2500000>;
+ };
+
+ power_hdd_b: power-hdd-b {
@ -417,7 +420,6 @@ index 000000000..d5f1df674
+ regulator-name = "power_hdd_b";
+ regulator-always-on;
+ regulator-boot-on;
+ startup-delay-us = <2500000>;
+ };
+
+ usblan_power: usblan-power {
@ -578,7 +580,7 @@ index 000000000..d5f1df674
+ fault-led {
+ label = "helios64:red:fault";
+ gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "none";
+ linux,default-trigger = "panic";
+ default-state = "keep";
+ mode = <0x23>;
+ };
@ -1333,7 +1335,7 @@ index 000000000..d5f1df674
+ status = "okay";
+};
diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
index 254b9c5b4..5f89bf6eb 100644
index 254b9c5b..5f89bf6e 100644
--- a/arch/arm/mach-rockchip/rk3399/Kconfig
+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
@@ -26,6 +26,22 @@ config TARGET_PINEBOOK_PRO_RK3399
@ -1369,7 +1371,7 @@ index 254b9c5b4..5f89bf6eb 100644
source "board/rockchip/evb_rk3399/Kconfig"
diff --git a/board/kobol/helios64/Kconfig b/board/kobol/helios64/Kconfig
new file mode 100644
index 000000000..644cdbd8f
index 00000000..644cdbd8
--- /dev/null
+++ b/board/kobol/helios64/Kconfig
@@ -0,0 +1,24 @@
@ -1399,7 +1401,7 @@ index 000000000..644cdbd8f
+endif
diff --git a/board/kobol/helios64/MAINTAINERS b/board/kobol/helios64/MAINTAINERS
new file mode 100644
index 000000000..a9c88c79e
index 00000000..a9c88c79
--- /dev/null
+++ b/board/kobol/helios64/MAINTAINERS
@@ -0,0 +1,6 @@
@ -1411,7 +1413,7 @@ index 000000000..a9c88c79e
+F: configs/helios64_defconfig
diff --git a/board/kobol/helios64/Makefile b/board/kobol/helios64/Makefile
new file mode 100644
index 000000000..ab34245a6
index 00000000..ab34245a
--- /dev/null
+++ b/board/kobol/helios64/Makefile
@@ -0,0 +1,5 @@
@ -1422,7 +1424,7 @@ index 000000000..ab34245a6
+obj-y := helios64.o sys_otp.o
diff --git a/board/kobol/helios64/helios64.c b/board/kobol/helios64/helios64.c
new file mode 100644
index 000000000..c7a0efa49
index 00000000..c7a0efa4
--- /dev/null
+++ b/board/kobol/helios64/helios64.c
@@ -0,0 +1,262 @@
@ -1690,7 +1692,7 @@ index 000000000..c7a0efa49
+#endif
diff --git a/board/kobol/helios64/sys_otp.c b/board/kobol/helios64/sys_otp.c
new file mode 100644
index 000000000..3a2783464
index 00000000..3a278346
--- /dev/null
+++ b/board/kobol/helios64/sys_otp.c
@@ -0,0 +1,248 @@
@ -1944,7 +1946,7 @@ index 000000000..3a2783464
+}
diff --git a/board/kobol/helios64/sys_otp.h b/board/kobol/helios64/sys_otp.h
new file mode 100644
index 000000000..61f6f3b38
index 00000000..61f6f3b3
--- /dev/null
+++ b/board/kobol/helios64/sys_otp.h
@@ -0,0 +1,10 @@
@ -1960,7 +1962,7 @@ index 000000000..61f6f3b38
+#endif
diff --git a/configs/helios64-rk3399_defconfig b/configs/helios64-rk3399_defconfig
new file mode 100644
index 000000000..622100551
index 00000000..62210055
--- /dev/null
+++ b/configs/helios64-rk3399_defconfig
@@ -0,0 +1,149 @@
@ -2115,7 +2117,7 @@ index 000000000..622100551
+CONFIG_HEXDUMP=y
diff --git a/include/configs/helios64.h b/include/configs/helios64.h
new file mode 100644
index 000000000..6fca9a6be
index 00000000..6fca9a6b
--- /dev/null
+++ b/include/configs/helios64.h
@@ -0,0 +1,47 @@