Helios64 tweak (#2186)

* bsp: helios64: Add fancontrol

- Fancontrol configuration
- Udev rules for fan and temp sensor

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

* bsp: helios64: Enable heartbeat on system status led

The reason systemd service used instead of device tree modification, is
to give visual notification that the system is ready.

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

* armbian-hardware-optimization: SATA & 2.5GbE IRQ pinning on Helios64

- 2.5GbE USB LAN which is attached to XHCI, assigned to CPU4
- SATA controller assigned to CPU4 and CPU5

Signed-off-by: Aditya Prayoga <aditya@kobol.io>
This commit is contained in:
Aditya Prayoga
2020-09-07 16:17:57 +07:00
committed by GitHub
parent 59b53e6d1c
commit c242d07397
6 changed files with 66 additions and 1 deletions

View File

@@ -5,5 +5,5 @@ BOOTCONFIG="helios64_defconfig"
KERNEL_TARGET="legacy,current"
MODULES="lm75"
FULL_DESKTOP="yes"
PACKAGE_LIST_BOARD="mdadm i2c-tools"
PACKAGE_LIST_BOARD="mdadm i2c-tools fancontrol"
PACKAGE_LIST_BOARD_REMOVE="fake-hwclock"

View File

@@ -262,6 +262,10 @@ family_tweaks()
echo "auto lan0" >> $SDCARD/etc/network/interfaces
echo " iface lan0 inet dhcp" >> $SDCARD/etc/network/interfaces
elif [[ $BOARD == helios64 ]]; then
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable helios64-heartbeat-led.service >/dev/null 2>&1"
elif [[ -f $SDCARD/lib/systemd/system/rk3399-bluetooth.service ]]; then
# install and enable Bluetooth
@@ -306,6 +310,17 @@ family_tweaks_bsp()
cp $SRC/packages/bsp/helios64/70-keep-usb-lan-as-eth1.rules $destination/etc/udev/rules.d/
cp $SRC/packages/bsp/helios64/asound.conf $destination/etc/
install -m 755 $SRC/packages/bsp/helios64/disable_auto_poweron $destination/lib/systemd/system-shutdown/
### 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/
# copy fancontrol config
install -m 644 $SRC/packages/bsp/helios64/fancontrol.conf $destination/etc/fancontrol
# LED tweak
cp $SRC/packages/bsp/helios64/helios64-heartbeat-led.service $destination/etc/systemd/system/
fi
# Graphics and media

View File

@@ -219,6 +219,14 @@ prepare_board() {
if [ -f /sys/bus/platform/drivers/rockchip-dmc/dmc/devfreq/dmc/governor ]; then
echo performance > /sys/bus/platform/drivers/rockchip-dmc/dmc/devfreq/dmc/governor
fi
case ${BOARD_NAME} in
"Helios64")
echo 10 >/proc/irq/$(awk -F":" "/xhci/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity
for i in $(awk -F":" "/ahci/ {print \$1}" </proc/interrupts | sed 's/\ //g'); do
echo 30 >/proc/irq/$i/smp_affinity
done
;;
esac
;;
s500) # Roseapple Pi/LeMaker Guitar: send USB IRQs to cpu1/cpu2, DMA0 to cpu2 and Ethernet + SD card to cpu3
echo 2 >/proc/irq/$(awk -F":" "/usb1/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity

View File

@@ -0,0 +1,23 @@
# 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"
SUBSYSTEM!="hwmon", GOTO="helios64_hwmon_end"
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_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

@@ -0,0 +1,9 @@
# Helios64 PWM Fan Control Configuration
# Temp source : /dev/thermal-cpu
INTERVAL=10
FCTEMPS=/dev/fan-p6/pwm1=/dev/thermal-cpu/temp1_input /dev/fan-p7/pwm1=/dev/thermal-cpu/temp1_input
MINTEMP=/dev/fan-p6/pwm1=40 /dev/fan-p7/pwm1=40
MAXTEMP=/dev/fan-p6/pwm1=80 /dev/fan-p7/pwm1=80
MINSTART=/dev/fan-p6/pwm1=60 /dev/fan-p7/pwm1=60
MINSTOP=/dev/fan-p6/pwm1=29 /dev/fan-p7/pwm1=29
MINPWM=20

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Enable heartbeat led on Helios64
After=getty.target
[Service]
Type=oneshot
ExecStart=bash -c 'echo heartbeat | tee /sys/class/leds/helios64\:\:status/trigger'
[Install]
WantedBy=multi-user.target