mirror of
https://github.com/armbian/build.git
synced 2026-01-06 09:58:46 -08:00
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:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
23
packages/bsp/helios64/90-helios64-hwmon.rules
Executable file
23
packages/bsp/helios64/90-helios64-hwmon.rules
Executable 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"
|
||||
|
||||
9
packages/bsp/helios64/fancontrol.conf
Normal file
9
packages/bsp/helios64/fancontrol.conf
Normal 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
|
||||
10
packages/bsp/helios64/helios64-heartbeat-led.service
Normal file
10
packages/bsp/helios64/helios64-heartbeat-led.service
Normal 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
|
||||
Reference in New Issue
Block a user