37 lines
1.1 KiB
INI
37 lines
1.1 KiB
INI
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# Config for Raspberry Pi 5 used as a bitbang adapter.
|
|
# https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
|
|
|
|
# Raspberry Pi 5 is not compatible with bcm2835gpio native GPIO driver.
|
|
# The linuxgpiod driver without configurable adapter speed runs at approximately
|
|
# 800 kHz (SWD writes) and 360 kHz (SWD reads)
|
|
|
|
adapter driver linuxgpiod
|
|
|
|
proc read_file { name } {
|
|
if {[catch {open $name r} fd]} {
|
|
return ""
|
|
}
|
|
set result [read $fd]
|
|
close $fd
|
|
return $result
|
|
}
|
|
|
|
proc find_rp1_alias {} {
|
|
foreach f [glob -directory "/proc/device-tree/aliases" "gpio\[0-9\]"] {
|
|
if {[string match "*/rp1/*" [read_file $f]]} {
|
|
return $f
|
|
}
|
|
}
|
|
}
|
|
|
|
set pcie_aspm [read_file /sys/module/pcie_aspm/parameters/policy]
|
|
if {![string match {*\[performance\]*} $pcie_aspm]} {
|
|
echo "Warn : Switch PCIe power saving off or the first couple of pulses gets clocked as fast as 20 MHz"
|
|
echo "Warn : Issue 'echo performance | sudo tee /sys/module/pcie_aspm/parameters/policy'"
|
|
}
|
|
|
|
set GPIO_CHIP [string index [find_rp1_alias] end]
|
|
source [find interface/raspberrypi-gpio-connector.cfg]
|