The CPLD is the communications medium between the CPU and the XMOS
"Xena" event coprocessor. It provides a mailbox communication feature,
along with dual-port RAM to be used between the CPU and XMOS. Also, it
provides basic board stats as well, such as PCIe presence, JTAG signals,
and CPU fan speed reporting (in revolutions per second). Only fan speed
is implemented, as a sysctl.
Details
Details
- Reviewers
bdragon - Group Reviewers
PowerPC - Commits
- rS356899: PowerPC: Add CPLD driver for AmigaOne X5000
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Fix the build. Last minute splitting of the driver out to have a header before submitting, but didn't build test first.
Comment Actions
cpld0: <AmigaOne Cyrus CPLD> mem 0x4000000002010000-0x400000000201ffff on lbc0
cpld0: Build date: 2015-05-06
cpld0: Build time: 17:17:17
cpld0: Hardware revision: 8720
sys/powerpc/amigaone/cpld_x5000.c | ||
---|---|---|
192 ↗ | (On Diff #66640) | + mda.mda_si_drv1 = sc; |
Comment Actions
Stash off the softc in the cdev. It might be helpful to *not* dereference a
NULL pointer.
sys/powerpc/amigaone/cpld.h | ||
---|---|---|
10 ↗ | (On Diff #66947) | I think you accidentally joined in your license template, this line is twice as long as it should be in both files. |
Comment Actions
Works on my X5000, and looks good to me (other than needing to add that missing newline in the license in both cases)
cpld0: <AmigaOne Cyrus CPLD> mem 0x4000000002010000-0x400000000201ffff on lbc0 cpld0: Build date: 2015-05-06 cpld0: Build time: 17:17:17 cpld0: Hardware revision: 8720
root@:~ # sysctl dev.cpld dev.cpld.0.cpu_fan: 2700 dev.cpld.0.%parent: lbc0 dev.cpld.0.%pnpinfo: dev.cpld.0.%location: dev.cpld.0.%driver: cpld dev.cpld.0.%desc: AmigaOne Cyrus CPLD dev.cpld.%parent: